PREFIX iot:
# PREFIX cloud:
PREFIX cloud:
PREFIX xsd:
PREFIX sosa:
PREFIX Map:
PREFIX inter:
BASE
start=@<#Payload>
<#Payload> {
a [sosa:Observation] ;
sosa:madeBySensor {
inter:hasUser {
a [inter:User] ;
inter:hasName xsd:string %Map:{ regex(/"(?[a-zA-Z]+) (?[a-zA-Z]+)"/) %} ;
inter:hasLocalId xsd:string %Map:{ cloud:userId %}
}
} %Map:{ cloud:deviceId %} ;
sosa:hasResult {
a [sosa:Result] ;
[] ;
xsd:float %Map:{ cloud:hasWeight %} ;
}
}
# IPSM processes inject stuff in metadata graph. It's included here
# for documentation but the values in it are not associated populated
# by ShExMap.
# Message = Metadata + Payload
<#ObservationMessage> {
@<#Metadata> ;
@<#Payload> ;
}
<#Metadata> {
a [iot:Thing_Update iot:meta] ;
# iot:conversationID xsd:string %Map:{ iot:conversationID %} ;
# iot:dateTimeStamp xsd:dateTime %Map:{ iot:dateTimeStamp %} ;
# iot:messageID xsd:string %Map:{ iot:messageID %}
}