@prefix sh: . @prefix ex: . @prefix dct: . @prefix xsd: . @prefix foaf: . ex:ParticipantShape a sh:NodeShape ; sh:targetClass ex:Participant ; sh:property [ sh:path foaf:name ; sh:datatype xsd:string ; sh:minCount 1 ; sh:message "Participant must have a name." ] ; sh:property [ sh:path dct:identifier ; sh:datatype xsd:string ; sh:minCount 1 ; sh:maxCount 1 ; sh:message "Participant must have exactly one identifier." ] . ex:ResourceOfferingShape a sh:NodeShape ; sh:targetClass ex:ResourceOffering ; sh:property [ sh:path dct:title ; sh:datatype xsd:string ; sh:minCount 1 ; sh:message "Resource offering must have a title." ] ; sh:property [ sh:path dct:description ; sh:datatype xsd:string ; sh:minCount 1 ; sh:message "Resource offering must have a description." ] ; sh:property [ sh:path ex:providedBy ; sh:class ex:Participant ; sh:minCount 1 ; sh:maxCount 1 ; sh:message "Resource offering must reference exactly one participant provider." ] ; sh:property [ sh:path dct:created ; sh:datatype xsd:dateTime ; sh:minCount 1 ; sh:message "Resource offering must include a creation timestamp." ] . ] .