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 %} }