diff --git a/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-sweep-hit-type/invalid.ttl b/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-sweep-hit-type/invalid.ttl deleted file mode 100644 index e80c812e..00000000 --- a/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-sweep-hit-type/invalid.ttl +++ /dev/null @@ -1,179 +0,0 @@ -PREFIX rdf: -PREFIX rdfs: -PREFIX sosa: -PREFIX tern: -PREFIX void: -PREFIX xsd: - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - incorrect feature type." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:IRI , - tern:Value ; - rdf:value ; - sosa:isResultOf ; - tern:vocabulary - ] ; - sosa:hasSimpleResult ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - value not from the controlled vocabulary list" ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:IRI , - tern:Value ; - rdf:value ; - sosa:isResultOf ; - tern:vocabulary - ] ; - sosa:hasSimpleResult ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - The value in simple result must be same with that in the result node." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:IRI , - tern:Value ; - rdf:value ; - sosa:isResultOf ; - tern:vocabulary - ] ; - sosa:hasSimpleResult ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - all observations must have a site vist." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:IRI , - tern:Value ; - rdf:value ; - sosa:isResultOf ; - tern:vocabulary - ] ; - sosa:hasSimpleResult ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - the used procedure should be 'Basal wedge protocol'." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:IRI , - tern:Value ; - rdf:value ; - sosa:isResultOf ; - tern:vocabulary - ] ; - sosa:hasSimpleResult ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - the value of the result node must be `tern:IRI`." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a tern:Value ; - rdf:value ; - sosa:isResultOf ; - tern:vocabulary - ] ; - sosa:hasSimpleResult ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - incorrect vocabulary" ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:IRI , - tern:Value ; - rdf:value ; - sosa:isResultOf ; - tern:vocabulary - ] ; - sosa:hasSimpleResult ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - diff --git a/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-sweep-hit-type/shapes.ttl b/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-sweep-hit-type/shapes.ttl deleted file mode 100644 index eae6804e..00000000 --- a/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-sweep-hit-type/shapes.ttl +++ /dev/null @@ -1,236 +0,0 @@ -PREFIX dcterms: -PREFIX rdf: -PREFIX reg: -PREFIX sh: -PREFIX tern: -PREFIX urnc: -PREFIX urnp: -PREFIX xsd: - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "TERN's ecologists have determined the feature type is _plant occurrence_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; - sh:hasValue ; - sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/b311c0d3-4a1a-4932-a39c-f5cdc1afa611[`plant occurrence`]." ; - sh:name "Feature type" ; - sh:path tern:featureType ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - select ?this { - values ?property_uri {} - ?observation a tern:Observation ; - sosa:observedProperty ?property_uri ; - sosa:hasFeatureOfInterest ?this . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-sweep-hit-type/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Controlled , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "The value in `sosa:hasResult` _MUST_ be a value in `sh:in`, which is the Basal sweep hit type codes controlled vocabulary." ; - sh:in ( - - - ) ; - sh:message "The value of `rdf:value` _MUST_ exist in the Basal sweep hit type codes controlled vocabulary." ; - sh:name "Result value" ; - sh:path rdf:value ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:query """ - PREFIX skos: - select ?values { - values ?categoricalUUID {'0ba17555-8c8f-435a-b16f-62773561207b'} - ?s skos:member ?values . - filter (STRENDS(str(?s), ?categoricalUUID)) - } - """ ; - urnp:sparqlEndpoint "https://graphdb.tern.org.au/repositories/dawe_vocabs_core" ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-sweep-hit-type/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:NodeShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; - sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; - sh:name "Simple result" ; - sh:sparql [ - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select $this { - $this a tern:Observation ; - sosa:observedProperty - - ; - sosa:hasSimpleResult ?simple ; - sosa:hasResult ?result . - ?result rdf:value ?value . - filter (?simple != ?value) - } - """ - ] ; - sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-sweep-hit-type/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Observations following the Basal wedge protocol are made in the context of a site visit." ; - sh:maxCount 1 ; - sh:message "Observations _MUST_ have a value for `tern:hasSiteVisit`." ; - sh:minCount 1 ; - sh:name "Site visit" ; - sh:path tern:hasSiteVisit ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-sweep-hit-type/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. - - `` is the IRI for "Basal wedge protocol".""" ; - sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/a7d605e0-7d90-473e-aac0-21cdf380576f`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-sweep-hit-type/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:class tern:IRI ; - sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:IRI`." ; - sh:message "The result _MUST_ be an instance of `tern:IRI`." ; - sh:name "Value type" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-sweep-hit-type/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description """IRI of `tern:vocabulary` in `sosa:hasResult` _MUST_ have the value ``. - - `` is the IRI for "Basal sweep hit type codes".""" ; - sh:message "The value of `tern:vocabulary` _MUST_ match the pattern `0ba17555-8c8f-435a-b16f-62773561207b$`." ; - sh:name "Vocabulary" ; - sh:path tern:vocabulary ; - sh:pattern "0ba17555-8c8f-435a-b16f-62773561207b$" ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-sweep-hit-type/shapes.ttl"^^xsd:anyURI ; -. - - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-sweep-hit-type/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-sweep-hit-type/valid.ttl"^^xsd:anyURI ; -. - diff --git a/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-sweep-hit-type/valid.ttl b/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-sweep-hit-type/valid.ttl deleted file mode 100644 index ab0bd859..00000000 --- a/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-sweep-hit-type/valid.ttl +++ /dev/null @@ -1,32 +0,0 @@ -PREFIX rdf: -PREFIX rdfs: -PREFIX sosa: -PREFIX tern: -PREFIX void: -PREFIX xsd: - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Valid result for observable property - basal area sweep hit type" ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:IRI , - tern:Value ; - rdf:value ; - sosa:isResultOf ; - tern:vocabulary - ] ; - sosa:hasSimpleResult ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - diff --git a/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/stand-basal-area/invalid.ttl b/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area/invalid.ttl similarity index 62% rename from shapes/basal-area/basal-area-basal-wedge-protocol-shapes/stand-basal-area/invalid.ttl rename to shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area/invalid.ttl index f2bef2d2..20908b6c 100644 --- a/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/stand-basal-area/invalid.ttl +++ b/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area/invalid.ttl @@ -6,200 +6,225 @@ PREFIX unit: PREFIX void: PREFIX xsd: - + + a tern:Procedure ; + tern:methodType ; +. + + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - the datatype of the value of the result node must be `xsd:float`." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Float , tern:Value ; rdf:value 3 ; - sosa:isResultOf ; - tern:unit unit:M2-PER-HA + sosa:isResultOf ; + tern:unit unit:M2-PER-HA ; ] ; sosa:hasSimpleResult 3 ; sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - incorrect feature type." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Float , tern:Value ; rdf:value "33.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M2-PER-HA + sosa:isResultOf ; + tern:unit unit:M2-PER-HA ; ] ; sosa:hasSimpleResult "33.81"^^xsd:float ; sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - The value in simple result must be same with that in the result node." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Float , tern:Value ; rdf:value "33.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M2-PER-HA + sosa:isResultOf ; + tern:unit unit:M2-PER-HA ; ] ; sosa:hasSimpleResult "13.56"^^xsd:float ; sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - all observations must have a site vist." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Float , tern:Value ; rdf:value "33.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M2-PER-HA + sosa:isResultOf ; + tern:unit unit:M2-PER-HA ; ] ; sosa:hasSimpleResult "33.81"^^xsd:float ; sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result unit of measure" ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Float , tern:Value ; rdf:value "33.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit + sosa:isResultOf ; + tern:unit ; ] ; sosa:hasSimpleResult "33.81"^^xsd:float ; sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - the used procedure should be 'Basal wedge protocol'." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Float , tern:Value ; rdf:value "33.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M2-PER-HA + sosa:isResultOf ; + tern:unit unit:M2-PER-HA ; ] ; sosa:hasSimpleResult "33.81"^^xsd:float ; sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - value out of range" ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Float , tern:Value ; rdf:value "-1.11"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M2-PER-HA + sosa:isResultOf ; + tern:unit unit:M2-PER-HA ; ] ; sosa:hasSimpleResult "-1.11"^^xsd:float ; sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - the value of the result node must be `tern:Float`." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Value ; rdf:value "33.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M2-PER-HA + sosa:isResultOf ; + tern:unit unit:M2-PER-HA ; ] ; sosa:hasSimpleResult "33.81"^^xsd:float ; sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . + + a tern:Procedure ; + tern:methodType ; +. diff --git a/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/stand-basal-area/shapes.ttl b/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area/shapes.ttl similarity index 71% rename from shapes/basal-area/basal-area-basal-wedge-protocol-shapes/stand-basal-area/shapes.ttl rename to shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area/shapes.ttl index d7a92b5a..7ba6a183 100644 --- a/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/stand-basal-area/shapes.ttl +++ b/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area/shapes.ttl @@ -2,24 +2,26 @@ PREFIX dcterms: PREFIX rdf: PREFIX reg: PREFIX sh: +PREFIX sosa: PREFIX tern: PREFIX unit: PREFIX urnc: PREFIX urnp: PREFIX xsd: - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "TERN's ecologists have determined the feature type is _plant community_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; sh:hasValue ; sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/ea3a4c64-dac3-4660-809a-8ad5ced8997b[`plant community`]." ; sh:name "Feature type" ; sh:path tern:featureType ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -31,22 +33,23 @@ PREFIX xsd: sosa:observedProperty ?property_uri ; sosa:hasFeatureOfInterest ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n3fb812a4ead04ac3b0af0108c1c3f6d6b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - + a sh:NodeShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; sh:name "Simple result" ; - sh:sparql [ + sh:sparql + [ sh:select """ PREFIX tern: PREFIX unit: @@ -62,18 +65,18 @@ PREFIX xsd: ?result rdf:value ?value . filter (?simple != ?value) } - """ + """ ; ] ; sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n3fb812a4ead04ac3b0af0108c1c3f6d6b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Observations following the Basal wedge protocol are made in the context of a site visit." ; sh:maxCount 1 ; @@ -81,7 +84,8 @@ PREFIX xsd: sh:minCount 1 ; sh:name "Site visit" ; sh:path tern:hasSiteVisit ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -93,24 +97,25 @@ PREFIX xsd: ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n3fb812a4ead04ac3b0af0108c1c3f6d6b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Result value's unit of measure _MUST_ have the value `unit:M2-PER-HA`." ; sh:hasValue unit:M2-PER-HA ; sh:message "The result _MUST_ have `unit:M2-PER-HA` as the value for `tern:unit`." ; sh:name "Unit of measure" ; sh:path tern:unit ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -121,26 +126,27 @@ PREFIX xsd: sosa:observedProperty ; sosa:hasResult ?this . - }""" + }""" ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n3fb812a4ead04ac3b0af0108c1c3f6d6b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. + sh:description """IRI of method in procedure _MUST_ have the value ``. `` is the IRI for "Basal wedge protocol".""" ; sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/a7d605e0-7d90-473e-aac0-21cdf380576f`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ + sh:message "The procedure's `tern:methodType` _MUST_ have the value `https://linked.data.gov.au/def/nrm/a7d605e0-7d90-473e-aac0-21cdf380576f`." ; + sh:name "Method type of used procedure" ; + sh:path tern:methodType ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -149,20 +155,21 @@ PREFIX xsd: PREFIX rdf: select ?this { values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . + ?observation a tern:Observation ; + sosa:observedProperty ?property_uri ; + sosa:usedProcedure ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n3fb812a4ead04ac3b0af0108c1c3f6d6b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:datatype xsd:float ; sh:description "Value _MUST_ be positive." ; @@ -170,7 +177,8 @@ PREFIX xsd: sh:minExclusive 0 ; sh:name "Value range" ; sh:path rdf:value ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -181,24 +189,25 @@ PREFIX xsd: sosa:observedProperty ; sosa:hasResult ?this . - }""" + }""" ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n3fb812a4ead04ac3b0af0108c1c3f6d6b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:class tern:Float ; sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Float`." ; sh:message "The result _MUST_ be an instance of `tern:Float`." ; sh:name "Value type" ; - sh:path ; - sh:target [ + sh:path sosa:hasResult ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -210,14 +219,13 @@ PREFIX xsd: ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n3fb812a4ead04ac3b0af0108c1c3f6d6b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/stand-basal-area/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/stand-basal-area/valid.ttl"^^xsd:anyURI ; +_:n3fb812a4ead04ac3b0af0108c1c3f6d6b2 + urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area/invalid.ttl"^^xsd:anyURI ; + urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area/valid.ttl"^^xsd:anyURI ; . - diff --git a/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/stand-basal-area/valid.ttl b/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area/valid.ttl similarity index 60% rename from shapes/basal-area/basal-area-basal-wedge-protocol-shapes/stand-basal-area/valid.ttl rename to shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area/valid.ttl index a4c4c9ff..ef603396 100644 --- a/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/stand-basal-area/valid.ttl +++ b/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area/valid.ttl @@ -6,28 +6,34 @@ PREFIX unit: PREFIX void: PREFIX xsd: - + a tern:Observation ; void:inDataset ; - rdfs:comment "Valid result for observable property - stand basal area" ; - sosa:hasFeatureOfInterest [ + rdfs:comment "Valid result for observable property - basal area" ; + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Float , tern:Value ; rdf:value "33.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M2-PER-HA + sosa:isResultOf ; + tern:unit unit:M2-PER-HA ; ] ; sosa:hasSimpleResult "33.81"^^xsd:float ; sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . + + a tern:Procedure ; + tern:methodType ; +. diff --git a/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/borderline-trees-count/invalid.ttl b/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/borderline-trees-count/invalid.ttl new file mode 100644 index 00000000..9c5fe88b --- /dev/null +++ b/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/borderline-trees-count/invalid.ttl @@ -0,0 +1,195 @@ +PREFIX rdf: +PREFIX rdfs: +PREFIX sosa: +PREFIX tern: +PREFIX void: +PREFIX xsd: + + + a tern:Procedure ; + tern:methodType ; +. + + + a tern:Observation ; + void:inDataset ; + rdfs:comment "Invalid result - the datatype of the value of the result node must be `xsd:integer`." ; + sosa:hasFeatureOfInterest + [ + a tern:FeatureOfInterest ; + void:inDataset ; + tern:featureType ; + ] ; + sosa:hasResult + [ + a + tern:Integer , + tern:Value ; + rdf:value "33.81"^^xsd:float ; + sosa:isResultOf ; + ] ; + sosa:hasSimpleResult "33.81"^^xsd:float ; + sosa:observedProperty ; + sosa:phenomenonTime ; + sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; + sosa:usedProcedure ; + tern:hasSiteVisit ; +. + + + a tern:Observation ; + void:inDataset ; + rdfs:comment "Invalid result - incorrect feature type." ; + sosa:hasFeatureOfInterest + [ + a tern:FeatureOfInterest ; + void:inDataset ; + tern:featureType ; + ] ; + sosa:hasResult + [ + a + tern:Integer , + tern:Value ; + rdf:value 3 ; + sosa:isResultOf ; + ] ; + sosa:hasSimpleResult 3 ; + sosa:observedProperty ; + sosa:phenomenonTime ; + sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; + sosa:usedProcedure ; + tern:hasSiteVisit ; +. + + + a tern:Observation ; + void:inDataset ; + rdfs:comment "Invalid result - The value in simple result must be same with that in the result node." ; + sosa:hasFeatureOfInterest + [ + a tern:FeatureOfInterest ; + void:inDataset ; + tern:featureType ; + ] ; + sosa:hasResult + [ + a + tern:Integer , + tern:Value ; + rdf:value 3 ; + sosa:isResultOf ; + ] ; + sosa:hasSimpleResult 2 ; + sosa:observedProperty ; + sosa:phenomenonTime ; + sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; + sosa:usedProcedure ; + tern:hasSiteVisit ; +. + + + a tern:Observation ; + void:inDataset ; + rdfs:comment "Invalid result - all observations must have a site vist." ; + sosa:hasFeatureOfInterest + [ + a tern:FeatureOfInterest ; + void:inDataset ; + tern:featureType ; + ] ; + sosa:hasResult + [ + a + tern:Integer , + tern:Value ; + rdf:value 3 ; + sosa:isResultOf ; + ] ; + sosa:hasSimpleResult 3 ; + sosa:observedProperty ; + sosa:phenomenonTime ; + sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; + sosa:usedProcedure ; +. + + + a tern:Observation ; + void:inDataset ; + rdfs:comment "Invalid result - the used procedure should be 'Basal wedge protocol'." ; + sosa:hasFeatureOfInterest + [ + a tern:FeatureOfInterest ; + void:inDataset ; + tern:featureType ; + ] ; + sosa:hasResult + [ + a + tern:Integer , + tern:Value ; + rdf:value 3 ; + sosa:isResultOf ; + ] ; + sosa:hasSimpleResult 3 ; + sosa:observedProperty ; + sosa:phenomenonTime ; + sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; + sosa:usedProcedure ; + tern:hasSiteVisit ; +. + + + a tern:Observation ; + void:inDataset ; + rdfs:comment "Invalid result - value out of range" ; + sosa:hasFeatureOfInterest + [ + a tern:FeatureOfInterest ; + void:inDataset ; + tern:featureType ; + ] ; + sosa:hasResult + [ + a + tern:Integer , + tern:Value ; + rdf:value -1 ; + sosa:isResultOf ; + ] ; + sosa:hasSimpleResult -1 ; + sosa:observedProperty ; + sosa:phenomenonTime ; + sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; + sosa:usedProcedure ; + tern:hasSiteVisit ; +. + + + a tern:Observation ; + void:inDataset ; + rdfs:comment "Invalid result - the value of the result node must be `tern:Integer`." ; + sosa:hasFeatureOfInterest + [ + a tern:FeatureOfInterest ; + void:inDataset ; + tern:featureType ; + ] ; + sosa:hasResult + [ + a tern:Value ; + rdf:value 3 ; + sosa:isResultOf ; + ] ; + sosa:hasSimpleResult 3 ; + sosa:observedProperty ; + sosa:phenomenonTime ; + sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; + sosa:usedProcedure ; + tern:hasSiteVisit ; +. + + + a tern:Procedure ; + tern:methodType ; +. diff --git a/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-count/shapes.ttl b/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/borderline-trees-count/shapes.ttl similarity index 67% rename from shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-count/shapes.ttl rename to shapes/basal-area/basal-area-basal-wedge-protocol-shapes/borderline-trees-count/shapes.ttl index c8e3cc36..f71484d2 100644 --- a/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-count/shapes.ttl +++ b/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/borderline-trees-count/shapes.ttl @@ -2,50 +2,53 @@ PREFIX dcterms: PREFIX rdf: PREFIX reg: PREFIX sh: +PREFIX sosa: PREFIX tern: PREFIX urnc: PREFIX urnp: PREFIX xsd: - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "TERN's ecologists have determined the feature type is _plant population_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; sh:hasValue ; sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/ae71c3f6-d430-400f-a1d4-97a333b4ee02[`plant population`]." ; sh:name "Feature type" ; sh:path tern:featureType ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: PREFIX unit: PREFIX sosa: select ?this { - values ?property_uri {} + values ?property_uri {} ?observation a tern:Observation ; sosa:observedProperty ?property_uri ; sosa:hasFeatureOfInterest ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-count/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n7a4c14e05be64789a92a4879abcf7d05b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/borderline-trees-count/shapes.ttl"^^xsd:anyURI ; . - + a sh:NodeShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; sh:name "Simple result" ; - sh:sparql [ + sh:sparql + [ sh:select """ PREFIX tern: PREFIX unit: @@ -54,25 +57,25 @@ PREFIX xsd: select $this { $this a tern:Observation ; sosa:observedProperty - + ; sosa:hasSimpleResult ?simple ; sosa:hasResult ?result . ?result rdf:value ?value . filter (?simple != ?value) } - """ + """ ; ] ; sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-count/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n7a4c14e05be64789a92a4879abcf7d05b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/borderline-trees-count/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Observations following the Basal wedge protocol are made in the context of a site visit." ; sh:maxCount 1 ; @@ -80,7 +83,8 @@ PREFIX xsd: sh:minCount 1 ; sh:name "Site visit" ; sh:path tern:hasSiteVisit ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -88,30 +92,31 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} + values ?property_uri {} ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-count/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n7a4c14e05be64789a92a4879abcf7d05b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/borderline-trees-count/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. + sh:description """IRI of method in procedure _MUST_ have the value ``. `` is the IRI for "Basal wedge protocol".""" ; sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/a7d605e0-7d90-473e-aac0-21cdf380576f`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ + sh:message "The procedure's `tern:methodType` _MUST_ have the value `https://linked.data.gov.au/def/nrm/a7d605e0-7d90-473e-aac0-21cdf380576f`." ; + sh:name "Method type of used procedure" ; + sh:path tern:methodType ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -119,21 +124,22 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . + values ?property_uri {} + ?observation a tern:Observation ; + sosa:observedProperty ?property_uri ; + sosa:usedProcedure ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-count/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n7a4c14e05be64789a92a4879abcf7d05b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/borderline-trees-count/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:datatype xsd:integer ; sh:description "Value _MUST_ be non-negative." ; @@ -141,7 +147,8 @@ PREFIX xsd: sh:minInclusive 0 ; sh:name "Value range" ; sh:path rdf:value ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -150,26 +157,27 @@ PREFIX xsd: select ?this { ?observation a tern:Observation ; sosa:observedProperty - ; + ; sosa:hasResult ?this . - }""" + }""" ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-count/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n7a4c14e05be64789a92a4879abcf7d05b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/borderline-trees-count/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:class tern:Integer ; sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Integer`." ; sh:message "The result _MUST_ be an instance of `tern:Integer`." ; sh:name "Value type" ; - sh:path ; - sh:target [ + sh:path sosa:hasResult ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -177,18 +185,17 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} + values ?property_uri {} ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-count/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n7a4c14e05be64789a92a4879abcf7d05b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/borderline-trees-count/shapes.ttl"^^xsd:anyURI ; . - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-count/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-count/valid.ttl"^^xsd:anyURI ; +_:n7a4c14e05be64789a92a4879abcf7d05b2 + urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/borderline-trees-count/invalid.ttl"^^xsd:anyURI ; + urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/borderline-trees-count/valid.ttl"^^xsd:anyURI ; . - diff --git a/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/borderline-trees-count/valid.ttl b/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/borderline-trees-count/valid.ttl new file mode 100644 index 00000000..ebb730e1 --- /dev/null +++ b/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/borderline-trees-count/valid.ttl @@ -0,0 +1,37 @@ +PREFIX rdf: +PREFIX rdfs: +PREFIX sosa: +PREFIX tern: +PREFIX void: +PREFIX xsd: + + + a tern:Observation ; + void:inDataset ; + rdfs:comment "Valid result for observable property - borderline-trees count" ; + sosa:hasFeatureOfInterest + [ + a tern:FeatureOfInterest ; + void:inDataset ; + tern:featureType ; + ] ; + sosa:hasResult + [ + a + tern:Integer , + tern:Value ; + rdf:value 3 ; + sosa:isResultOf ; + ] ; + sosa:hasSimpleResult 3 ; + sosa:observedProperty ; + sosa:phenomenonTime ; + sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; + sosa:usedProcedure ; + tern:hasSiteVisit ; +. + + + a tern:Procedure ; + tern:methodType ; +. diff --git a/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/invalid.ttl b/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/invalid.ttl index e680d8ee..43ee9647 100644 --- a/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/invalid.ttl +++ b/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/invalid.ttl @@ -5,27 +5,34 @@ PREFIX tern: PREFIX void: PREFIX xsd: + + a tern:Procedure ; + tern:methodType ; +. + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - the datatype of the value of the result node must be `xsd:string`." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Text , tern:Value ; rdf:value 1 ; - sosa:isResultOf + sosa:isResultOf ; ] ; sosa:hasSimpleResult 1 ; sosa:observedProperty ; sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . @@ -33,23 +40,25 @@ PREFIX xsd: a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - incorrect feature type." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Text , tern:Value ; - rdf:value "Pine"^^xsd:string ; - sosa:isResultOf + rdf:value "Oak"^^xsd:string ; + sosa:isResultOf ; ] ; - sosa:hasSimpleResult "Pine"^^xsd:string ; + sosa:hasSimpleResult "Oak"^^xsd:string ; sosa:observedProperty ; sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . @@ -57,23 +66,25 @@ PREFIX xsd: a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - The value in simple result must be same with that in the result node." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Text , tern:Value ; - rdf:value "Pine"^^xsd:string ; - sosa:isResultOf + rdf:value "Oak"^^xsd:string ; + sosa:isResultOf ; ] ; - sosa:hasSimpleResult "Pine different"^^xsd:string ; + sosa:hasSimpleResult "Oak different"^^xsd:string ; sosa:observedProperty ; sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . @@ -81,42 +92,46 @@ PREFIX xsd: a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - all observations must have a site vist." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Text , tern:Value ; - rdf:value "Pine"^^xsd:string ; - sosa:isResultOf + rdf:value "Oak"^^xsd:string ; + sosa:isResultOf ; ] ; - sosa:hasSimpleResult "Pine"^^xsd:string ; + sosa:hasSimpleResult "Oak"^^xsd:string ; sosa:observedProperty ; sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; . a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - the used procedure should be 'Basal wedge protocol'." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Text , tern:Value ; - rdf:value "Pine"^^xsd:string ; - sosa:isResultOf + rdf:value "Oak"^^xsd:string ; + sosa:isResultOf ; ] ; - sosa:hasSimpleResult "Pine"^^xsd:string ; + sosa:hasSimpleResult "Oak"^^xsd:string ; sosa:observedProperty ; sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; @@ -128,21 +143,27 @@ PREFIX xsd: a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - the value of the result node must be `tern:Text`." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Value ; - rdf:value "Pine"^^xsd:string ; - sosa:isResultOf + rdf:value "Oak"^^xsd:string ; + sosa:isResultOf ; ] ; - sosa:hasSimpleResult "Pine"^^xsd:string ; + sosa:hasSimpleResult "Oak"^^xsd:string ; sosa:observedProperty ; sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . + + a tern:Procedure ; + tern:methodType ; +. diff --git a/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/shapes.ttl b/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/shapes.ttl index 7999210e..9f3e420a 100644 --- a/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/shapes.ttl +++ b/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/shapes.ttl @@ -2,6 +2,7 @@ PREFIX dcterms: PREFIX rdf: PREFIX reg: PREFIX sh: +PREFIX sosa: PREFIX tern: PREFIX urnc: PREFIX urnp: @@ -11,14 +12,15 @@ PREFIX xsd: a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:datatype xsd:string ; sh:description "The value in `sosa:hasResult` _MUST_ be xsd:string." ; sh:message "The value of `rdf:value` _MUST_ have the datatype xsd:string." ; sh:name "Datatype" ; sh:path rdf:value ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -29,9 +31,9 @@ PREFIX xsd: sosa:observedProperty ; sosa:hasResult ?this . - }""" + }""" ; ] ; - urnp:examples ; + urnp:examples _:n27334b54670a42bd9caece6396def0ebb2 ; urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; . @@ -39,14 +41,15 @@ PREFIX xsd: a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "TERN's ecologists have determined the feature type is _plant population_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; sh:hasValue ; sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/ae71c3f6-d430-400f-a1d4-97a333b4ee02[`plant population`]." ; sh:name "Feature type" ; sh:path tern:featureType ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -58,9 +61,9 @@ PREFIX xsd: sosa:observedProperty ?property_uri ; sosa:hasFeatureOfInterest ?this . } - """ + """ ; ] ; - urnp:examples ; + urnp:examples _:n27334b54670a42bd9caece6396def0ebb2 ; urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; . @@ -68,12 +71,13 @@ PREFIX xsd: a sh:NodeShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; sh:name "Simple result" ; - sh:sparql [ + sh:sparql + [ sh:select """ PREFIX tern: PREFIX unit: @@ -89,10 +93,10 @@ PREFIX xsd: ?result rdf:value ?value . filter (?simple != ?value) } - """ + """ ; ] ; sh:targetClass tern:Observation ; - urnp:examples ; + urnp:examples _:n27334b54670a42bd9caece6396def0ebb2 ; urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; . @@ -100,7 +104,7 @@ PREFIX xsd: a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Observations following the Basal wedge protocol are made in the context of a site visit." ; sh:maxCount 1 ; @@ -108,7 +112,8 @@ PREFIX xsd: sh:minCount 1 ; sh:name "Site visit" ; sh:path tern:hasSiteVisit ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -120,9 +125,9 @@ PREFIX xsd: ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; + urnp:examples _:n27334b54670a42bd9caece6396def0ebb2 ; urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; . @@ -130,16 +135,17 @@ PREFIX xsd: a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. + sh:description """IRI of method in procedure _MUST_ have the value ``. `` is the IRI for "Basal wedge protocol".""" ; sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/a7d605e0-7d90-473e-aac0-21cdf380576f`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ + sh:message "The procedure's `tern:methodType` _MUST_ have the value `https://linked.data.gov.au/def/nrm/a7d605e0-7d90-473e-aac0-21cdf380576f`." ; + sh:name "Method type of used procedure" ; + sh:path tern:methodType ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -148,12 +154,13 @@ PREFIX xsd: PREFIX rdf: select ?this { values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . + ?observation a tern:Observation ; + sosa:observedProperty ?property_uri ; + sosa:usedProcedure ?this . } - """ + """ ; ] ; - urnp:examples ; + urnp:examples _:n27334b54670a42bd9caece6396def0ebb2 ; urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; . @@ -161,14 +168,15 @@ PREFIX xsd: a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:class tern:Text ; sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Text`." ; sh:message "The result _MUST_ be an instance of `tern:Text`." ; sh:name "Value type" ; - sh:path ; - sh:target [ + sh:path sosa:hasResult ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -180,14 +188,13 @@ PREFIX xsd: ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; + urnp:examples _:n27334b54670a42bd9caece6396def0ebb2 ; urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; . - +_:n27334b54670a42bd9caece6396def0ebb2 urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/invalid.ttl"^^xsd:anyURI ; urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/valid.ttl"^^xsd:anyURI ; . - diff --git a/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/valid.ttl b/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/valid.ttl index 7efcaf43..9ae662be 100644 --- a/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/valid.ttl +++ b/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/valid.ttl @@ -9,23 +9,29 @@ PREFIX xsd: a tern:Observation ; void:inDataset ; rdfs:comment "Valid result for observable property - field species name" ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Text , tern:Value ; - rdf:value "Pine"^^xsd:string ; - sosa:isResultOf + rdf:value "Oak"^^xsd:string ; + sosa:isResultOf ; ] ; - sosa:hasSimpleResult "Pine"^^xsd:string ; + sosa:hasSimpleResult "Oak"^^xsd:string ; sosa:observedProperty ; sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . + + a tern:Procedure ; + tern:methodType ; +. diff --git a/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-count/invalid.ttl b/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/in-trees-count/invalid.ttl similarity index 54% rename from shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-count/invalid.ttl rename to shapes/basal-area/basal-area-basal-wedge-protocol-shapes/in-trees-count/invalid.ttl index 69799ad7..1a36f9cb 100644 --- a/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-count/invalid.ttl +++ b/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/in-trees-count/invalid.ttl @@ -5,168 +5,191 @@ PREFIX tern: PREFIX void: PREFIX xsd: - + + a tern:Procedure ; + tern:methodType ; +. + + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - the datatype of the value of the result node must be `xsd:integer`." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Integer , tern:Value ; rdf:value "33.81"^^xsd:float ; - sosa:isResultOf + sosa:isResultOf ; ] ; sosa:hasSimpleResult "33.81"^^xsd:float ; - sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:observedProperty ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - incorrect feature type." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Integer , tern:Value ; rdf:value 3 ; - sosa:isResultOf + sosa:isResultOf ; ] ; sosa:hasSimpleResult 3 ; - sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:observedProperty ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - The value in simple result must be same with that in the result node." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Integer , tern:Value ; rdf:value 3 ; - sosa:isResultOf + sosa:isResultOf ; ] ; sosa:hasSimpleResult 2 ; - sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:observedProperty ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - all observations must have a site vist." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Integer , tern:Value ; rdf:value 3 ; - sosa:isResultOf + sosa:isResultOf ; ] ; sosa:hasSimpleResult 3 ; - sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:observedProperty ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - the used procedure should be 'Basal wedge protocol'." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Integer , tern:Value ; rdf:value 3 ; - sosa:isResultOf + sosa:isResultOf ; ] ; sosa:hasSimpleResult 3 ; - sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:observedProperty ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - value out of range" ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Integer , tern:Value ; rdf:value -1 ; - sosa:isResultOf + sosa:isResultOf ; ] ; sosa:hasSimpleResult -1 ; - sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:observedProperty ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - the value of the result node must be `tern:Integer`." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Value ; rdf:value 3 ; - sosa:isResultOf + sosa:isResultOf ; ] ; sosa:hasSimpleResult 3 ; - sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:observedProperty ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . + + a tern:Procedure ; + tern:methodType ; +. diff --git a/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/mean-basal-area/shapes.ttl b/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/in-trees-count/shapes.ttl similarity index 56% rename from shapes/basal-area/basal-area-basal-wedge-protocol-shapes/mean-basal-area/shapes.ttl rename to shapes/basal-area/basal-area-basal-wedge-protocol-shapes/in-trees-count/shapes.ttl index ec128b50..db4f15f6 100644 --- a/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/mean-basal-area/shapes.ttl +++ b/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/in-trees-count/shapes.ttl @@ -2,51 +2,53 @@ PREFIX dcterms: PREFIX rdf: PREFIX reg: PREFIX sh: +PREFIX sosa: PREFIX tern: -PREFIX unit: PREFIX urnc: PREFIX urnp: PREFIX xsd: - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "TERN's ecologists have determined the feature type is _plant population_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; sh:hasValue ; sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/ae71c3f6-d430-400f-a1d4-97a333b4ee02[`plant population`]." ; sh:name "Feature type" ; sh:path tern:featureType ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: PREFIX unit: PREFIX sosa: select ?this { - values ?property_uri {} + values ?property_uri {} ?observation a tern:Observation ; sosa:observedProperty ?property_uri ; sosa:hasFeatureOfInterest ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/mean-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:naaf057a54a404e969595c3c8932d04f5b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/in-trees-count/shapes.ttl"^^xsd:anyURI ; . - + a sh:NodeShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; sh:name "Simple result" ; - sh:sparql [ + sh:sparql + [ sh:select """ PREFIX tern: PREFIX unit: @@ -55,25 +57,25 @@ PREFIX xsd: select $this { $this a tern:Observation ; sosa:observedProperty - + ; sosa:hasSimpleResult ?simple ; sosa:hasResult ?result . ?result rdf:value ?value . filter (?simple != ?value) } - """ + """ ; ] ; sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/mean-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:naaf057a54a404e969595c3c8932d04f5b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/in-trees-count/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Observations following the Basal wedge protocol are made in the context of a site visit." ; sh:maxCount 1 ; @@ -81,7 +83,8 @@ PREFIX xsd: sh:minCount 1 ; sh:name "Site visit" ; sh:path tern:hasSiteVisit ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -89,58 +92,31 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} + values ?property_uri {} ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/mean-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:naaf057a54a404e969595c3c8932d04f5b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/in-trees-count/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description "Result value's unit of measure _MUST_ have the value `unit:M2-PER-HA`." ; - sh:hasValue unit:M2-PER-HA ; - sh:message "The result _MUST_ have `unit:M2-PER-HA` as the value for `tern:unit`." ; - sh:name "Unit of measure" ; - sh:path tern:unit ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/mean-basal-area/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. + sh:description """IRI of method in procedure _MUST_ have the value ``. `` is the IRI for "Basal wedge protocol".""" ; sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/a7d605e0-7d90-473e-aac0-21cdf380576f`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ + sh:message "The procedure's `tern:methodType` _MUST_ have the value `https://linked.data.gov.au/def/nrm/a7d605e0-7d90-473e-aac0-21cdf380576f`." ; + sh:name "Method type of used procedure" ; + sh:path tern:methodType ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -148,29 +124,31 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . + values ?property_uri {} + ?observation a tern:Observation ; + sosa:observedProperty ?property_uri ; + sosa:usedProcedure ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/mean-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:naaf057a54a404e969595c3c8932d04f5b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/in-trees-count/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:datatype xsd:float ; - sh:description "Value _MUST_ be positive." ; - sh:message "The result _MUST_ have a positive value." ; - sh:minExclusive 0 ; + sh:datatype xsd:integer ; + sh:description "Value _MUST_ be non-negative." ; + sh:message "The result _MUST_ have a non-negative value." ; + sh:minInclusive 0 ; sh:name "Value range" ; sh:path rdf:value ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -179,26 +157,27 @@ PREFIX xsd: select ?this { ?observation a tern:Observation ; sosa:observedProperty - ; + ; sosa:hasResult ?this . - }""" + }""" ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/mean-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:naaf057a54a404e969595c3c8932d04f5b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/in-trees-count/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:class tern:Float ; - sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Float`." ; - sh:message "The result _MUST_ be an instance of `tern:Float`." ; + sh:class tern:Integer ; + sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Integer`." ; + sh:message "The result _MUST_ be an instance of `tern:Integer`." ; sh:name "Value type" ; - sh:path ; - sh:target [ + sh:path sosa:hasResult ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -206,18 +185,17 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} + values ?property_uri {} ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/mean-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:naaf057a54a404e969595c3c8932d04f5b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/in-trees-count/shapes.ttl"^^xsd:anyURI ; . - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/mean-basal-area/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/mean-basal-area/valid.ttl"^^xsd:anyURI ; +_:naaf057a54a404e969595c3c8932d04f5b2 + urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/in-trees-count/invalid.ttl"^^xsd:anyURI ; + urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/in-trees-count/valid.ttl"^^xsd:anyURI ; . - diff --git a/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-count/valid.ttl b/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/in-trees-count/valid.ttl similarity index 53% rename from shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-count/valid.ttl rename to shapes/basal-area/basal-area-basal-wedge-protocol-shapes/in-trees-count/valid.ttl index a3ae2da3..a741bd5a 100644 --- a/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-count/valid.ttl +++ b/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/in-trees-count/valid.ttl @@ -5,27 +5,33 @@ PREFIX tern: PREFIX void: PREFIX xsd: - + a tern:Observation ; void:inDataset ; - rdfs:comment "Valid result for observable property - basal area count" ; - sosa:hasFeatureOfInterest [ + rdfs:comment "Valid result for observable property - in-trees count" ; + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Integer , tern:Value ; rdf:value 3 ; - sosa:isResultOf + sosa:isResultOf ; ] ; sosa:hasSimpleResult 3 ; - sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:observedProperty ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . + + a tern:Procedure ; + tern:methodType ; +. diff --git a/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/mean-basal-area/invalid.ttl b/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/mean-basal-area/invalid.ttl deleted file mode 100644 index 9a263e11..00000000 --- a/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/mean-basal-area/invalid.ttl +++ /dev/null @@ -1,205 +0,0 @@ -PREFIX rdf: -PREFIX rdfs: -PREFIX sosa: -PREFIX tern: -PREFIX unit: -PREFIX void: -PREFIX xsd: - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - the datatype of the value of the result node must be `xsd:float`." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:Float , - tern:Value ; - rdf:value 3 ; - sosa:isResultOf ; - tern:unit unit:M2-PER-HA - ] ; - sosa:hasSimpleResult 3 ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - incorrect feature type." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:Float , - tern:Value ; - rdf:value "33.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M2-PER-HA - ] ; - sosa:hasSimpleResult "33.81"^^xsd:float ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - The value in simple result must be same with that in the result node." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:Float , - tern:Value ; - rdf:value "33.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M2-PER-HA - ] ; - sosa:hasSimpleResult "13.56"^^xsd:float ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - all observations must have a site vist." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:Float , - tern:Value ; - rdf:value "33.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M2-PER-HA - ] ; - sosa:hasSimpleResult "33.81"^^xsd:float ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result unit of measure" ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:Float , - tern:Value ; - rdf:value "33.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit - ] ; - sosa:hasSimpleResult "33.81"^^xsd:float ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - the used procedure should be 'Basal wedge protocol'." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:Float , - tern:Value ; - rdf:value "33.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M2-PER-HA - ] ; - sosa:hasSimpleResult "33.81"^^xsd:float ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - value out of range" ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:Float , - tern:Value ; - rdf:value "-1.11"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M2-PER-HA - ] ; - sosa:hasSimpleResult "-1.11"^^xsd:float ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - the value of the result node must be `tern:Float`." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a tern:Value ; - rdf:value "33.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M2-PER-HA - ] ; - sosa:hasSimpleResult "33.81"^^xsd:float ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - diff --git a/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/mean-basal-area/valid.ttl b/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/mean-basal-area/valid.ttl deleted file mode 100644 index b7cdd63d..00000000 --- a/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/mean-basal-area/valid.ttl +++ /dev/null @@ -1,33 +0,0 @@ -PREFIX rdf: -PREFIX rdfs: -PREFIX sosa: -PREFIX tern: -PREFIX unit: -PREFIX void: -PREFIX xsd: - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Valid result for observable property - mean basal area" ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:Float , - tern:Value ; - rdf:value "33.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M2-PER-HA - ] ; - sosa:hasSimpleResult "33.81"^^xsd:float ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - diff --git a/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/shapes.ttl b/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/shapes.ttl index 590b4e66..449ae944 100644 --- a/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/shapes.ttl +++ b/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/shapes.ttl @@ -2,51 +2,54 @@ PREFIX dcterms: PREFIX rdf: PREFIX reg: PREFIX sh: +PREFIX sosa: PREFIX tern: PREFIX unit: PREFIX urnc: PREFIX urnp: PREFIX xsd: - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description "TERN's ecologists have determined the feature type is _plant population_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; - sh:hasValue ; - sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/ae71c3f6-d430-400f-a1d4-97a333b4ee02[`plant population`]." ; + sh:description "TERN's ecologists have determined the feature type is _plant community_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; + sh:hasValue ; + sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/ea3a4c64-dac3-4660-809a-8ad5ced8997b[`plant community`]." ; sh:name "Feature type" ; sh:path tern:featureType ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: PREFIX unit: PREFIX sosa: select ?this { - values ?property_uri {} + values ?property_uri {} ?observation a tern:Observation ; sosa:observedProperty ?property_uri ; sosa:hasFeatureOfInterest ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-count/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n9a26f7013c9a4ef795c66f56048b1b0db2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - + a sh:NodeShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; sh:name "Simple result" ; - sh:sparql [ + sh:sparql + [ sh:select """ PREFIX tern: PREFIX unit: @@ -55,25 +58,25 @@ PREFIX xsd: select $this { $this a tern:Observation ; sosa:observedProperty - + ; sosa:hasSimpleResult ?simple ; sosa:hasResult ?result . ?result rdf:value ?value . filter (?simple != ?value) } - """ + """ ; ] ; sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-count/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n9a26f7013c9a4ef795c66f56048b1b0db2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Observations following the Basal wedge protocol are made in the context of a site visit." ; sh:maxCount 1 ; @@ -81,7 +84,8 @@ PREFIX xsd: sh:minCount 1 ; sh:name "Site visit" ; sh:path tern:hasSiteVisit ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -89,30 +93,60 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} + values ?property_uri {} ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-count/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n9a26f7013c9a4ef795c66f56048b1b0db2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. + sh:description "Result value's unit of measure _MUST_ have the value `unit:M2-PER-HA`." ; + sh:hasValue unit:M2-PER-HA ; + sh:message "The result _MUST_ have `unit:M2-PER-HA` as the value for `tern:unit`." ; + sh:name "Unit of measure" ; + sh:path tern:unit ; + sh:target + [ + a sh:SPARQLTarget ; + sh:select """ + PREFIX tern: + PREFIX sosa: + PREFIX rdf: + select ?this { + ?observation a tern:Observation ; + sosa:observedProperty + ; + sosa:hasResult ?this . + }""" ; + ] ; + urnp:examples _:n9a26f7013c9a4ef795c66f56048b1b0db2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; +. + + + a + sh:PropertyShape , + urnc:Requirement ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; + reg:status reg:statusSubmitted ; + sh:description """IRI of method in procedure _MUST_ have the value ``. `` is the IRI for "Basal wedge protocol".""" ; sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/a7d605e0-7d90-473e-aac0-21cdf380576f`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ + sh:message "The procedure's `tern:methodType` _MUST_ have the value `https://linked.data.gov.au/def/nrm/a7d605e0-7d90-473e-aac0-21cdf380576f`." ; + sh:name "Method type of used procedure" ; + sh:path tern:methodType ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -120,29 +154,31 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . + values ?property_uri {} + ?observation a tern:Observation ; + sosa:observedProperty ?property_uri ; + sosa:usedProcedure ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-count/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n9a26f7013c9a4ef795c66f56048b1b0db2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:datatype xsd:integer ; - sh:description "Value _MUST_ be non-negative." ; - sh:message "The result _MUST_ have a non-negative value." ; - sh:minInclusive 0 ; + sh:datatype xsd:float ; + sh:description "Value _MUST_ be positive." ; + sh:message "The result _MUST_ have a positive value." ; + sh:minExclusive 0 ; sh:name "Value range" ; sh:path rdf:value ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -151,26 +187,27 @@ PREFIX xsd: select ?this { ?observation a tern:Observation ; sosa:observedProperty - ; + ; sosa:hasResult ?this . - }""" + }""" ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-count/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n9a26f7013c9a4ef795c66f56048b1b0db2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:class tern:Integer ; - sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Integer`." ; - sh:message "The result _MUST_ be an instance of `tern:Integer`." ; + sh:class tern:Float ; + sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Float`." ; + sh:message "The result _MUST_ be an instance of `tern:Float`." ; sh:name "Value type" ; - sh:path ; - sh:target [ + sh:path sosa:hasResult ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -178,96 +215,57 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} + values ?property_uri {} ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-count/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n9a26f7013c9a4ef795c66f56048b1b0db2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description "TERN's ecologists have determined the feature type is _plant occurrence_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; - sh:hasValue ; - sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/b311c0d3-4a1a-4932-a39c-f5cdc1afa611[`plant occurrence`]." ; + sh:description "TERN's ecologists have determined the feature type is _plant population_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; + sh:hasValue ; + sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/ae71c3f6-d430-400f-a1d4-97a333b4ee02[`plant population`]." ; sh:name "Feature type" ; sh:path tern:featureType ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: PREFIX unit: PREFIX sosa: select ?this { - values ?property_uri {} + values ?property_uri {} ?observation a tern:Observation ; sosa:observedProperty ?property_uri ; sosa:hasFeatureOfInterest ?this . } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-sweep-hit-type/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Controlled , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "The value in `sosa:hasResult` _MUST_ be a value in `sh:in`, which is the Basal sweep hit type codes controlled vocabulary." ; - sh:in ( - - - ) ; - sh:message "The value of `rdf:value` _MUST_ exist in the Basal sweep hit type codes controlled vocabulary." ; - sh:name "Result value" ; - sh:path rdf:value ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" + """ ; ] ; - urnp:examples ; - urnp:query """ - PREFIX skos: - select ?values { - values ?categoricalUUID {'0ba17555-8c8f-435a-b16f-62773561207b'} - ?s skos:member ?values . - filter (STRENDS(str(?s), ?categoricalUUID)) - } - """ ; - urnp:sparqlEndpoint "https://graphdb.tern.org.au/repositories/dawe_vocabs_core" ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-sweep-hit-type/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n9a26f7013c9a4ef795c66f56048b1b0db10 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/borderline-trees-count/shapes.ttl"^^xsd:anyURI ; . - + a sh:NodeShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; sh:name "Simple result" ; - sh:sparql [ + sh:sparql + [ sh:select """ PREFIX tern: PREFIX unit: @@ -276,25 +274,25 @@ PREFIX xsd: select $this { $this a tern:Observation ; sosa:observedProperty - + ; sosa:hasSimpleResult ?simple ; sosa:hasResult ?result . ?result rdf:value ?value . filter (?simple != ?value) } - """ + """ ; ] ; sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-sweep-hit-type/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n9a26f7013c9a4ef795c66f56048b1b0db10 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/borderline-trees-count/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Observations following the Basal wedge protocol are made in the context of a site visit." ; sh:maxCount 1 ; @@ -302,7 +300,8 @@ PREFIX xsd: sh:minCount 1 ; sh:name "Site visit" ; sh:path tern:hasSiteVisit ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -310,30 +309,31 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} + values ?property_uri {} ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-sweep-hit-type/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n9a26f7013c9a4ef795c66f56048b1b0db10 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/borderline-trees-count/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. + sh:description """IRI of method in procedure _MUST_ have the value ``. `` is the IRI for "Basal wedge protocol".""" ; sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/a7d605e0-7d90-473e-aac0-21cdf380576f`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ + sh:message "The procedure's `tern:methodType` _MUST_ have the value `https://linked.data.gov.au/def/nrm/a7d605e0-7d90-473e-aac0-21cdf380576f`." ; + sh:name "Method type of used procedure" ; + sh:path tern:methodType ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -341,87 +341,90 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . + values ?property_uri {} + ?observation a tern:Observation ; + sosa:observedProperty ?property_uri ; + sosa:usedProcedure ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-sweep-hit-type/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n9a26f7013c9a4ef795c66f56048b1b0db10 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/borderline-trees-count/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:class tern:IRI ; - sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:IRI`." ; - sh:message "The result _MUST_ be an instance of `tern:IRI`." ; - sh:name "Value type" ; - sh:path ; - sh:target [ + sh:datatype xsd:integer ; + sh:description "Value _MUST_ be non-negative." ; + sh:message "The result _MUST_ have a non-negative value." ; + sh:minInclusive 0 ; + sh:name "Value range" ; + sh:path rdf:value ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ + PREFIX tern: + PREFIX sosa: + PREFIX rdf: + select ?this { + ?observation a tern:Observation ; + sosa:observedProperty + ; + sosa:hasResult ?this . + }""" ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-sweep-hit-type/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n9a26f7013c9a4ef795c66f56048b1b0db10 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/borderline-trees-count/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description """IRI of `tern:vocabulary` in `sosa:hasResult` _MUST_ have the value ``. - - `` is the IRI for "Basal sweep hit type codes".""" ; - sh:message "The value of `tern:vocabulary` _MUST_ match the pattern `0ba17555-8c8f-435a-b16f-62773561207b$`." ; - sh:name "Vocabulary" ; - sh:path tern:vocabulary ; - sh:pattern "0ba17555-8c8f-435a-b16f-62773561207b$" ; - sh:target [ + sh:class tern:Integer ; + sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Integer`." ; + sh:message "The result _MUST_ be an instance of `tern:Integer`." ; + sh:name "Value type" ; + sh:path sosa:hasResult ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" + PREFIX tern: + PREFIX unit: + PREFIX sosa: + PREFIX rdf: + select ?this { + values ?property_uri {} + ?this a tern:Observation ; + sosa:observedProperty ?property_uri . + } + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-sweep-hit-type/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n9a26f7013c9a4ef795c66f56048b1b0db10 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/borderline-trees-count/shapes.ttl"^^xsd:anyURI ; . a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:datatype xsd:string ; sh:description "The value in `sosa:hasResult` _MUST_ be xsd:string." ; sh:message "The value of `rdf:value` _MUST_ have the datatype xsd:string." ; sh:name "Datatype" ; sh:path rdf:value ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -432,9 +435,9 @@ PREFIX xsd: sosa:observedProperty ; sosa:hasResult ?this . - }""" + }""" ; ] ; - urnp:examples ; + urnp:examples _:n9a26f7013c9a4ef795c66f56048b1b0db17 ; urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; . @@ -442,14 +445,15 @@ PREFIX xsd: a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "TERN's ecologists have determined the feature type is _plant population_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; sh:hasValue ; sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/ae71c3f6-d430-400f-a1d4-97a333b4ee02[`plant population`]." ; sh:name "Feature type" ; sh:path tern:featureType ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -461,9 +465,9 @@ PREFIX xsd: sosa:observedProperty ?property_uri ; sosa:hasFeatureOfInterest ?this . } - """ + """ ; ] ; - urnp:examples ; + urnp:examples _:n9a26f7013c9a4ef795c66f56048b1b0db17 ; urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; . @@ -471,12 +475,13 @@ PREFIX xsd: a sh:NodeShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; sh:name "Simple result" ; - sh:sparql [ + sh:sparql + [ sh:select """ PREFIX tern: PREFIX unit: @@ -492,10 +497,10 @@ PREFIX xsd: ?result rdf:value ?value . filter (?simple != ?value) } - """ + """ ; ] ; sh:targetClass tern:Observation ; - urnp:examples ; + urnp:examples _:n9a26f7013c9a4ef795c66f56048b1b0db17 ; urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; . @@ -503,7 +508,7 @@ PREFIX xsd: a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Observations following the Basal wedge protocol are made in the context of a site visit." ; sh:maxCount 1 ; @@ -511,7 +516,8 @@ PREFIX xsd: sh:minCount 1 ; sh:name "Site visit" ; sh:path tern:hasSiteVisit ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -523,9 +529,9 @@ PREFIX xsd: ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; + urnp:examples _:n9a26f7013c9a4ef795c66f56048b1b0db17 ; urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; . @@ -533,16 +539,17 @@ PREFIX xsd: a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. + sh:description """IRI of method in procedure _MUST_ have the value ``. `` is the IRI for "Basal wedge protocol".""" ; sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/a7d605e0-7d90-473e-aac0-21cdf380576f`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ + sh:message "The procedure's `tern:methodType` _MUST_ have the value `https://linked.data.gov.au/def/nrm/a7d605e0-7d90-473e-aac0-21cdf380576f`." ; + sh:name "Method type of used procedure" ; + sh:path tern:methodType ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -551,12 +558,13 @@ PREFIX xsd: PREFIX rdf: select ?this { values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . + ?observation a tern:Observation ; + sosa:observedProperty ?property_uri ; + sosa:usedProcedure ?this . } - """ + """ ; ] ; - urnp:examples ; + urnp:examples _:n9a26f7013c9a4ef795c66f56048b1b0db17 ; urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; . @@ -564,14 +572,15 @@ PREFIX xsd: a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:class tern:Text ; sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Text`." ; sh:message "The result _MUST_ be an instance of `tern:Text`." ; sh:name "Value type" ; - sh:path ; - sh:target [ + sh:path sosa:hasResult ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -583,51 +592,53 @@ PREFIX xsd: ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; + urnp:examples _:n9a26f7013c9a4ef795c66f56048b1b0db17 ; urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "TERN's ecologists have determined the feature type is _plant population_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; sh:hasValue ; sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/ae71c3f6-d430-400f-a1d4-97a333b4ee02[`plant population`]." ; sh:name "Feature type" ; sh:path tern:featureType ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: PREFIX unit: PREFIX sosa: select ?this { - values ?property_uri {} + values ?property_uri {} ?observation a tern:Observation ; sosa:observedProperty ?property_uri ; sosa:hasFeatureOfInterest ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/mean-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n9a26f7013c9a4ef795c66f56048b1b0db24 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/in-trees-count/shapes.ttl"^^xsd:anyURI ; . - + a sh:NodeShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; sh:name "Simple result" ; - sh:sparql [ + sh:sparql + [ sh:select """ PREFIX tern: PREFIX unit: @@ -636,25 +647,25 @@ PREFIX xsd: select $this { $this a tern:Observation ; sosa:observedProperty - + ; sosa:hasSimpleResult ?simple ; sosa:hasResult ?result . ?result rdf:value ?value . filter (?simple != ?value) } - """ + """ ; ] ; sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/mean-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n9a26f7013c9a4ef795c66f56048b1b0db24 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/in-trees-count/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Observations following the Basal wedge protocol are made in the context of a site visit." ; sh:maxCount 1 ; @@ -662,7 +673,8 @@ PREFIX xsd: sh:minCount 1 ; sh:name "Site visit" ; sh:path tern:hasSiteVisit ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -670,58 +682,31 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} + values ?property_uri {} ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/mean-basal-area/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Result value's unit of measure _MUST_ have the value `unit:M2-PER-HA`." ; - sh:hasValue unit:M2-PER-HA ; - sh:message "The result _MUST_ have `unit:M2-PER-HA` as the value for `tern:unit`." ; - sh:name "Unit of measure" ; - sh:path tern:unit ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/mean-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n9a26f7013c9a4ef795c66f56048b1b0db24 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/in-trees-count/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. + sh:description """IRI of method in procedure _MUST_ have the value ``. `` is the IRI for "Basal wedge protocol".""" ; sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/a7d605e0-7d90-473e-aac0-21cdf380576f`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ + sh:message "The procedure's `tern:methodType` _MUST_ have the value `https://linked.data.gov.au/def/nrm/a7d605e0-7d90-473e-aac0-21cdf380576f`." ; + sh:name "Method type of used procedure" ; + sh:path tern:methodType ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -729,237 +714,31 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/mean-basal-area/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:datatype xsd:float ; - sh:description "Value _MUST_ be positive." ; - sh:message "The result _MUST_ have a positive value." ; - sh:minExclusive 0 ; - sh:name "Value range" ; - sh:path rdf:value ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/mean-basal-area/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:class tern:Float ; - sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Float`." ; - sh:message "The result _MUST_ be an instance of `tern:Float`." ; - sh:name "Value type" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/mean-basal-area/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "TERN's ecologists have determined the feature type is _plant community_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; - sh:hasValue ; - sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/ea3a4c64-dac3-4660-809a-8ad5ced8997b[`plant community`]." ; - sh:name "Feature type" ; - sh:path tern:featureType ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - select ?this { - values ?property_uri {} + values ?property_uri {} ?observation a tern:Observation ; sosa:observedProperty ?property_uri ; - sosa:hasFeatureOfInterest ?this . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:NodeShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; - sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; - sh:name "Simple result" ; - sh:sparql [ - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select $this { - $this a tern:Observation ; - sosa:observedProperty - - ; - sosa:hasSimpleResult ?simple ; - sosa:hasResult ?result . - ?result rdf:value ?value . - filter (?simple != ?value) - } - """ - ] ; - sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Observations following the Basal wedge protocol are made in the context of a site visit." ; - sh:maxCount 1 ; - sh:message "Observations _MUST_ have a value for `tern:hasSiteVisit`." ; - sh:minCount 1 ; - sh:name "Site visit" ; - sh:path tern:hasSiteVisit ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Result value's unit of measure _MUST_ have the value `unit:M2-PER-HA`." ; - sh:hasValue unit:M2-PER-HA ; - sh:message "The result _MUST_ have `unit:M2-PER-HA` as the value for `tern:unit`." ; - sh:name "Unit of measure" ; - sh:path tern:unit ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. - - `` is the IRI for "Basal wedge protocol".""" ; - sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/a7d605e0-7d90-473e-aac0-21cdf380576f`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . + sosa:usedProcedure ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n9a26f7013c9a4ef795c66f56048b1b0db24 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/in-trees-count/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:datatype xsd:float ; - sh:description "Value _MUST_ be positive." ; - sh:message "The result _MUST_ have a positive value." ; - sh:minExclusive 0 ; + sh:datatype xsd:integer ; + sh:description "Value _MUST_ be non-negative." ; + sh:message "The result _MUST_ have a non-negative value." ; + sh:minInclusive 0 ; sh:name "Value range" ; sh:path rdf:value ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -968,26 +747,27 @@ PREFIX xsd: select ?this { ?observation a tern:Observation ; sosa:observedProperty - ; + ; sosa:hasResult ?this . - }""" + }""" ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n9a26f7013c9a4ef795c66f56048b1b0db24 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/in-trees-count/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:class tern:Float ; - sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Float`." ; - sh:message "The result _MUST_ be an instance of `tern:Float`." ; + sh:class tern:Integer ; + sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Integer`." ; + sh:message "The result _MUST_ be an instance of `tern:Integer`." ; sh:name "Value type" ; - sh:path ; - sh:target [ + sh:path sosa:hasResult ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -995,38 +775,32 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} + values ?property_uri {} ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n9a26f7013c9a4ef795c66f56048b1b0db24 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/in-trees-count/shapes.ttl"^^xsd:anyURI ; . - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-count/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-count/valid.ttl"^^xsd:anyURI ; +_:n9a26f7013c9a4ef795c66f56048b1b0db10 + urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/borderline-trees-count/invalid.ttl"^^xsd:anyURI ; + urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/borderline-trees-count/valid.ttl"^^xsd:anyURI ; . - +_:n9a26f7013c9a4ef795c66f56048b1b0db17 urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/invalid.ttl"^^xsd:anyURI ; urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/valid.ttl"^^xsd:anyURI ; . - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-sweep-hit-type/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-sweep-hit-type/valid.ttl"^^xsd:anyURI ; +_:n9a26f7013c9a4ef795c66f56048b1b0db24 + urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/in-trees-count/invalid.ttl"^^xsd:anyURI ; + urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/in-trees-count/valid.ttl"^^xsd:anyURI ; . - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/mean-basal-area/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/mean-basal-area/valid.ttl"^^xsd:anyURI ; +_:n9a26f7013c9a4ef795c66f56048b1b0db2 + urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area/invalid.ttl"^^xsd:anyURI ; + urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area/valid.ttl"^^xsd:anyURI ; . - - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/stand-basal-area/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/stand-basal-area/valid.ttl"^^xsd:anyURI ; -. - diff --git a/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/stand-basal-area/invalid.ttl b/shapes/basal-area/basal-area-dbh-protocol-shapes/basal-area/invalid.ttl similarity index 55% rename from shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/stand-basal-area/invalid.ttl rename to shapes/basal-area/basal-area-dbh-protocol-shapes/basal-area/invalid.ttl index cc510d21..46300772 100644 --- a/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/stand-basal-area/invalid.ttl +++ b/shapes/basal-area/basal-area-dbh-protocol-shapes/basal-area/invalid.ttl @@ -6,200 +6,225 @@ PREFIX unit: PREFIX void: PREFIX xsd: - + + a tern:Procedure ; + tern:methodType ; +. + + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - the datatype of the value of the result node must be `xsd:float`." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Float , tern:Value ; rdf:value 3 ; - sosa:isResultOf ; - tern:unit unit:M2-PER-HA + sosa:isResultOf ; + tern:unit unit:M2-PER-HA ; ] ; sosa:hasSimpleResult 3 ; sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - incorrect feature type." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Float , tern:Value ; rdf:value "33.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M2-PER-HA + sosa:isResultOf ; + tern:unit unit:M2-PER-HA ; ] ; sosa:hasSimpleResult "33.81"^^xsd:float ; sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - The value in simple result must be same with that in the result node." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Float , tern:Value ; rdf:value "33.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M2-PER-HA + sosa:isResultOf ; + tern:unit unit:M2-PER-HA ; ] ; sosa:hasSimpleResult "13.56"^^xsd:float ; sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - all observations must have a site vist." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Float , tern:Value ; rdf:value "33.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M2-PER-HA + sosa:isResultOf ; + tern:unit unit:M2-PER-HA ; ] ; sosa:hasSimpleResult "33.81"^^xsd:float ; sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result unit of measure" ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Float , tern:Value ; rdf:value "33.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit + sosa:isResultOf ; + tern:unit ; ] ; sosa:hasSimpleResult "33.81"^^xsd:float ; sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; - rdfs:comment "Invalid result - the used procedure should be 'Lite DBH measures protocol'." ; - sosa:hasFeatureOfInterest [ + rdfs:comment "Invalid result - the used procedure should be 'DBH protocol'." ; + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Float , tern:Value ; rdf:value "33.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M2-PER-HA + sosa:isResultOf ; + tern:unit unit:M2-PER-HA ; ] ; sosa:hasSimpleResult "33.81"^^xsd:float ; sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - value out of range" ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Float , tern:Value ; - rdf:value "0.0"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M2-PER-HA + rdf:value "-1.11"^^xsd:float ; + sosa:isResultOf ; + tern:unit unit:M2-PER-HA ; ] ; - sosa:hasSimpleResult "0.0"^^xsd:float ; + sosa:hasSimpleResult "-1.11"^^xsd:float ; sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - the value of the result node must be `tern:Float`." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Value ; rdf:value "33.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M2-PER-HA + sosa:isResultOf ; + tern:unit unit:M2-PER-HA ; ] ; sosa:hasSimpleResult "33.81"^^xsd:float ; sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . + + a tern:Procedure ; + tern:methodType ; +. diff --git a/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl b/shapes/basal-area/basal-area-dbh-protocol-shapes/basal-area/shapes.ttl similarity index 63% rename from shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl rename to shapes/basal-area/basal-area-dbh-protocol-shapes/basal-area/shapes.ttl index af6f4a50..d6a7ce98 100644 --- a/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl +++ b/shapes/basal-area/basal-area-dbh-protocol-shapes/basal-area/shapes.ttl @@ -2,24 +2,26 @@ PREFIX dcterms: PREFIX rdf: PREFIX reg: PREFIX sh: +PREFIX sosa: PREFIX tern: PREFIX unit: PREFIX urnc: PREFIX urnp: PREFIX xsd: - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "TERN's ecologists have determined the feature type is _plant community_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; sh:hasValue ; sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/ea3a4c64-dac3-4660-809a-8ad5ced8997b[`plant community`]." ; sh:name "Feature type" ; sh:path tern:featureType ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -31,22 +33,23 @@ PREFIX xsd: sosa:observedProperty ?property_uri ; sosa:hasFeatureOfInterest ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n1c8709add6d849a7aeedbc7c6fdde3a2b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - + a sh:NodeShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; sh:name "Simple result" ; - sh:sparql [ + sh:sparql + [ sh:select """ PREFIX tern: PREFIX unit: @@ -62,26 +65,27 @@ PREFIX xsd: ?result rdf:value ?value . filter (?simple != ?value) } - """ + """ ; ] ; sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n1c8709add6d849a7aeedbc7c6fdde3a2b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description "Observations following the Full DBH measures protocol are made in the context of a site visit." ; + sh:description "Observations following the DBH protocol are made in the context of a site visit." ; sh:maxCount 1 ; sh:message "Observations _MUST_ have a value for `tern:hasSiteVisit`." ; sh:minCount 1 ; sh:name "Site visit" ; sh:path tern:hasSiteVisit ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -93,24 +97,25 @@ PREFIX xsd: ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n1c8709add6d849a7aeedbc7c6fdde3a2b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Result value's unit of measure _MUST_ have the value `unit:M2-PER-HA`." ; sh:hasValue unit:M2-PER-HA ; sh:message "The result _MUST_ have `unit:M2-PER-HA` as the value for `tern:unit`." ; sh:name "Unit of measure" ; sh:path tern:unit ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -121,26 +126,27 @@ PREFIX xsd: sosa:observedProperty ; sosa:hasResult ?this . - }""" + }""" ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n1c8709add6d849a7aeedbc7c6fdde3a2b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. + sh:description """IRI of method in procedure _MUST_ have the value ``. - `` is the IRI for "Full DBH measures protocol".""" ; + `` is the IRI for "DBH protocol".""" ; sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/5a00862b-a885-472e-8bee-561ec502653f`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ + sh:message "The procedure's `tern:methodType` _MUST_ have the value `https://linked.data.gov.au/def/nrm/5a00862b-a885-472e-8bee-561ec502653f`." ; + sh:name "Method type of used procedure" ; + sh:path tern:methodType ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -149,20 +155,21 @@ PREFIX xsd: PREFIX rdf: select ?this { values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . + ?observation a tern:Observation ; + sosa:observedProperty ?property_uri ; + sosa:usedProcedure ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n1c8709add6d849a7aeedbc7c6fdde3a2b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:datatype xsd:float ; sh:description "Value _MUST_ be positive." ; @@ -170,7 +177,8 @@ PREFIX xsd: sh:minExclusive 0 ; sh:name "Value range" ; sh:path rdf:value ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -181,24 +189,25 @@ PREFIX xsd: sosa:observedProperty ; sosa:hasResult ?this . - }""" + }""" ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n1c8709add6d849a7aeedbc7c6fdde3a2b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:class tern:Float ; sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Float`." ; sh:message "The result _MUST_ be an instance of `tern:Float`." ; sh:name "Value type" ; - sh:path ; - sh:target [ + sh:path sosa:hasResult ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -210,14 +219,13 @@ PREFIX xsd: ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n1c8709add6d849a7aeedbc7c6fdde3a2b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/stand-basal-area/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/stand-basal-area/valid.ttl"^^xsd:anyURI ; +_:n1c8709add6d849a7aeedbc7c6fdde3a2b2 + urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/basal-area/invalid.ttl"^^xsd:anyURI ; + urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/basal-area/valid.ttl"^^xsd:anyURI ; . - diff --git a/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/stand-basal-area/valid.ttl b/shapes/basal-area/basal-area-dbh-protocol-shapes/basal-area/valid.ttl similarity index 57% rename from shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/stand-basal-area/valid.ttl rename to shapes/basal-area/basal-area-dbh-protocol-shapes/basal-area/valid.ttl index 99630245..9203085c 100644 --- a/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/stand-basal-area/valid.ttl +++ b/shapes/basal-area/basal-area-dbh-protocol-shapes/basal-area/valid.ttl @@ -6,28 +6,34 @@ PREFIX unit: PREFIX void: PREFIX xsd: - + a tern:Observation ; void:inDataset ; - rdfs:comment "Valid result for observable property - stand basal area" ; - sosa:hasFeatureOfInterest [ + rdfs:comment "Valid result for observable property - basal area" ; + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Float , tern:Value ; rdf:value "33.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M2-PER-HA + sosa:isResultOf ; + tern:unit unit:M2-PER-HA ; ] ; sosa:hasSimpleResult "33.81"^^xsd:float ; sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . + + a tern:Procedure ; + tern:methodType ; +. diff --git a/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/circumference-at-breast-height/invalid.ttl b/shapes/basal-area/basal-area-dbh-protocol-shapes/circumference-at-breast-height/invalid.ttl similarity index 52% rename from shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/circumference-at-breast-height/invalid.ttl rename to shapes/basal-area/basal-area-dbh-protocol-shapes/circumference-at-breast-height/invalid.ttl index 8e54a9be..90e5490d 100644 --- a/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/circumference-at-breast-height/invalid.ttl +++ b/shapes/basal-area/basal-area-dbh-protocol-shapes/circumference-at-breast-height/invalid.ttl @@ -6,200 +6,225 @@ PREFIX unit: PREFIX void: PREFIX xsd: - + + a tern:Procedure ; + tern:methodType ; +. + + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - the datatype of the value of the result node must be `xsd:float`." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Float , tern:Value ; rdf:value 3 ; - sosa:isResultOf ; - tern:unit unit:M + sosa:isResultOf ; + tern:unit unit:M ; ] ; sosa:hasSimpleResult 3 ; - sosa:observedProperty ; + sosa:observedProperty ; sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - incorrect feature type." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Float , tern:Value ; - rdf:value "1.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M + rdf:value "33.81"^^xsd:float ; + sosa:isResultOf ; + tern:unit unit:M ; ] ; - sosa:hasSimpleResult "1.81"^^xsd:float ; - sosa:observedProperty ; + sosa:hasSimpleResult "33.81"^^xsd:float ; + sosa:observedProperty ; sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - The value in simple result must be same with that in the result node." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Float , tern:Value ; - rdf:value "1.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M + rdf:value "33.81"^^xsd:float ; + sosa:isResultOf ; + tern:unit unit:M ; ] ; - sosa:hasSimpleResult "1.56"^^xsd:float ; - sosa:observedProperty ; + sosa:hasSimpleResult "13.56"^^xsd:float ; + sosa:observedProperty ; sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - all observations must have a site vist." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Float , tern:Value ; - rdf:value "1.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M + rdf:value "33.81"^^xsd:float ; + sosa:isResultOf ; + tern:unit unit:M ; ] ; - sosa:hasSimpleResult "1.81"^^xsd:float ; - sosa:observedProperty ; + sosa:hasSimpleResult "33.81"^^xsd:float ; + sosa:observedProperty ; sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result unit of measure" ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Float , tern:Value ; - rdf:value "1.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit + rdf:value "33.81"^^xsd:float ; + sosa:isResultOf ; + tern:unit ; ] ; - sosa:hasSimpleResult "1.81"^^xsd:float ; - sosa:observedProperty ; + sosa:hasSimpleResult "33.81"^^xsd:float ; + sosa:observedProperty ; sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; - rdfs:comment "Invalid result - the used procedure should be 'Lite DBH measures protocol'." ; - sosa:hasFeatureOfInterest [ + rdfs:comment "Invalid result - the used procedure should be 'DBH protocol'." ; + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Float , tern:Value ; - rdf:value "1.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M + rdf:value "33.81"^^xsd:float ; + sosa:isResultOf ; + tern:unit unit:M ; ] ; - sosa:hasSimpleResult "1.81"^^xsd:float ; - sosa:observedProperty ; + sosa:hasSimpleResult "33.81"^^xsd:float ; + sosa:observedProperty ; sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - value out of range" ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Float , tern:Value ; - rdf:value "0.0"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M + rdf:value "-1.11"^^xsd:float ; + sosa:isResultOf ; + tern:unit unit:M ; ] ; - sosa:hasSimpleResult "0.0"^^xsd:float ; - sosa:observedProperty ; + sosa:hasSimpleResult "-1.11"^^xsd:float ; + sosa:observedProperty ; sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - the value of the result node must be `tern:Float`." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Value ; - rdf:value "1.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M + rdf:value "33.81"^^xsd:float ; + sosa:isResultOf ; + tern:unit unit:M ; ] ; - sosa:hasSimpleResult "1.81"^^xsd:float ; - sosa:observedProperty ; + sosa:hasSimpleResult "33.81"^^xsd:float ; + sosa:observedProperty ; sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . + + a tern:Procedure ; + tern:methodType ; +. diff --git a/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl b/shapes/basal-area/basal-area-dbh-protocol-shapes/circumference-at-breast-height/shapes.ttl similarity index 58% rename from shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl rename to shapes/basal-area/basal-area-dbh-protocol-shapes/circumference-at-breast-height/shapes.ttl index 4f037f53..9c4350c4 100644 --- a/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl +++ b/shapes/basal-area/basal-area-dbh-protocol-shapes/circumference-at-breast-height/shapes.ttl @@ -2,51 +2,54 @@ PREFIX dcterms: PREFIX rdf: PREFIX reg: PREFIX sh: +PREFIX sosa: PREFIX tern: PREFIX unit: PREFIX urnc: PREFIX urnp: PREFIX xsd: - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "TERN's ecologists have determined the feature type is _plant occurrence_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; sh:hasValue ; sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/b311c0d3-4a1a-4932-a39c-f5cdc1afa611[`plant occurrence`]." ; sh:name "Feature type" ; sh:path tern:featureType ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: PREFIX unit: PREFIX sosa: select ?this { - values ?property_uri {} + values ?property_uri {} ?observation a tern:Observation ; sosa:observedProperty ?property_uri ; sosa:hasFeatureOfInterest ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n2e9a9d7e2f7f46f0ae75db8b8a4851fcb2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - + a sh:NodeShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; sh:name "Simple result" ; - sh:sparql [ + sh:sparql + [ sh:select """ PREFIX tern: PREFIX unit: @@ -55,33 +58,34 @@ PREFIX xsd: select $this { $this a tern:Observation ; sosa:observedProperty - + ; sosa:hasSimpleResult ?simple ; sosa:hasResult ?result . ?result rdf:value ?value . filter (?simple != ?value) } - """ + """ ; ] ; sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n2e9a9d7e2f7f46f0ae75db8b8a4851fcb2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description "Observations following the Full DBH measures protocol are made in the context of a site visit." ; + sh:description "Observations following the DBH protocol are made in the context of a site visit." ; sh:maxCount 1 ; sh:message "Observations _MUST_ have a value for `tern:hasSiteVisit`." ; sh:minCount 1 ; sh:name "Site visit" ; sh:path tern:hasSiteVisit ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -89,28 +93,29 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} + values ?property_uri {} ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n2e9a9d7e2f7f46f0ae75db8b8a4851fcb2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Result value's unit of measure _MUST_ have the value `unit:M`." ; sh:hasValue unit:M ; sh:message "The result _MUST_ have `unit:M` as the value for `tern:unit`." ; sh:name "Unit of measure" ; sh:path tern:unit ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -119,28 +124,29 @@ PREFIX xsd: select ?this { ?observation a tern:Observation ; sosa:observedProperty - ; + ; sosa:hasResult ?this . - }""" + }""" ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n2e9a9d7e2f7f46f0ae75db8b8a4851fcb2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. + sh:description """IRI of method in procedure _MUST_ have the value ``. - `` is the IRI for "Full DBH measures protocol".""" ; + `` is the IRI for "DBH protocol".""" ; sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/5a00862b-a885-472e-8bee-561ec502653f`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ + sh:message "The procedure's `tern:methodType` _MUST_ have the value `https://linked.data.gov.au/def/nrm/5a00862b-a885-472e-8bee-561ec502653f`." ; + sh:name "Method type of used procedure" ; + sh:path tern:methodType ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -148,21 +154,22 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . + values ?property_uri {} + ?observation a tern:Observation ; + sosa:observedProperty ?property_uri ; + sosa:usedProcedure ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n2e9a9d7e2f7f46f0ae75db8b8a4851fcb2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:datatype xsd:float ; sh:description "Value _MUST_ be positive." ; @@ -170,7 +177,8 @@ PREFIX xsd: sh:minExclusive 0 ; sh:name "Value range" ; sh:path rdf:value ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -179,26 +187,27 @@ PREFIX xsd: select ?this { ?observation a tern:Observation ; sosa:observedProperty - ; + ; sosa:hasResult ?this . - }""" + }""" ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n2e9a9d7e2f7f46f0ae75db8b8a4851fcb2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:class tern:Float ; sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Float`." ; sh:message "The result _MUST_ be an instance of `tern:Float`." ; sh:name "Value type" ; - sh:path ; - sh:target [ + sh:path sosa:hasResult ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -206,18 +215,17 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} + values ?property_uri {} ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n2e9a9d7e2f7f46f0ae75db8b8a4851fcb2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/circumference-at-breast-height/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/circumference-at-breast-height/valid.ttl"^^xsd:anyURI ; +_:n2e9a9d7e2f7f46f0ae75db8b8a4851fcb2 + urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/circumference-at-breast-height/invalid.ttl"^^xsd:anyURI ; + urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/circumference-at-breast-height/valid.ttl"^^xsd:anyURI ; . - diff --git a/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/circumference-at-breast-height/valid.ttl b/shapes/basal-area/basal-area-dbh-protocol-shapes/circumference-at-breast-height/valid.ttl similarity index 58% rename from shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/circumference-at-breast-height/valid.ttl rename to shapes/basal-area/basal-area-dbh-protocol-shapes/circumference-at-breast-height/valid.ttl index 9d9961d0..8c75c67d 100644 --- a/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/circumference-at-breast-height/valid.ttl +++ b/shapes/basal-area/basal-area-dbh-protocol-shapes/circumference-at-breast-height/valid.ttl @@ -6,28 +6,34 @@ PREFIX unit: PREFIX void: PREFIX xsd: - + a tern:Observation ; void:inDataset ; rdfs:comment "Valid result for observable property - circumference at breast height" ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Float , tern:Value ; - rdf:value "1.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M + rdf:value "33.81"^^xsd:float ; + sosa:isResultOf ; + tern:unit unit:M ; ] ; - sosa:hasSimpleResult "1.81"^^xsd:float ; - sosa:observedProperty ; + sosa:hasSimpleResult "33.81"^^xsd:float ; + sosa:observedProperty ; sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . + + a tern:Procedure ; + tern:methodType ; +. diff --git a/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/invalid.ttl b/shapes/basal-area/basal-area-dbh-protocol-shapes/diameter-at-breast-height/invalid.ttl similarity index 54% rename from shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/invalid.ttl rename to shapes/basal-area/basal-area-dbh-protocol-shapes/diameter-at-breast-height/invalid.ttl index 515d70ff..1ddf4720 100644 --- a/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/invalid.ttl +++ b/shapes/basal-area/basal-area-dbh-protocol-shapes/diameter-at-breast-height/invalid.ttl @@ -6,200 +6,225 @@ PREFIX unit: PREFIX void: PREFIX xsd: - + + a tern:Procedure ; + tern:methodType ; +. + + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - the datatype of the value of the result node must be `xsd:float`." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Float , tern:Value ; rdf:value 3 ; - sosa:isResultOf ; - tern:unit unit:M + sosa:isResultOf ; + tern:unit unit:M ; ] ; sosa:hasSimpleResult 3 ; sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - incorrect feature type." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Float , tern:Value ; - rdf:value "1.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M + rdf:value "33.81"^^xsd:float ; + sosa:isResultOf ; + tern:unit unit:M ; ] ; - sosa:hasSimpleResult "1.81"^^xsd:float ; + sosa:hasSimpleResult "33.81"^^xsd:float ; sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - The value in simple result must be same with that in the result node." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Float , tern:Value ; - rdf:value "1.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M + rdf:value "33.81"^^xsd:float ; + sosa:isResultOf ; + tern:unit unit:M ; ] ; - sosa:hasSimpleResult "1.56"^^xsd:float ; + sosa:hasSimpleResult "13.56"^^xsd:float ; sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - all observations must have a site vist." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Float , tern:Value ; - rdf:value "1.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M + rdf:value "33.81"^^xsd:float ; + sosa:isResultOf ; + tern:unit unit:M ; ] ; - sosa:hasSimpleResult "1.81"^^xsd:float ; + sosa:hasSimpleResult "33.81"^^xsd:float ; sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result unit of measure" ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Float , tern:Value ; - rdf:value "1.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit + rdf:value "33.81"^^xsd:float ; + sosa:isResultOf ; + tern:unit ; ] ; - sosa:hasSimpleResult "1.81"^^xsd:float ; + sosa:hasSimpleResult "33.81"^^xsd:float ; sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; - rdfs:comment "Invalid result - the used procedure should be 'Lite DBH measures protocol'." ; - sosa:hasFeatureOfInterest [ + rdfs:comment "Invalid result - the used procedure should be 'DBH protocol'." ; + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Float , tern:Value ; - rdf:value "1.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M + rdf:value "33.81"^^xsd:float ; + sosa:isResultOf ; + tern:unit unit:M ; ] ; - sosa:hasSimpleResult "1.81"^^xsd:float ; + sosa:hasSimpleResult "33.81"^^xsd:float ; sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - value out of range" ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Float , tern:Value ; - rdf:value "0.0"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M + rdf:value "-1.11"^^xsd:float ; + sosa:isResultOf ; + tern:unit unit:M ; ] ; - sosa:hasSimpleResult "0.0"^^xsd:float ; + sosa:hasSimpleResult "-1.11"^^xsd:float ; sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - the value of the result node must be `tern:Float`." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Value ; - rdf:value "1.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M + rdf:value "33.81"^^xsd:float ; + sosa:isResultOf ; + tern:unit unit:M ; ] ; - sosa:hasSimpleResult "1.81"^^xsd:float ; + sosa:hasSimpleResult "33.81"^^xsd:float ; sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . + + a tern:Procedure ; + tern:methodType ; +. diff --git a/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl b/shapes/basal-area/basal-area-dbh-protocol-shapes/diameter-at-breast-height/shapes.ttl similarity index 61% rename from shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl rename to shapes/basal-area/basal-area-dbh-protocol-shapes/diameter-at-breast-height/shapes.ttl index cb20675b..a1872e4f 100644 --- a/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl +++ b/shapes/basal-area/basal-area-dbh-protocol-shapes/diameter-at-breast-height/shapes.ttl @@ -2,24 +2,26 @@ PREFIX dcterms: PREFIX rdf: PREFIX reg: PREFIX sh: +PREFIX sosa: PREFIX tern: PREFIX unit: PREFIX urnc: PREFIX urnp: PREFIX xsd: - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "TERN's ecologists have determined the feature type is _plant occurrence_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; sh:hasValue ; sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/b311c0d3-4a1a-4932-a39c-f5cdc1afa611[`plant occurrence`]." ; sh:name "Feature type" ; sh:path tern:featureType ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -31,22 +33,23 @@ PREFIX xsd: sosa:observedProperty ?property_uri ; sosa:hasFeatureOfInterest ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:nd471c3692dc441cf81922c310915483fb2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/diameter-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - + a sh:NodeShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; sh:name "Simple result" ; - sh:sparql [ + sh:sparql + [ sh:select """ PREFIX tern: PREFIX unit: @@ -62,26 +65,27 @@ PREFIX xsd: ?result rdf:value ?value . filter (?simple != ?value) } - """ + """ ; ] ; sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:nd471c3692dc441cf81922c310915483fb2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/diameter-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description "Observations following the Full DBH measures protocol are made in the context of a site visit." ; + sh:description "Observations following the DBH protocol are made in the context of a site visit." ; sh:maxCount 1 ; sh:message "Observations _MUST_ have a value for `tern:hasSiteVisit`." ; sh:minCount 1 ; sh:name "Site visit" ; sh:path tern:hasSiteVisit ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -93,24 +97,25 @@ PREFIX xsd: ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:nd471c3692dc441cf81922c310915483fb2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/diameter-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Result value's unit of measure _MUST_ have the value `unit:M`." ; sh:hasValue unit:M ; sh:message "The result _MUST_ have `unit:M` as the value for `tern:unit`." ; sh:name "Unit of measure" ; sh:path tern:unit ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -121,26 +126,27 @@ PREFIX xsd: sosa:observedProperty ; sosa:hasResult ?this . - }""" + }""" ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:nd471c3692dc441cf81922c310915483fb2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/diameter-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. + sh:description """IRI of method in procedure _MUST_ have the value ``. - `` is the IRI for "Full DBH measures protocol".""" ; + `` is the IRI for "DBH protocol".""" ; sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/5a00862b-a885-472e-8bee-561ec502653f`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ + sh:message "The procedure's `tern:methodType` _MUST_ have the value `https://linked.data.gov.au/def/nrm/5a00862b-a885-472e-8bee-561ec502653f`." ; + sh:name "Method type of used procedure" ; + sh:path tern:methodType ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -149,20 +155,21 @@ PREFIX xsd: PREFIX rdf: select ?this { values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . + ?observation a tern:Observation ; + sosa:observedProperty ?property_uri ; + sosa:usedProcedure ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:nd471c3692dc441cf81922c310915483fb2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/diameter-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:datatype xsd:float ; sh:description "Value _MUST_ be positive." ; @@ -170,7 +177,8 @@ PREFIX xsd: sh:minExclusive 0 ; sh:name "Value range" ; sh:path rdf:value ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -181,24 +189,25 @@ PREFIX xsd: sosa:observedProperty ; sosa:hasResult ?this . - }""" + }""" ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:nd471c3692dc441cf81922c310915483fb2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/diameter-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:class tern:Float ; sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Float`." ; sh:message "The result _MUST_ be an instance of `tern:Float`." ; sh:name "Value type" ; - sh:path ; - sh:target [ + sh:path sosa:hasResult ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -210,14 +219,13 @@ PREFIX xsd: ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:nd471c3692dc441cf81922c310915483fb2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/diameter-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/valid.ttl"^^xsd:anyURI ; +_:nd471c3692dc441cf81922c310915483fb2 + urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/diameter-at-breast-height/invalid.ttl"^^xsd:anyURI ; + urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/diameter-at-breast-height/valid.ttl"^^xsd:anyURI ; . - diff --git a/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/valid.ttl b/shapes/basal-area/basal-area-dbh-protocol-shapes/diameter-at-breast-height/valid.ttl similarity index 58% rename from shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/valid.ttl rename to shapes/basal-area/basal-area-dbh-protocol-shapes/diameter-at-breast-height/valid.ttl index 05ec64ae..c43a0b65 100644 --- a/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/valid.ttl +++ b/shapes/basal-area/basal-area-dbh-protocol-shapes/diameter-at-breast-height/valid.ttl @@ -6,28 +6,34 @@ PREFIX unit: PREFIX void: PREFIX xsd: - + a tern:Observation ; void:inDataset ; - rdfs:comment "Valid result for observable property - diameter at breast height (dbh)" ; - sosa:hasFeatureOfInterest [ + rdfs:comment "Valid result for observable property - diameter at breast height" ; + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Float , tern:Value ; - rdf:value "1.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M + rdf:value "33.81"^^xsd:float ; + sosa:isResultOf ; + tern:unit unit:M ; ] ; - sosa:hasSimpleResult "1.81"^^xsd:float ; + sosa:hasSimpleResult "33.81"^^xsd:float ; sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . + + a tern:Procedure ; + tern:methodType ; +. diff --git a/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/field-species-name/invalid.ttl b/shapes/basal-area/basal-area-dbh-protocol-shapes/field-species-name/invalid.ttl similarity index 62% rename from shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/field-species-name/invalid.ttl rename to shapes/basal-area/basal-area-dbh-protocol-shapes/field-species-name/invalid.ttl index d4785dd8..2820b10e 100644 --- a/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/field-species-name/invalid.ttl +++ b/shapes/basal-area/basal-area-dbh-protocol-shapes/field-species-name/invalid.ttl @@ -5,118 +5,133 @@ PREFIX tern: PREFIX void: PREFIX xsd: - + + a tern:Procedure ; + tern:methodType ; +. + + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - the datatype of the value of the result node must be `xsd:string`." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Text , tern:Value ; rdf:value 1 ; - sosa:isResultOf + sosa:isResultOf ; ] ; sosa:hasSimpleResult 1 ; sosa:observedProperty ; sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - incorrect feature type." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Text , tern:Value ; - rdf:value "Bee"^^xsd:string ; - sosa:isResultOf + rdf:value "Oak"^^xsd:string ; + sosa:isResultOf ; ] ; - sosa:hasSimpleResult "Bee"^^xsd:string ; + sosa:hasSimpleResult "Oak"^^xsd:string ; sosa:observedProperty ; sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - The value in simple result must be same with that in the result node." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Text , tern:Value ; - rdf:value "Bee"^^xsd:string ; - sosa:isResultOf + rdf:value "Oak"^^xsd:string ; + sosa:isResultOf ; ] ; - sosa:hasSimpleResult "Bee different"^^xsd:string ; + sosa:hasSimpleResult "Oak different"^^xsd:string ; sosa:observedProperty ; sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - all observations must have a site vist." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Text , tern:Value ; - rdf:value "Bee"^^xsd:string ; - sosa:isResultOf + rdf:value "Oak"^^xsd:string ; + sosa:isResultOf ; ] ; - sosa:hasSimpleResult "Bee"^^xsd:string ; + sosa:hasSimpleResult "Oak"^^xsd:string ; sosa:observedProperty ; sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; . - + a tern:Observation ; void:inDataset ; - rdfs:comment "Invalid result - the used procedure should be 'Lite DBH measures protocol'." ; - sosa:hasFeatureOfInterest [ + rdfs:comment "Invalid result - the used procedure should be 'DBH protocol'." ; + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Text , tern:Value ; - rdf:value "Bee"^^xsd:string ; - sosa:isResultOf + rdf:value "Oak"^^xsd:string ; + sosa:isResultOf ; ] ; - sosa:hasSimpleResult "Bee"^^xsd:string ; + sosa:hasSimpleResult "Oak"^^xsd:string ; sosa:observedProperty ; sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; @@ -124,25 +139,31 @@ PREFIX xsd: tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - the value of the result node must be `tern:Text`." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Value ; - rdf:value "Bee"^^xsd:string ; - sosa:isResultOf + rdf:value "Oak"^^xsd:string ; + sosa:isResultOf ; ] ; - sosa:hasSimpleResult "Bee"^^xsd:string ; + sosa:hasSimpleResult "Oak"^^xsd:string ; sosa:observedProperty ; sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . + + a tern:Procedure ; + tern:methodType ; +. diff --git a/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/field-species-name/shapes.ttl b/shapes/basal-area/basal-area-dbh-protocol-shapes/field-species-name/shapes.ttl similarity index 62% rename from shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/field-species-name/shapes.ttl rename to shapes/basal-area/basal-area-dbh-protocol-shapes/field-species-name/shapes.ttl index d4a8ecf3..ace7c1db 100644 --- a/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/field-species-name/shapes.ttl +++ b/shapes/basal-area/basal-area-dbh-protocol-shapes/field-species-name/shapes.ttl @@ -2,23 +2,25 @@ PREFIX dcterms: PREFIX rdf: PREFIX reg: PREFIX sh: +PREFIX sosa: PREFIX tern: PREFIX urnc: PREFIX urnp: PREFIX xsd: - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:datatype xsd:string ; sh:description "The value in `sosa:hasResult` _MUST_ be xsd:string." ; sh:message "The value of `rdf:value` _MUST_ have the datatype xsd:string." ; sh:name "Datatype" ; sh:path rdf:value ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -29,24 +31,25 @@ PREFIX xsd: sosa:observedProperty ; sosa:hasResult ?this . - }""" + }""" ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:na18fdd354d3d459d9ea594820f470f25b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "TERN's ecologists have determined the feature type is _plant occurrence_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; sh:hasValue ; sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/b311c0d3-4a1a-4932-a39c-f5cdc1afa611[`plant occurrence`]." ; sh:name "Feature type" ; sh:path tern:featureType ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -58,22 +61,23 @@ PREFIX xsd: sosa:observedProperty ?property_uri ; sosa:hasFeatureOfInterest ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:na18fdd354d3d459d9ea594820f470f25b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; . - + a sh:NodeShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; sh:name "Simple result" ; - sh:sparql [ + sh:sparql + [ sh:select """ PREFIX tern: PREFIX unit: @@ -89,26 +93,27 @@ PREFIX xsd: ?result rdf:value ?value . filter (?simple != ?value) } - """ + """ ; ] ; sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:na18fdd354d3d459d9ea594820f470f25b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description "Observations following the Full DBH measures protocol are made in the context of a site visit." ; + sh:description "Observations following the DBH protocol are made in the context of a site visit." ; sh:maxCount 1 ; sh:message "Observations _MUST_ have a value for `tern:hasSiteVisit`." ; sh:minCount 1 ; sh:name "Site visit" ; sh:path tern:hasSiteVisit ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -120,26 +125,27 @@ PREFIX xsd: ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:na18fdd354d3d459d9ea594820f470f25b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. + sh:description """IRI of method in procedure _MUST_ have the value ``. - `` is the IRI for "Full DBH measures protocol".""" ; + `` is the IRI for "DBH protocol".""" ; sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/5a00862b-a885-472e-8bee-561ec502653f`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ + sh:message "The procedure's `tern:methodType` _MUST_ have the value `https://linked.data.gov.au/def/nrm/5a00862b-a885-472e-8bee-561ec502653f`." ; + sh:name "Method type of used procedure" ; + sh:path tern:methodType ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -148,27 +154,29 @@ PREFIX xsd: PREFIX rdf: select ?this { values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . + ?observation a tern:Observation ; + sosa:observedProperty ?property_uri ; + sosa:usedProcedure ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:na18fdd354d3d459d9ea594820f470f25b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:class tern:Text ; sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Text`." ; sh:message "The result _MUST_ be an instance of `tern:Text`." ; sh:name "Value type" ; - sh:path ; - sh:target [ + sh:path sosa:hasResult ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -180,14 +188,13 @@ PREFIX xsd: ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:na18fdd354d3d459d9ea594820f470f25b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; . - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/field-species-name/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/field-species-name/valid.ttl"^^xsd:anyURI ; +_:na18fdd354d3d459d9ea594820f470f25b2 + urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/field-species-name/invalid.ttl"^^xsd:anyURI ; + urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/field-species-name/valid.ttl"^^xsd:anyURI ; . - diff --git a/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/field-species-name/valid.ttl b/shapes/basal-area/basal-area-dbh-protocol-shapes/field-species-name/valid.ttl similarity index 64% rename from shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/field-species-name/valid.ttl rename to shapes/basal-area/basal-area-dbh-protocol-shapes/field-species-name/valid.ttl index 22babcf3..53beda83 100644 --- a/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/field-species-name/valid.ttl +++ b/shapes/basal-area/basal-area-dbh-protocol-shapes/field-species-name/valid.ttl @@ -5,27 +5,33 @@ PREFIX tern: PREFIX void: PREFIX xsd: - + a tern:Observation ; void:inDataset ; rdfs:comment "Valid result for observable property - field species name" ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Text , tern:Value ; - rdf:value "Bee"^^xsd:string ; - sosa:isResultOf + rdf:value "Oak"^^xsd:string ; + sosa:isResultOf ; ] ; - sosa:hasSimpleResult "Bee"^^xsd:string ; + sosa:hasSimpleResult "Oak"^^xsd:string ; sosa:observedProperty ; sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . + + a tern:Procedure ; + tern:methodType ; +. diff --git a/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/plant-status/invalid.ttl b/shapes/basal-area/basal-area-dbh-protocol-shapes/plant-mortality/invalid.ttl similarity index 50% rename from shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/plant-status/invalid.ttl rename to shapes/basal-area/basal-area-dbh-protocol-shapes/plant-mortality/invalid.ttl index e5fce30a..be59a4ac 100644 --- a/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/plant-status/invalid.ttl +++ b/shapes/basal-area/basal-area-dbh-protocol-shapes/plant-mortality/invalid.ttl @@ -5,175 +5,198 @@ PREFIX tern: PREFIX void: PREFIX xsd: - + + a tern:Procedure ; + tern:methodType ; +. + + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - incorrect feature type." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:IRI , tern:Value ; - rdf:value ; - sosa:isResultOf ; - tern:vocabulary + rdf:value ; + sosa:isResultOf ; + tern:vocabulary ; ] ; - sosa:hasSimpleResult ; + sosa:hasSimpleResult ; sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - value not from the controlled vocabulary list" ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:IRI , tern:Value ; rdf:value ; - sosa:isResultOf ; - tern:vocabulary + sosa:isResultOf ; + tern:vocabulary ; ] ; sosa:hasSimpleResult ; sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - The value in simple result must be same with that in the result node." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:IRI , tern:Value ; - rdf:value ; - sosa:isResultOf ; - tern:vocabulary + rdf:value ; + sosa:isResultOf ; + tern:vocabulary ; ] ; sosa:hasSimpleResult ; sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - all observations must have a site vist." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:IRI , tern:Value ; - rdf:value ; - sosa:isResultOf ; - tern:vocabulary + rdf:value ; + sosa:isResultOf ; + tern:vocabulary ; ] ; - sosa:hasSimpleResult ; + sosa:hasSimpleResult ; sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; . - + a tern:Observation ; void:inDataset ; - rdfs:comment "Invalid result - the used procedure should be 'Lite DBH measures protocol'." ; - sosa:hasFeatureOfInterest [ + rdfs:comment "Invalid result - the used procedure should be 'DBH protocol'." ; + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:IRI , tern:Value ; - rdf:value ; - sosa:isResultOf ; - tern:vocabulary + rdf:value ; + sosa:isResultOf ; + tern:vocabulary ; ] ; - sosa:hasSimpleResult ; + sosa:hasSimpleResult ; sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - the value of the result node must be `tern:IRI`." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Value ; - rdf:value ; - sosa:isResultOf ; - tern:vocabulary + rdf:value ; + sosa:isResultOf ; + tern:vocabulary ; ] ; - sosa:hasSimpleResult ; + sosa:hasSimpleResult ; sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - incorrect vocabulary" ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:IRI , tern:Value ; - rdf:value ; - sosa:isResultOf ; - tern:vocabulary + rdf:value ; + sosa:isResultOf ; + tern:vocabulary ; ] ; - sosa:hasSimpleResult ; + sosa:hasSimpleResult ; sosa:observedProperty ; - sosa:phenomenonTime ; + sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . + + a tern:Procedure ; + tern:methodType ; +. diff --git a/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/plant-status/shapes.ttl b/shapes/basal-area/basal-area-dbh-protocol-shapes/plant-mortality/shapes.ttl similarity index 63% rename from shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/plant-status/shapes.ttl rename to shapes/basal-area/basal-area-dbh-protocol-shapes/plant-mortality/shapes.ttl index bbee8b8d..2874a0d1 100644 --- a/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/plant-status/shapes.ttl +++ b/shapes/basal-area/basal-area-dbh-protocol-shapes/plant-mortality/shapes.ttl @@ -2,23 +2,25 @@ PREFIX dcterms: PREFIX rdf: PREFIX reg: PREFIX sh: +PREFIX sosa: PREFIX tern: PREFIX urnc: PREFIX urnp: PREFIX xsd: - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "TERN's ecologists have determined the feature type is _plant occurrence_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; sh:hasValue ; sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/b311c0d3-4a1a-4932-a39c-f5cdc1afa611[`plant occurrence`]." ; sh:name "Feature type" ; sh:path tern:featureType ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -30,29 +32,30 @@ PREFIX xsd: sosa:observedProperty ?property_uri ; sosa:hasFeatureOfInterest ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n7aa33382b1ab4efe88ba0c269322e86bb2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/plant-mortality/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Controlled , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description "The value in `sosa:hasResult` _MUST_ be a value in `sh:in`, which is the Plant statuses codes controlled vocabulary." ; + sh:description "The value in `sosa:hasResult` _MUST_ be a value in `sh:in`, which is the Plant statuses controlled vocabulary." ; sh:in ( - - - - ) ; - sh:message "The value of `rdf:value` _MUST_ exist in the Plant statuses codes controlled vocabulary." ; + + + + ) ; + sh:message "The value of `rdf:value` _MUST_ exist in the Plant statuses controlled vocabulary." ; sh:name "Result value" ; sh:path rdf:value ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -63,9 +66,9 @@ PREFIX xsd: sosa:observedProperty ; sosa:hasResult ?this . - }""" + }""" ; ] ; - urnp:examples ; + urnp:examples _:n7aa33382b1ab4efe88ba0c269322e86bb2 ; urnp:query """ PREFIX skos: select ?values { @@ -75,19 +78,20 @@ PREFIX xsd: } """ ; urnp:sparqlEndpoint "https://graphdb.tern.org.au/repositories/dawe_vocabs_core" ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/plant-mortality/shapes.ttl"^^xsd:anyURI ; . - + a sh:NodeShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; sh:name "Simple result" ; - sh:sparql [ + sh:sparql + [ sh:select """ PREFIX tern: PREFIX unit: @@ -103,26 +107,27 @@ PREFIX xsd: ?result rdf:value ?value . filter (?simple != ?value) } - """ + """ ; ] ; sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n7aa33382b1ab4efe88ba0c269322e86bb2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/plant-mortality/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description "Observations following the Full DBH measures protocol are made in the context of a site visit." ; + sh:description "Observations following the DBH protocol are made in the context of a site visit." ; sh:maxCount 1 ; sh:message "Observations _MUST_ have a value for `tern:hasSiteVisit`." ; sh:minCount 1 ; sh:name "Site visit" ; sh:path tern:hasSiteVisit ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -134,26 +139,27 @@ PREFIX xsd: ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n7aa33382b1ab4efe88ba0c269322e86bb2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/plant-mortality/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. + sh:description """IRI of method in procedure _MUST_ have the value ``. - `` is the IRI for "Full DBH measures protocol".""" ; + `` is the IRI for "DBH protocol".""" ; sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/5a00862b-a885-472e-8bee-561ec502653f`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ + sh:message "The procedure's `tern:methodType` _MUST_ have the value `https://linked.data.gov.au/def/nrm/5a00862b-a885-472e-8bee-561ec502653f`." ; + sh:name "Method type of used procedure" ; + sh:path tern:methodType ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -162,27 +168,29 @@ PREFIX xsd: PREFIX rdf: select ?this { values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . + ?observation a tern:Observation ; + sosa:observedProperty ?property_uri ; + sosa:usedProcedure ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n7aa33382b1ab4efe88ba0c269322e86bb2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/plant-mortality/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:class tern:IRI ; sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:IRI`." ; sh:message "The result _MUST_ be an instance of `tern:IRI`." ; sh:name "Value type" ; - sh:path ; - sh:target [ + sh:path sosa:hasResult ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -194,26 +202,27 @@ PREFIX xsd: ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n7aa33382b1ab4efe88ba0c269322e86bb2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/plant-mortality/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description """IRI of `tern:vocabulary` in `sosa:hasResult` _MUST_ have the value ``. - `` is the IRI for "Plant statuses codes".""" ; + `` is the IRI for "Plant statuses".""" ; sh:message "The value of `tern:vocabulary` _MUST_ match the pattern `b7368a37-a4ac-4c84-8a78-1fb9755ad849$`." ; sh:name "Vocabulary" ; sh:path tern:vocabulary ; sh:pattern "b7368a37-a4ac-4c84-8a78-1fb9755ad849$" ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -224,14 +233,13 @@ PREFIX xsd: sosa:observedProperty ; sosa:hasResult ?this . - }""" + }""" ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n7aa33382b1ab4efe88ba0c269322e86bb2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/plant-mortality/shapes.ttl"^^xsd:anyURI ; . - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/plant-status/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/plant-status/valid.ttl"^^xsd:anyURI ; +_:n7aa33382b1ab4efe88ba0c269322e86bb2 + urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/plant-mortality/invalid.ttl"^^xsd:anyURI ; + urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/plant-mortality/valid.ttl"^^xsd:anyURI ; . - diff --git a/shapes/basal-area/basal-area-dbh-protocol-shapes/plant-mortality/valid.ttl b/shapes/basal-area/basal-area-dbh-protocol-shapes/plant-mortality/valid.ttl new file mode 100644 index 00000000..e7618bd6 --- /dev/null +++ b/shapes/basal-area/basal-area-dbh-protocol-shapes/plant-mortality/valid.ttl @@ -0,0 +1,38 @@ +PREFIX rdf: +PREFIX rdfs: +PREFIX sosa: +PREFIX tern: +PREFIX void: +PREFIX xsd: + + + a tern:Observation ; + void:inDataset ; + rdfs:comment "Valid result for observable property - plant mortality" ; + sosa:hasFeatureOfInterest + [ + a tern:FeatureOfInterest ; + void:inDataset ; + tern:featureType ; + ] ; + sosa:hasResult + [ + a + tern:IRI , + tern:Value ; + rdf:value ; + sosa:isResultOf ; + tern:vocabulary ; + ] ; + sosa:hasSimpleResult ; + sosa:observedProperty ; + sosa:phenomenonTime ; + sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; + sosa:usedProcedure ; + tern:hasSiteVisit ; +. + + + a tern:Procedure ; + tern:methodType ; +. diff --git a/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/shapes.ttl b/shapes/basal-area/basal-area-dbh-protocol-shapes/shapes.ttl similarity index 60% rename from shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/shapes.ttl rename to shapes/basal-area/basal-area-dbh-protocol-shapes/shapes.ttl index b2fd5b6a..82153f97 100644 --- a/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/shapes.ttl +++ b/shapes/basal-area/basal-area-dbh-protocol-shapes/shapes.ttl @@ -2,51 +2,54 @@ PREFIX dcterms: PREFIX rdf: PREFIX reg: PREFIX sh: +PREFIX sosa: PREFIX tern: PREFIX unit: PREFIX urnc: PREFIX urnp: PREFIX xsd: - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description "TERN's ecologists have determined the feature type is _plant occurrence_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; - sh:hasValue ; - sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/b311c0d3-4a1a-4932-a39c-f5cdc1afa611[`plant occurrence`]." ; + sh:description "TERN's ecologists have determined the feature type is _plant community_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; + sh:hasValue ; + sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/ea3a4c64-dac3-4660-809a-8ad5ced8997b[`plant community`]." ; sh:name "Feature type" ; sh:path tern:featureType ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: PREFIX unit: PREFIX sosa: select ?this { - values ?property_uri {} + values ?property_uri {} ?observation a tern:Observation ; sosa:observedProperty ?property_uri ; sosa:hasFeatureOfInterest ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - + a sh:NodeShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; sh:name "Simple result" ; - sh:sparql [ + sh:sparql + [ sh:select """ PREFIX tern: PREFIX unit: @@ -55,33 +58,34 @@ PREFIX xsd: select $this { $this a tern:Observation ; sosa:observedProperty - + ; sosa:hasSimpleResult ?simple ; sosa:hasResult ?result . ?result rdf:value ?value . filter (?simple != ?value) } - """ + """ ; ] ; sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description "Observations following the Full DBH measures protocol are made in the context of a site visit." ; + sh:description "Observations following the DBH protocol are made in the context of a site visit." ; sh:maxCount 1 ; sh:message "Observations _MUST_ have a value for `tern:hasSiteVisit`." ; sh:minCount 1 ; sh:name "Site visit" ; sh:path tern:hasSiteVisit ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -89,28 +93,29 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} + values ?property_uri {} ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description "Result value's unit of measure _MUST_ have the value `unit:M`." ; - sh:hasValue unit:M ; - sh:message "The result _MUST_ have `unit:M` as the value for `tern:unit`." ; + sh:description "Result value's unit of measure _MUST_ have the value `unit:M2-PER-HA`." ; + sh:hasValue unit:M2-PER-HA ; + sh:message "The result _MUST_ have `unit:M2-PER-HA` as the value for `tern:unit`." ; sh:name "Unit of measure" ; sh:path tern:unit ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -119,28 +124,29 @@ PREFIX xsd: select ?this { ?observation a tern:Observation ; sosa:observedProperty - ; + ; sosa:hasResult ?this . - }""" + }""" ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. + sh:description """IRI of method in procedure _MUST_ have the value ``. - `` is the IRI for "Full DBH measures protocol".""" ; + `` is the IRI for "DBH protocol".""" ; sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/5a00862b-a885-472e-8bee-561ec502653f`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ + sh:message "The procedure's `tern:methodType` _MUST_ have the value `https://linked.data.gov.au/def/nrm/5a00862b-a885-472e-8bee-561ec502653f`." ; + sh:name "Method type of used procedure" ; + sh:path tern:methodType ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -148,21 +154,22 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . + values ?property_uri {} + ?observation a tern:Observation ; + sosa:observedProperty ?property_uri ; + sosa:usedProcedure ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:datatype xsd:float ; sh:description "Value _MUST_ be positive." ; @@ -170,7 +177,8 @@ PREFIX xsd: sh:minExclusive 0 ; sh:name "Value range" ; sh:path rdf:value ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -179,26 +187,27 @@ PREFIX xsd: select ?this { ?observation a tern:Observation ; sosa:observedProperty - ; + ; sosa:hasResult ?this . - }""" + }""" ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:class tern:Float ; sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Float`." ; sh:message "The result _MUST_ be an instance of `tern:Float`." ; sh:name "Value type" ; - sh:path ; - sh:target [ + sh:path sosa:hasResult ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -206,55 +215,57 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} + values ?property_uri {} ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "TERN's ecologists have determined the feature type is _plant occurrence_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; sh:hasValue ; sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/b311c0d3-4a1a-4932-a39c-f5cdc1afa611[`plant occurrence`]." ; sh:name "Feature type" ; sh:path tern:featureType ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: PREFIX unit: PREFIX sosa: select ?this { - values ?property_uri {} + values ?property_uri {} ?observation a tern:Observation ; sosa:observedProperty ?property_uri ; sosa:hasFeatureOfInterest ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b10 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - + a sh:NodeShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; sh:name "Simple result" ; - sh:sparql [ + sh:sparql + [ sh:select """ PREFIX tern: PREFIX unit: @@ -263,33 +274,34 @@ PREFIX xsd: select $this { $this a tern:Observation ; sosa:observedProperty - + ; sosa:hasSimpleResult ?simple ; sosa:hasResult ?result . ?result rdf:value ?value . filter (?simple != ?value) } - """ + """ ; ] ; sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b10 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description "Observations following the Full DBH measures protocol are made in the context of a site visit." ; + sh:description "Observations following the DBH protocol are made in the context of a site visit." ; sh:maxCount 1 ; sh:message "Observations _MUST_ have a value for `tern:hasSiteVisit`." ; sh:minCount 1 ; sh:name "Site visit" ; sh:path tern:hasSiteVisit ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -297,28 +309,29 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} + values ?property_uri {} ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b10 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Result value's unit of measure _MUST_ have the value `unit:M`." ; sh:hasValue unit:M ; sh:message "The result _MUST_ have `unit:M` as the value for `tern:unit`." ; sh:name "Unit of measure" ; sh:path tern:unit ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -327,28 +340,29 @@ PREFIX xsd: select ?this { ?observation a tern:Observation ; sosa:observedProperty - ; + ; sosa:hasResult ?this . - }""" + }""" ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b10 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. + sh:description """IRI of method in procedure _MUST_ have the value ``. - `` is the IRI for "Full DBH measures protocol".""" ; + `` is the IRI for "DBH protocol".""" ; sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/5a00862b-a885-472e-8bee-561ec502653f`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ + sh:message "The procedure's `tern:methodType` _MUST_ have the value `https://linked.data.gov.au/def/nrm/5a00862b-a885-472e-8bee-561ec502653f`." ; + sh:name "Method type of used procedure" ; + sh:path tern:methodType ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -356,21 +370,22 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . + values ?property_uri {} + ?observation a tern:Observation ; + sosa:observedProperty ?property_uri ; + sosa:usedProcedure ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b10 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:datatype xsd:float ; sh:description "Value _MUST_ be positive." ; @@ -378,7 +393,8 @@ PREFIX xsd: sh:minExclusive 0 ; sh:name "Value range" ; sh:path rdf:value ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -387,26 +403,27 @@ PREFIX xsd: select ?this { ?observation a tern:Observation ; sosa:observedProperty - ; + ; sosa:hasResult ?this . - }""" + }""" ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b10 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:class tern:Float ; sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Float`." ; sh:message "The result _MUST_ be an instance of `tern:Float`." ; sh:name "Value type" ; - sh:path ; - sh:target [ + sh:path sosa:hasResult ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -414,83 +431,57 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} + values ?property_uri {} ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b10 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:datatype xsd:string ; - sh:description "The value in `sosa:hasResult` _MUST_ be xsd:string." ; - sh:message "The value of `rdf:value` _MUST_ have the datatype xsd:string." ; - sh:name "Datatype" ; - sh:path rdf:value ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "TERN's ecologists have determined the feature type is _plant occurrence_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; sh:hasValue ; sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/b311c0d3-4a1a-4932-a39c-f5cdc1afa611[`plant occurrence`]." ; sh:name "Feature type" ; sh:path tern:featureType ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: PREFIX unit: PREFIX sosa: select ?this { - values ?property_uri {} + values ?property_uri {} ?observation a tern:Observation ; sosa:observedProperty ?property_uri ; sosa:hasFeatureOfInterest ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b18 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/diameter-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - + a sh:NodeShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; sh:name "Simple result" ; - sh:sparql [ + sh:sparql + [ sh:select """ PREFIX tern: PREFIX unit: @@ -499,33 +490,34 @@ PREFIX xsd: select $this { $this a tern:Observation ; sosa:observedProperty - + ; sosa:hasSimpleResult ?simple ; sosa:hasResult ?result . ?result rdf:value ?value . filter (?simple != ?value) } - """ + """ ; ] ; sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b18 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/diameter-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description "Observations following the Full DBH measures protocol are made in the context of a site visit." ; + sh:description "Observations following the DBH protocol are made in the context of a site visit." ; sh:maxCount 1 ; sh:message "Observations _MUST_ have a value for `tern:hasSiteVisit`." ; sh:minCount 1 ; sh:name "Site visit" ; sh:path tern:hasSiteVisit ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -533,30 +525,60 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} + values ?property_uri {} ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; + ] ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b18 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/diameter-at-breast-height/shapes.ttl"^^xsd:anyURI ; +. + + + a + sh:PropertyShape , + urnc:Requirement ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; + reg:status reg:statusSubmitted ; + sh:description "Result value's unit of measure _MUST_ have the value `unit:M`." ; + sh:hasValue unit:M ; + sh:message "The result _MUST_ have `unit:M` as the value for `tern:unit`." ; + sh:name "Unit of measure" ; + sh:path tern:unit ; + sh:target + [ + a sh:SPARQLTarget ; + sh:select """ + PREFIX tern: + PREFIX sosa: + PREFIX rdf: + select ?this { + ?observation a tern:Observation ; + sosa:observedProperty + ; + sosa:hasResult ?this . + }""" ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b18 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/diameter-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. + sh:description """IRI of method in procedure _MUST_ have the value ``. - `` is the IRI for "Full DBH measures protocol".""" ; + `` is the IRI for "DBH protocol".""" ; sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/5a00862b-a885-472e-8bee-561ec502653f`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ + sh:message "The procedure's `tern:methodType` _MUST_ have the value `https://linked.data.gov.au/def/nrm/5a00862b-a885-472e-8bee-561ec502653f`." ; + sh:name "Method type of used procedure" ; + sh:path tern:methodType ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -564,28 +586,60 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . + values ?property_uri {} + ?observation a tern:Observation ; + sosa:observedProperty ?property_uri ; + sosa:usedProcedure ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b18 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/diameter-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:class tern:Text ; - sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Text`." ; - sh:message "The result _MUST_ be an instance of `tern:Text`." ; + sh:datatype xsd:float ; + sh:description "Value _MUST_ be positive." ; + sh:message "The result _MUST_ have a positive value." ; + sh:minExclusive 0 ; + sh:name "Value range" ; + sh:path rdf:value ; + sh:target + [ + a sh:SPARQLTarget ; + sh:select """ + PREFIX tern: + PREFIX sosa: + PREFIX rdf: + select ?this { + ?observation a tern:Observation ; + sosa:observedProperty + ; + sosa:hasResult ?this . + }""" ; + ] ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b18 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/diameter-at-breast-height/shapes.ttl"^^xsd:anyURI ; +. + + + a + sh:PropertyShape , + urnc:Requirement ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; + reg:status reg:statusSubmitted ; + sh:class tern:Float ; + sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Float`." ; + sh:message "The result _MUST_ be an instance of `tern:Float`." ; sh:name "Value type" ; - sh:path ; - sh:target [ + sh:path sosa:hasResult ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -593,97 +647,86 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} + values ?property_uri {} ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b18 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/diameter-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; + reg:status reg:statusSubmitted ; + sh:datatype xsd:string ; + sh:description "The value in `sosa:hasResult` _MUST_ be xsd:string." ; + sh:message "The value of `rdf:value` _MUST_ have the datatype xsd:string." ; + sh:name "Datatype" ; + sh:path rdf:value ; + sh:target + [ + a sh:SPARQLTarget ; + sh:select """ + PREFIX tern: + PREFIX sosa: + PREFIX rdf: + select ?this { + ?observation a tern:Observation ; + sosa:observedProperty + ; + sosa:hasResult ?this . + }""" ; + ] ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b26 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; +. + + + a + sh:PropertyShape , + urnc:Requirement ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "TERN's ecologists have determined the feature type is _plant occurrence_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; sh:hasValue ; sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/b311c0d3-4a1a-4932-a39c-f5cdc1afa611[`plant occurrence`]." ; sh:name "Feature type" ; sh:path tern:featureType ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: PREFIX unit: PREFIX sosa: select ?this { - values ?property_uri {} + values ?property_uri {} ?observation a tern:Observation ; sosa:observedProperty ?property_uri ; sosa:hasFeatureOfInterest ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b26 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; . - - a - sh:PropertyShape , - urnc:Controlled , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "The value in `sosa:hasResult` _MUST_ be a value in `sh:in`, which is the Plant statuses codes controlled vocabulary." ; - sh:in ( - - - - ) ; - sh:message "The value of `rdf:value` _MUST_ exist in the Plant statuses codes controlled vocabulary." ; - sh:name "Result value" ; - sh:path rdf:value ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:query """ - PREFIX skos: - select ?values { - values ?categoricalUUID {'b7368a37-a4ac-4c84-8a78-1fb9755ad849'} - ?s skos:member ?values . - filter (STRENDS(str(?s), ?categoricalUUID)) - } - """ ; - urnp:sparqlEndpoint "https://graphdb.tern.org.au/repositories/dawe_vocabs_core" ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; -. - - + a sh:NodeShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; sh:name "Simple result" ; - sh:sparql [ + sh:sparql + [ sh:select """ PREFIX tern: PREFIX unit: @@ -692,33 +735,34 @@ PREFIX xsd: select $this { $this a tern:Observation ; sosa:observedProperty - + ; sosa:hasSimpleResult ?simple ; sosa:hasResult ?result . ?result rdf:value ?value . filter (?simple != ?value) } - """ + """ ; ] ; sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b26 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description "Observations following the Full DBH measures protocol are made in the context of a site visit." ; + sh:description "Observations following the DBH protocol are made in the context of a site visit." ; sh:maxCount 1 ; sh:message "Observations _MUST_ have a value for `tern:hasSiteVisit`." ; sh:minCount 1 ; sh:name "Site visit" ; sh:path tern:hasSiteVisit ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -726,30 +770,31 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} + values ?property_uri {} ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b26 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. + sh:description """IRI of method in procedure _MUST_ have the value ``. - `` is the IRI for "Full DBH measures protocol".""" ; + `` is the IRI for "DBH protocol".""" ; sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/5a00862b-a885-472e-8bee-561ec502653f`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ + sh:message "The procedure's `tern:methodType` _MUST_ have the value `https://linked.data.gov.au/def/nrm/5a00862b-a885-472e-8bee-561ec502653f`." ; + sh:name "Method type of used procedure" ; + sh:path tern:methodType ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -757,28 +802,30 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . + values ?property_uri {} + ?observation a tern:Observation ; + sosa:observedProperty ?property_uri ; + sosa:usedProcedure ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b26 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:class tern:IRI ; - sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:IRI`." ; - sh:message "The result _MUST_ be an instance of `tern:IRI`." ; + sh:class tern:Text ; + sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Text`." ; + sh:message "The result _MUST_ be an instance of `tern:Text`." ; sh:name "Value type" ; - sh:path ; - sh:target [ + sh:path sosa:hasResult ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -786,85 +833,100 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} + values ?property_uri {} ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b26 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description """IRI of `tern:vocabulary` in `sosa:hasResult` _MUST_ have the value ``. - - `` is the IRI for "Plant statuses codes".""" ; - sh:message "The value of `tern:vocabulary` _MUST_ match the pattern `b7368a37-a4ac-4c84-8a78-1fb9755ad849$`." ; - sh:name "Vocabulary" ; - sh:path tern:vocabulary ; - sh:pattern "b7368a37-a4ac-4c84-8a78-1fb9755ad849$" ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "TERN's ecologists have determined the feature type is _plant community_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; - sh:hasValue ; - sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/ea3a4c64-dac3-4660-809a-8ad5ced8997b[`plant community`]." ; + sh:description "TERN's ecologists have determined the feature type is _plant occurrence_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; + sh:hasValue ; + sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/b311c0d3-4a1a-4932-a39c-f5cdc1afa611[`plant occurrence`]." ; sh:name "Feature type" ; sh:path tern:featureType ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: PREFIX unit: PREFIX sosa: select ?this { - values ?property_uri {} + values ?property_uri {} ?observation a tern:Observation ; sosa:observedProperty ?property_uri ; sosa:hasFeatureOfInterest ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b33 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/plant-mortality/shapes.ttl"^^xsd:anyURI ; . - + + a + sh:PropertyShape , + urnc:Controlled , + urnc:Requirement ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; + reg:status reg:statusSubmitted ; + sh:description "The value in `sosa:hasResult` _MUST_ be a value in `sh:in`, which is the Plant statuses controlled vocabulary." ; + sh:in ( + + + + ) ; + sh:message "The value of `rdf:value` _MUST_ exist in the Plant statuses controlled vocabulary." ; + sh:name "Result value" ; + sh:path rdf:value ; + sh:target + [ + a sh:SPARQLTarget ; + sh:select """ + PREFIX tern: + PREFIX sosa: + PREFIX rdf: + select ?this { + ?observation a tern:Observation ; + sosa:observedProperty + ; + sosa:hasResult ?this . + }""" ; + ] ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b33 ; + urnp:query """ + PREFIX skos: + select ?values { + values ?categoricalUUID {'b7368a37-a4ac-4c84-8a78-1fb9755ad849'} + ?s skos:member ?values . + filter (STRENDS(str(?s), ?categoricalUUID)) + } + """ ; + urnp:sparqlEndpoint "https://graphdb.tern.org.au/repositories/dawe_vocabs_core" ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/plant-mortality/shapes.ttl"^^xsd:anyURI ; +. + + a sh:NodeShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; sh:name "Simple result" ; - sh:sparql [ + sh:sparql + [ sh:select """ PREFIX tern: PREFIX unit: @@ -873,33 +935,34 @@ PREFIX xsd: select $this { $this a tern:Observation ; sosa:observedProperty - + ; sosa:hasSimpleResult ?simple ; sosa:hasResult ?result . ?result rdf:value ?value . filter (?simple != ?value) } - """ + """ ; ] ; sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b33 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/plant-mortality/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description "Observations following the Full DBH measures protocol are made in the context of a site visit." ; + sh:description "Observations following the DBH protocol are made in the context of a site visit." ; sh:maxCount 1 ; sh:message "Observations _MUST_ have a value for `tern:hasSiteVisit`." ; sh:minCount 1 ; sh:name "Site visit" ; sh:path tern:hasSiteVisit ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -907,58 +970,62 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} + values ?property_uri {} ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b33 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/plant-mortality/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description "Result value's unit of measure _MUST_ have the value `unit:M2-PER-HA`." ; - sh:hasValue unit:M2-PER-HA ; - sh:message "The result _MUST_ have `unit:M2-PER-HA` as the value for `tern:unit`." ; - sh:name "Unit of measure" ; - sh:path tern:unit ; - sh:target [ + sh:description """IRI of method in procedure _MUST_ have the value ``. + + `` is the IRI for "DBH protocol".""" ; + sh:hasValue ; + sh:message "The procedure's `tern:methodType` _MUST_ have the value `https://linked.data.gov.au/def/nrm/5a00862b-a885-472e-8bee-561ec502653f`." ; + sh:name "Method type of used procedure" ; + sh:path tern:methodType ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" + PREFIX tern: + PREFIX unit: + PREFIX sosa: + PREFIX rdf: + select ?this { + values ?property_uri {} + ?observation a tern:Observation ; + sosa:observedProperty ?property_uri ; + sosa:usedProcedure ?this . + } + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b33 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/plant-mortality/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. - - `` is the IRI for "Full DBH measures protocol".""" ; - sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/5a00862b-a885-472e-8bee-561ec502653f`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ + sh:class tern:IRI ; + sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:IRI`." ; + sh:message "The result _MUST_ be an instance of `tern:IRI`." ; + sh:name "Value type" ; + sh:path sosa:hasResult ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -966,29 +1033,31 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} + values ?property_uri {} ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b33 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/plant-mortality/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:datatype xsd:float ; - sh:description "Value _MUST_ be positive." ; - sh:message "The result _MUST_ have a positive value." ; - sh:minExclusive 0 ; - sh:name "Value range" ; - sh:path rdf:value ; - sh:target [ + sh:description """IRI of `tern:vocabulary` in `sosa:hasResult` _MUST_ have the value ``. + + `` is the IRI for "Plant statuses".""" ; + sh:message "The value of `tern:vocabulary` _MUST_ match the pattern `b7368a37-a4ac-4c84-8a78-1fb9755ad849$`." ; + sh:name "Vocabulary" ; + sh:path tern:vocabulary ; + sh:pattern "b7368a37-a4ac-4c84-8a78-1fb9755ad849$" ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -997,55 +1066,27 @@ PREFIX xsd: select ?this { ?observation a tern:Observation ; sosa:observedProperty - ; + ; sosa:hasResult ?this . - }""" + }""" ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b33 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/plant-mortality/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:class tern:Float ; - sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Float`." ; - sh:message "The result _MUST_ be an instance of `tern:Float`." ; - sh:name "Value type" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "TERN's ecologists have determined the feature type is _plant occurrence_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; sh:hasValue ; sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/b311c0d3-4a1a-4932-a39c-f5cdc1afa611[`plant occurrence`]." ; sh:name "Feature type" ; sh:path tern:featureType ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -1057,30 +1098,31 @@ PREFIX xsd: sosa:observedProperty ?property_uri ; sosa:hasFeatureOfInterest ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b44 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Controlled , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description "The value in `sosa:hasResult` _MUST_ be a value in `sh:in`, which is the Basal tree trunk types controlled vocabulary." ; + sh:description "The value in `sosa:hasResult` _MUST_ be a value in `sh:in`, which is the Tree trunk types controlled vocabulary." ; sh:in ( - - - - - ) ; - sh:message "The value of `rdf:value` _MUST_ exist in the Basal tree trunk types controlled vocabulary." ; + + + + + ) ; + sh:message "The value of `rdf:value` _MUST_ exist in the Tree trunk types controlled vocabulary." ; sh:name "Result value" ; sh:path rdf:value ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -1091,9 +1133,9 @@ PREFIX xsd: sosa:observedProperty ; sosa:hasResult ?this . - }""" + }""" ; ] ; - urnp:examples ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b44 ; urnp:query """ PREFIX skos: select ?values { @@ -1103,19 +1145,20 @@ PREFIX xsd: } """ ; urnp:sparqlEndpoint "https://graphdb.tern.org.au/repositories/dawe_vocabs_core" ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; . - + a sh:NodeShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; sh:name "Simple result" ; - sh:sparql [ + sh:sparql + [ sh:select """ PREFIX tern: PREFIX unit: @@ -1131,26 +1174,27 @@ PREFIX xsd: ?result rdf:value ?value . filter (?simple != ?value) } - """ + """ ; ] ; sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b44 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description "Observations following the Full DBH measures protocol are made in the context of a site visit." ; + sh:description "Observations following the DBH protocol are made in the context of a site visit." ; sh:maxCount 1 ; sh:message "Observations _MUST_ have a value for `tern:hasSiteVisit`." ; sh:minCount 1 ; sh:name "Site visit" ; sh:path tern:hasSiteVisit ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -1162,26 +1206,27 @@ PREFIX xsd: ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b44 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. + sh:description """IRI of method in procedure _MUST_ have the value ``. - `` is the IRI for "Full DBH measures protocol".""" ; + `` is the IRI for "DBH protocol".""" ; sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/5a00862b-a885-472e-8bee-561ec502653f`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ + sh:message "The procedure's `tern:methodType` _MUST_ have the value `https://linked.data.gov.au/def/nrm/5a00862b-a885-472e-8bee-561ec502653f`." ; + sh:name "Method type of used procedure" ; + sh:path tern:methodType ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -1190,27 +1235,29 @@ PREFIX xsd: PREFIX rdf: select ?this { values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . + ?observation a tern:Observation ; + sosa:observedProperty ?property_uri ; + sosa:usedProcedure ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b44 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:class tern:IRI ; sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:IRI`." ; sh:message "The result _MUST_ be an instance of `tern:IRI`." ; sh:name "Value type" ; - sh:path ; - sh:target [ + sh:path sosa:hasResult ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -1222,26 +1269,27 @@ PREFIX xsd: ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b44 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description """IRI of `tern:vocabulary` in `sosa:hasResult` _MUST_ have the value ``. - `` is the IRI for "Basal tree trunk types".""" ; + `` is the IRI for "Tree trunk types".""" ; sh:message "The value of `tern:vocabulary` _MUST_ match the pattern `9282400b-56c3-49a9-bb82-87ef74914690$`." ; sh:name "Vocabulary" ; sh:path tern:vocabulary ; sh:pattern "9282400b-56c3-49a9-bb82-87ef74914690$" ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -1252,39 +1300,38 @@ PREFIX xsd: sosa:observedProperty ; sosa:hasResult ?this . - }""" + }""" ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n5544965ccfdd4e56acb51fddce1b84b9b44 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; . - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/field-species-name/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/field-species-name/valid.ttl"^^xsd:anyURI ; +_:n5544965ccfdd4e56acb51fddce1b84b9b26 + urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/field-species-name/invalid.ttl"^^xsd:anyURI ; + urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/field-species-name/valid.ttl"^^xsd:anyURI ; . - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/circumference-at-breast-height/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/circumference-at-breast-height/valid.ttl"^^xsd:anyURI ; +_:n5544965ccfdd4e56acb51fddce1b84b9b10 + urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/circumference-at-breast-height/invalid.ttl"^^xsd:anyURI ; + urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/circumference-at-breast-height/valid.ttl"^^xsd:anyURI ; . - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/valid.ttl"^^xsd:anyURI ; +_:n5544965ccfdd4e56acb51fddce1b84b9b18 + urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/diameter-at-breast-height/invalid.ttl"^^xsd:anyURI ; + urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/diameter-at-breast-height/valid.ttl"^^xsd:anyURI ; . - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/plant-status/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/plant-status/valid.ttl"^^xsd:anyURI ; +_:n5544965ccfdd4e56acb51fddce1b84b9b2 + urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/basal-area/invalid.ttl"^^xsd:anyURI ; + urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/basal-area/valid.ttl"^^xsd:anyURI ; . - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/stand-basal-area/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/stand-basal-area/valid.ttl"^^xsd:anyURI ; +_:n5544965ccfdd4e56acb51fddce1b84b9b33 + urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/plant-mortality/invalid.ttl"^^xsd:anyURI ; + urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/plant-mortality/valid.ttl"^^xsd:anyURI ; . - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/tree-trunk-type/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/tree-trunk-type/valid.ttl"^^xsd:anyURI ; +_:n5544965ccfdd4e56acb51fddce1b84b9b44 + urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/tree-trunk-type/invalid.ttl"^^xsd:anyURI ; + urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/tree-trunk-type/valid.ttl"^^xsd:anyURI ; . - diff --git a/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/tree-trunk-type/invalid.ttl b/shapes/basal-area/basal-area-dbh-protocol-shapes/tree-trunk-type/invalid.ttl similarity index 59% rename from shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/tree-trunk-type/invalid.ttl rename to shapes/basal-area/basal-area-dbh-protocol-shapes/tree-trunk-type/invalid.ttl index ec11cf0f..6c76ae9b 100644 --- a/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/tree-trunk-type/invalid.ttl +++ b/shapes/basal-area/basal-area-dbh-protocol-shapes/tree-trunk-type/invalid.ttl @@ -5,123 +5,138 @@ PREFIX tern: PREFIX void: PREFIX xsd: - + + a tern:Procedure ; + tern:methodType ; +. + + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - incorrect feature type." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:IRI , tern:Value ; - rdf:value ; - sosa:isResultOf ; - tern:vocabulary + rdf:value ; + sosa:isResultOf ; + tern:vocabulary ; ] ; - sosa:hasSimpleResult ; + sosa:hasSimpleResult ; sosa:observedProperty ; sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - value not from the controlled vocabulary list" ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:IRI , tern:Value ; rdf:value ; - sosa:isResultOf ; - tern:vocabulary + sosa:isResultOf ; + tern:vocabulary ; ] ; sosa:hasSimpleResult ; sosa:observedProperty ; sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - The value in simple result must be same with that in the result node." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:IRI , tern:Value ; - rdf:value ; - sosa:isResultOf ; - tern:vocabulary + rdf:value ; + sosa:isResultOf ; + tern:vocabulary ; ] ; sosa:hasSimpleResult ; sosa:observedProperty ; sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - all observations must have a site vist." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:IRI , tern:Value ; - rdf:value ; - sosa:isResultOf ; - tern:vocabulary + rdf:value ; + sosa:isResultOf ; + tern:vocabulary ; ] ; - sosa:hasSimpleResult ; + sosa:hasSimpleResult ; sosa:observedProperty ; sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; . - + a tern:Observation ; void:inDataset ; - rdfs:comment "Invalid result - the used procedure should be 'Full DBH measures protocol'." ; - sosa:hasFeatureOfInterest [ + rdfs:comment "Invalid result - the used procedure should be 'DBH protocol'." ; + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:IRI , tern:Value ; - rdf:value ; - sosa:isResultOf ; - tern:vocabulary + rdf:value ; + sosa:isResultOf ; + tern:vocabulary ; ] ; - sosa:hasSimpleResult ; + sosa:hasSimpleResult ; sosa:observedProperty ; sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; @@ -129,51 +144,59 @@ PREFIX xsd: tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - the value of the result node must be `tern:IRI`." ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:Value ; - rdf:value ; - sosa:isResultOf ; - tern:vocabulary + rdf:value ; + sosa:isResultOf ; + tern:vocabulary ; ] ; - sosa:hasSimpleResult ; + sosa:hasSimpleResult ; sosa:observedProperty ; sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . - + a tern:Observation ; void:inDataset ; rdfs:comment "Invalid result - incorrect vocabulary" ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:IRI , tern:Value ; - rdf:value ; - sosa:isResultOf ; - tern:vocabulary + rdf:value ; + sosa:isResultOf ; + tern:vocabulary ; ] ; - sosa:hasSimpleResult ; + sosa:hasSimpleResult ; sosa:observedProperty ; sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . + + a tern:Procedure ; + tern:methodType ; +. diff --git a/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl b/shapes/basal-area/basal-area-dbh-protocol-shapes/tree-trunk-type/shapes.ttl similarity index 62% rename from shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl rename to shapes/basal-area/basal-area-dbh-protocol-shapes/tree-trunk-type/shapes.ttl index 599859ae..b408dcca 100644 --- a/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl +++ b/shapes/basal-area/basal-area-dbh-protocol-shapes/tree-trunk-type/shapes.ttl @@ -2,23 +2,25 @@ PREFIX dcterms: PREFIX rdf: PREFIX reg: PREFIX sh: +PREFIX sosa: PREFIX tern: PREFIX urnc: PREFIX urnp: PREFIX xsd: - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "TERN's ecologists have determined the feature type is _plant occurrence_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; sh:hasValue ; sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/b311c0d3-4a1a-4932-a39c-f5cdc1afa611[`plant occurrence`]." ; sh:name "Feature type" ; sh:path tern:featureType ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -30,30 +32,31 @@ PREFIX xsd: sosa:observedProperty ?property_uri ; sosa:hasFeatureOfInterest ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n64e465d0754943a59bb1eda252c3755fb2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Controlled , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description "The value in `sosa:hasResult` _MUST_ be a value in `sh:in`, which is the Basal tree trunk types controlled vocabulary." ; + sh:description "The value in `sosa:hasResult` _MUST_ be a value in `sh:in`, which is the Tree trunk types controlled vocabulary." ; sh:in ( - - - - - ) ; - sh:message "The value of `rdf:value` _MUST_ exist in the Basal tree trunk types controlled vocabulary." ; + + + + + ) ; + sh:message "The value of `rdf:value` _MUST_ exist in the Tree trunk types controlled vocabulary." ; sh:name "Result value" ; sh:path rdf:value ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -64,9 +67,9 @@ PREFIX xsd: sosa:observedProperty ; sosa:hasResult ?this . - }""" + }""" ; ] ; - urnp:examples ; + urnp:examples _:n64e465d0754943a59bb1eda252c3755fb2 ; urnp:query """ PREFIX skos: select ?values { @@ -76,19 +79,20 @@ PREFIX xsd: } """ ; urnp:sparqlEndpoint "https://graphdb.tern.org.au/repositories/dawe_vocabs_core" ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; . - + a sh:NodeShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; sh:name "Simple result" ; - sh:sparql [ + sh:sparql + [ sh:select """ PREFIX tern: PREFIX unit: @@ -104,26 +108,27 @@ PREFIX xsd: ?result rdf:value ?value . filter (?simple != ?value) } - """ + """ ; ] ; sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n64e465d0754943a59bb1eda252c3755fb2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description "Observations following the Full DBH measures protocol are made in the context of a site visit." ; + sh:description "Observations following the DBH protocol are made in the context of a site visit." ; sh:maxCount 1 ; sh:message "Observations _MUST_ have a value for `tern:hasSiteVisit`." ; sh:minCount 1 ; sh:name "Site visit" ; sh:path tern:hasSiteVisit ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -135,26 +140,27 @@ PREFIX xsd: ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n64e465d0754943a59bb1eda252c3755fb2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. + sh:description """IRI of method in procedure _MUST_ have the value ``. - `` is the IRI for "Full DBH measures protocol".""" ; + `` is the IRI for "DBH protocol".""" ; sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/5a00862b-a885-472e-8bee-561ec502653f`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ + sh:message "The procedure's `tern:methodType` _MUST_ have the value `https://linked.data.gov.au/def/nrm/5a00862b-a885-472e-8bee-561ec502653f`." ; + sh:name "Method type of used procedure" ; + sh:path tern:methodType ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -163,27 +169,29 @@ PREFIX xsd: PREFIX rdf: select ?this { values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . + ?observation a tern:Observation ; + sosa:observedProperty ?property_uri ; + sosa:usedProcedure ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n64e465d0754943a59bb1eda252c3755fb2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:class tern:IRI ; sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:IRI`." ; sh:message "The result _MUST_ be an instance of `tern:IRI`." ; sh:name "Value type" ; - sh:path ; - sh:target [ + sh:path sosa:hasResult ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -195,26 +203,27 @@ PREFIX xsd: ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n64e465d0754943a59bb1eda252c3755fb2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description """IRI of `tern:vocabulary` in `sosa:hasResult` _MUST_ have the value ``. - `` is the IRI for "Basal tree trunk types".""" ; + `` is the IRI for "Tree trunk types".""" ; sh:message "The value of `tern:vocabulary` _MUST_ match the pattern `9282400b-56c3-49a9-bb82-87ef74914690$`." ; sh:name "Vocabulary" ; sh:path tern:vocabulary ; sh:pattern "9282400b-56c3-49a9-bb82-87ef74914690$" ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -225,14 +234,13 @@ PREFIX xsd: sosa:observedProperty ; sosa:hasResult ?this . - }""" + }""" ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:n64e465d0754943a59bb1eda252c3755fb2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; . - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/tree-trunk-type/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/tree-trunk-type/valid.ttl"^^xsd:anyURI ; +_:n64e465d0754943a59bb1eda252c3755fb2 + urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/tree-trunk-type/invalid.ttl"^^xsd:anyURI ; + urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/tree-trunk-type/valid.ttl"^^xsd:anyURI ; . - diff --git a/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/tree-trunk-type/valid.ttl b/shapes/basal-area/basal-area-dbh-protocol-shapes/tree-trunk-type/valid.ttl similarity index 60% rename from shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/tree-trunk-type/valid.ttl rename to shapes/basal-area/basal-area-dbh-protocol-shapes/tree-trunk-type/valid.ttl index d6d024f9..6eba6812 100644 --- a/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/tree-trunk-type/valid.ttl +++ b/shapes/basal-area/basal-area-dbh-protocol-shapes/tree-trunk-type/valid.ttl @@ -5,28 +5,34 @@ PREFIX tern: PREFIX void: PREFIX xsd: - + a tern:Observation ; void:inDataset ; rdfs:comment "Valid result for observable property - tree trunk type" ; - sosa:hasFeatureOfInterest [ + sosa:hasFeatureOfInterest + [ a tern:FeatureOfInterest ; void:inDataset ; - tern:featureType + tern:featureType ; ] ; - sosa:hasResult [ + sosa:hasResult + [ a tern:IRI , tern:Value ; - rdf:value ; - sosa:isResultOf ; - tern:vocabulary + rdf:value ; + sosa:isResultOf ; + tern:vocabulary ; ] ; - sosa:hasSimpleResult ; + sosa:hasSimpleResult ; sosa:observedProperty ; sosa:phenomenonTime ; sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; + sosa:usedProcedure ; tern:hasSiteVisit ; . + + a tern:Procedure ; + tern:methodType ; +. diff --git a/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/circumference-at-breast-height/invalid.ttl b/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/circumference-at-breast-height/invalid.ttl deleted file mode 100644 index 76802d2b..00000000 --- a/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/circumference-at-breast-height/invalid.ttl +++ /dev/null @@ -1,205 +0,0 @@ -PREFIX rdf: -PREFIX rdfs: -PREFIX sosa: -PREFIX tern: -PREFIX unit: -PREFIX void: -PREFIX xsd: - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - the datatype of the value of the result node must be `xsd:float`." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:Float , - tern:Value ; - rdf:value 1 ; - sosa:isResultOf ; - tern:unit unit:M - ] ; - sosa:hasSimpleResult 1 ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - incorrect feature type." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:Float , - tern:Value ; - rdf:value "1.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M - ] ; - sosa:hasSimpleResult "1.81"^^xsd:float ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - The value in simple result must be same with that in the result node." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:Float , - tern:Value ; - rdf:value "1.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M - ] ; - sosa:hasSimpleResult "1.56"^^xsd:float ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - all observations must have a site vist." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:Float , - tern:Value ; - rdf:value "1.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M - ] ; - sosa:hasSimpleResult "1.81"^^xsd:float ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result unit of measure" ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:Float , - tern:Value ; - rdf:value "1.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit - ] ; - sosa:hasSimpleResult "1.81"^^xsd:float ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - the used procedure should be 'Full DBH measures protocol'." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:Float , - tern:Value ; - rdf:value "1.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M - ] ; - sosa:hasSimpleResult "1.81"^^xsd:float ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - value out of range" ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:Float , - tern:Value ; - rdf:value "0.0"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M - ] ; - sosa:hasSimpleResult "0.0"^^xsd:float ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - the value of the result node must be `tern:Float`." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a tern:Value ; - rdf:value "1.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M - ] ; - sosa:hasSimpleResult "1.81"^^xsd:float ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - diff --git a/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/invalid.ttl b/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/invalid.ttl deleted file mode 100644 index d4708462..00000000 --- a/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/invalid.ttl +++ /dev/null @@ -1,205 +0,0 @@ -PREFIX rdf: -PREFIX rdfs: -PREFIX sosa: -PREFIX tern: -PREFIX unit: -PREFIX void: -PREFIX xsd: - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - the datatype of the value of the result node must be `xsd:float`." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:Float , - tern:Value ; - rdf:value 1 ; - sosa:isResultOf ; - tern:unit unit:M - ] ; - sosa:hasSimpleResult 1 ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - incorrect feature type." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:Float , - tern:Value ; - rdf:value "1.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M - ] ; - sosa:hasSimpleResult "1.81"^^xsd:float ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - The value in simple result must be same with that in the result node." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:Float , - tern:Value ; - rdf:value "1.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M - ] ; - sosa:hasSimpleResult "1.56"^^xsd:float ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - all observations must have a site vist." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:Float , - tern:Value ; - rdf:value "1.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M - ] ; - sosa:hasSimpleResult "1.81"^^xsd:float ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result unit of measure" ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:Float , - tern:Value ; - rdf:value "1.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit - ] ; - sosa:hasSimpleResult "1.81"^^xsd:float ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - the used procedure should be 'Full DBH measures protocol'." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:Float , - tern:Value ; - rdf:value "1.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M - ] ; - sosa:hasSimpleResult "1.81"^^xsd:float ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - value out of range" ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:Float , - tern:Value ; - rdf:value "0.0"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M - ] ; - sosa:hasSimpleResult "0.0"^^xsd:float ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - the value of the result node must be `tern:Float`." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a tern:Value ; - rdf:value "1.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M - ] ; - sosa:hasSimpleResult "1.81"^^xsd:float ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - diff --git a/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/field-species-name/invalid.ttl b/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/field-species-name/invalid.ttl deleted file mode 100644 index d5f87e07..00000000 --- a/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/field-species-name/invalid.ttl +++ /dev/null @@ -1,148 +0,0 @@ -PREFIX rdf: -PREFIX rdfs: -PREFIX sosa: -PREFIX tern: -PREFIX void: -PREFIX xsd: - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - the datatype of the value of the result node must be `xsd:string`." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:Text , - tern:Value ; - rdf:value 1 ; - sosa:isResultOf - ] ; - sosa:hasSimpleResult 1 ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - incorrect feature type." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:Text , - tern:Value ; - rdf:value "Bee"^^xsd:string ; - sosa:isResultOf - ] ; - sosa:hasSimpleResult "Bee"^^xsd:string ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - The value in simple result must be same with that in the result node." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:Text , - tern:Value ; - rdf:value "Bee"^^xsd:string ; - sosa:isResultOf - ] ; - sosa:hasSimpleResult "Bee different"^^xsd:string ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - all observations must have a site vist." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:Text , - tern:Value ; - rdf:value "Bee"^^xsd:string ; - sosa:isResultOf - ] ; - sosa:hasSimpleResult "Bee"^^xsd:string ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - the used procedure should be 'Full DBH measures protocol'." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:Text , - tern:Value ; - rdf:value "Bee"^^xsd:string ; - sosa:isResultOf - ] ; - sosa:hasSimpleResult "Bee"^^xsd:string ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - the value of the result node must be `tern:Text`." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a tern:Value ; - rdf:value "Bee"^^xsd:string ; - sosa:isResultOf - ] ; - sosa:hasSimpleResult "Bee"^^xsd:string ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - diff --git a/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/plant-status/invalid.ttl b/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/plant-status/invalid.ttl deleted file mode 100644 index 1c079cad..00000000 --- a/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/plant-status/invalid.ttl +++ /dev/null @@ -1,179 +0,0 @@ -PREFIX rdf: -PREFIX rdfs: -PREFIX sosa: -PREFIX tern: -PREFIX void: -PREFIX xsd: - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - incorrect feature type." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:IRI , - tern:Value ; - rdf:value ; - sosa:isResultOf ; - tern:vocabulary - ] ; - sosa:hasSimpleResult ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - value not from the controlled vocabulary list" ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:IRI , - tern:Value ; - rdf:value ; - sosa:isResultOf ; - tern:vocabulary - ] ; - sosa:hasSimpleResult ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - The value in simple result must be same with that in the result node." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:IRI , - tern:Value ; - rdf:value ; - sosa:isResultOf ; - tern:vocabulary - ] ; - sosa:hasSimpleResult ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - all observations must have a site vist." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:IRI , - tern:Value ; - rdf:value ; - sosa:isResultOf ; - tern:vocabulary - ] ; - sosa:hasSimpleResult ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - the used procedure should be 'Full DBH measures protocol'." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:IRI , - tern:Value ; - rdf:value ; - sosa:isResultOf ; - tern:vocabulary - ] ; - sosa:hasSimpleResult ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - the value of the result node must be `tern:IRI`." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a tern:Value ; - rdf:value ; - sosa:isResultOf ; - tern:vocabulary - ] ; - sosa:hasSimpleResult ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - incorrect vocabulary" ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:IRI , - tern:Value ; - rdf:value ; - sosa:isResultOf ; - tern:vocabulary - ] ; - sosa:hasSimpleResult ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - diff --git a/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/plant-status/valid.ttl b/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/plant-status/valid.ttl deleted file mode 100644 index 10a39890..00000000 --- a/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/plant-status/valid.ttl +++ /dev/null @@ -1,32 +0,0 @@ -PREFIX rdf: -PREFIX rdfs: -PREFIX sosa: -PREFIX tern: -PREFIX void: -PREFIX xsd: - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Valid result for observable property - plant status" ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:IRI , - tern:Value ; - rdf:value ; - sosa:isResultOf ; - tern:vocabulary - ] ; - sosa:hasSimpleResult ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - diff --git a/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/stand-basal-area/invalid.ttl b/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/stand-basal-area/invalid.ttl deleted file mode 100644 index 50a84d44..00000000 --- a/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/stand-basal-area/invalid.ttl +++ /dev/null @@ -1,205 +0,0 @@ -PREFIX rdf: -PREFIX rdfs: -PREFIX sosa: -PREFIX tern: -PREFIX unit: -PREFIX void: -PREFIX xsd: - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - the datatype of the value of the result node must be `xsd:float`." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:Float , - tern:Value ; - rdf:value 3 ; - sosa:isResultOf ; - tern:unit unit:M2-PER-HA - ] ; - sosa:hasSimpleResult 3 ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - incorrect feature type." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:Float , - tern:Value ; - rdf:value "33.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M2-PER-HA - ] ; - sosa:hasSimpleResult "33.81"^^xsd:float ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - The value in simple result must be same with that in the result node." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:Float , - tern:Value ; - rdf:value "33.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M2-PER-HA - ] ; - sosa:hasSimpleResult "13.56"^^xsd:float ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - all observations must have a site vist." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:Float , - tern:Value ; - rdf:value "33.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M2-PER-HA - ] ; - sosa:hasSimpleResult "33.81"^^xsd:float ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result unit of measure" ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:Float , - tern:Value ; - rdf:value "33.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit - ] ; - sosa:hasSimpleResult "33.81"^^xsd:float ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - the used procedure should be 'Full DBH measures protocol'." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:Float , - tern:Value ; - rdf:value "33.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M2-PER-HA - ] ; - sosa:hasSimpleResult "33.81"^^xsd:float ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - value out of range" ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:Float , - tern:Value ; - rdf:value "0.0"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M2-PER-HA - ] ; - sosa:hasSimpleResult "0.0"^^xsd:float ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - the value of the result node must be `tern:Float`." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a tern:Value ; - rdf:value "33.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M2-PER-HA - ] ; - sosa:hasSimpleResult "33.81"^^xsd:float ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - diff --git a/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/tree-trunk-type/valid.ttl b/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/tree-trunk-type/valid.ttl deleted file mode 100644 index 29304422..00000000 --- a/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/tree-trunk-type/valid.ttl +++ /dev/null @@ -1,32 +0,0 @@ -PREFIX rdf: -PREFIX rdfs: -PREFIX sosa: -PREFIX tern: -PREFIX void: -PREFIX xsd: - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Valid result for observable property - tree trunk type" ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:IRI , - tern:Value ; - rdf:value ; - sosa:isResultOf ; - tern:vocabulary - ] ; - sosa:hasSimpleResult ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - diff --git a/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl b/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl deleted file mode 100644 index 027905ed..00000000 --- a/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl +++ /dev/null @@ -1,223 +0,0 @@ -PREFIX dcterms: -PREFIX rdf: -PREFIX reg: -PREFIX sh: -PREFIX tern: -PREFIX unit: -PREFIX urnc: -PREFIX urnp: -PREFIX xsd: - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "TERN's ecologists have determined the feature type is _plant occurrence_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; - sh:hasValue ; - sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/b311c0d3-4a1a-4932-a39c-f5cdc1afa611[`plant occurrence`]." ; - sh:name "Feature type" ; - sh:path tern:featureType ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - select ?this { - values ?property_uri {} - ?observation a tern:Observation ; - sosa:observedProperty ?property_uri ; - sosa:hasFeatureOfInterest ?this . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:NodeShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; - sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; - sh:name "Simple result" ; - sh:sparql [ - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select $this { - $this a tern:Observation ; - sosa:observedProperty - - ; - sosa:hasSimpleResult ?simple ; - sosa:hasResult ?result . - ?result rdf:value ?value . - filter (?simple != ?value) - } - """ - ] ; - sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Observations following the Lite DBH measures protocol are made in the context of a site visit." ; - sh:maxCount 1 ; - sh:message "Observations _MUST_ have a value for `tern:hasSiteVisit`." ; - sh:minCount 1 ; - sh:name "Site visit" ; - sh:path tern:hasSiteVisit ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Result value's unit of measure _MUST_ have the value `unit:M`." ; - sh:hasValue unit:M ; - sh:message "The result _MUST_ have `unit:M` as the value for `tern:unit`." ; - sh:name "Unit of measure" ; - sh:path tern:unit ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. - - `` is the IRI for "Lite DBH measures protocol".""" ; - sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/cd83fb3e-d8d3-4502-a618-a0f3f8712b27`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:datatype xsd:float ; - sh:description "Value _MUST_ be positive." ; - sh:message "The result _MUST_ have a positive value." ; - sh:minExclusive 0 ; - sh:name "Value range" ; - sh:path rdf:value ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:class tern:Float ; - sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Float`." ; - sh:message "The result _MUST_ be an instance of `tern:Float`." ; - sh:name "Value type" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; -. - - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/circumference-at-breast-height/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/circumference-at-breast-height/valid.ttl"^^xsd:anyURI ; -. - diff --git a/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/circumference-at-breast-height/valid.ttl b/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/circumference-at-breast-height/valid.ttl deleted file mode 100644 index 36a3e275..00000000 --- a/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/circumference-at-breast-height/valid.ttl +++ /dev/null @@ -1,33 +0,0 @@ -PREFIX rdf: -PREFIX rdfs: -PREFIX sosa: -PREFIX tern: -PREFIX unit: -PREFIX void: -PREFIX xsd: - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Valid result for observable property - circumference at breast height" ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:Float , - tern:Value ; - rdf:value "1.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M - ] ; - sosa:hasSimpleResult "1.81"^^xsd:float ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - diff --git a/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl b/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl deleted file mode 100644 index 7fb1d540..00000000 --- a/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl +++ /dev/null @@ -1,223 +0,0 @@ -PREFIX dcterms: -PREFIX rdf: -PREFIX reg: -PREFIX sh: -PREFIX tern: -PREFIX unit: -PREFIX urnc: -PREFIX urnp: -PREFIX xsd: - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "TERN's ecologists have determined the feature type is _plant occurrence_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; - sh:hasValue ; - sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/b311c0d3-4a1a-4932-a39c-f5cdc1afa611[`plant occurrence`]." ; - sh:name "Feature type" ; - sh:path tern:featureType ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - select ?this { - values ?property_uri {} - ?observation a tern:Observation ; - sosa:observedProperty ?property_uri ; - sosa:hasFeatureOfInterest ?this . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:NodeShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; - sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; - sh:name "Simple result" ; - sh:sparql [ - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select $this { - $this a tern:Observation ; - sosa:observedProperty - - ; - sosa:hasSimpleResult ?simple ; - sosa:hasResult ?result . - ?result rdf:value ?value . - filter (?simple != ?value) - } - """ - ] ; - sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Observations following the Lite DBH measures protocol are made in the context of a site visit." ; - sh:maxCount 1 ; - sh:message "Observations _MUST_ have a value for `tern:hasSiteVisit`." ; - sh:minCount 1 ; - sh:name "Site visit" ; - sh:path tern:hasSiteVisit ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Result value's unit of measure _MUST_ have the value `unit:M`." ; - sh:hasValue unit:M ; - sh:message "The result _MUST_ have `unit:M` as the value for `tern:unit`." ; - sh:name "Unit of measure" ; - sh:path tern:unit ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. - - `` is the IRI for "Lite DBH measures protocol".""" ; - sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/cd83fb3e-d8d3-4502-a618-a0f3f8712b27`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:datatype xsd:float ; - sh:description "Value _MUST_ be positive." ; - sh:message "The result _MUST_ have a positive value." ; - sh:minExclusive 0 ; - sh:name "Value range" ; - sh:path rdf:value ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:class tern:Float ; - sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Float`." ; - sh:message "The result _MUST_ be an instance of `tern:Float`." ; - sh:name "Value type" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; -. - - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/valid.ttl"^^xsd:anyURI ; -. - diff --git a/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/valid.ttl b/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/valid.ttl deleted file mode 100644 index 476ec17f..00000000 --- a/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/valid.ttl +++ /dev/null @@ -1,33 +0,0 @@ -PREFIX rdf: -PREFIX rdfs: -PREFIX sosa: -PREFIX tern: -PREFIX unit: -PREFIX void: -PREFIX xsd: - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Valid result for observable property - diameter at breast height (dbh)" ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:Float , - tern:Value ; - rdf:value "1.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M - ] ; - sosa:hasSimpleResult "1.81"^^xsd:float ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - diff --git a/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/field-species-name/shapes.ttl b/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/field-species-name/shapes.ttl deleted file mode 100644 index dc97ea0d..00000000 --- a/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/field-species-name/shapes.ttl +++ /dev/null @@ -1,193 +0,0 @@ -PREFIX dcterms: -PREFIX rdf: -PREFIX reg: -PREFIX sh: -PREFIX tern: -PREFIX urnc: -PREFIX urnp: -PREFIX xsd: - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:datatype xsd:string ; - sh:description "The value in `sosa:hasResult` _MUST_ be xsd:string." ; - sh:message "The value of `rdf:value` _MUST_ have the datatype xsd:string." ; - sh:name "Datatype" ; - sh:path rdf:value ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "TERN's ecologists have determined the feature type is _plant occurrence_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; - sh:hasValue ; - sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/b311c0d3-4a1a-4932-a39c-f5cdc1afa611[`plant occurrence`]." ; - sh:name "Feature type" ; - sh:path tern:featureType ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - select ?this { - values ?property_uri {} - ?observation a tern:Observation ; - sosa:observedProperty ?property_uri ; - sosa:hasFeatureOfInterest ?this . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:NodeShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; - sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; - sh:name "Simple result" ; - sh:sparql [ - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select $this { - $this a tern:Observation ; - sosa:observedProperty - - ; - sosa:hasSimpleResult ?simple ; - sosa:hasResult ?result . - ?result rdf:value ?value . - filter (?simple != ?value) - } - """ - ] ; - sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Observations following the Lite DBH measures protocol are made in the context of a site visit." ; - sh:maxCount 1 ; - sh:message "Observations _MUST_ have a value for `tern:hasSiteVisit`." ; - sh:minCount 1 ; - sh:name "Site visit" ; - sh:path tern:hasSiteVisit ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. - - `` is the IRI for "Lite DBH measures protocol".""" ; - sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/cd83fb3e-d8d3-4502-a618-a0f3f8712b27`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:class tern:Text ; - sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Text`." ; - sh:message "The result _MUST_ be an instance of `tern:Text`." ; - sh:name "Value type" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; -. - - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/field-species-name/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/field-species-name/valid.ttl"^^xsd:anyURI ; -. - diff --git a/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/field-species-name/valid.ttl b/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/field-species-name/valid.ttl deleted file mode 100644 index 2e9d80a4..00000000 --- a/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/field-species-name/valid.ttl +++ /dev/null @@ -1,31 +0,0 @@ -PREFIX rdf: -PREFIX rdfs: -PREFIX sosa: -PREFIX tern: -PREFIX void: -PREFIX xsd: - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Valid result for observable property - field species name" ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:Text , - tern:Value ; - rdf:value "Bee"^^xsd:string ; - sosa:isResultOf - ] ; - sosa:hasSimpleResult "Bee"^^xsd:string ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - diff --git a/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/plant-status/shapes.ttl b/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/plant-status/shapes.ttl deleted file mode 100644 index 10f57a0d..00000000 --- a/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/plant-status/shapes.ttl +++ /dev/null @@ -1,237 +0,0 @@ -PREFIX dcterms: -PREFIX rdf: -PREFIX reg: -PREFIX sh: -PREFIX tern: -PREFIX urnc: -PREFIX urnp: -PREFIX xsd: - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "TERN's ecologists have determined the feature type is _plant occurrence_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; - sh:hasValue ; - sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/b311c0d3-4a1a-4932-a39c-f5cdc1afa611[`plant occurrence`]." ; - sh:name "Feature type" ; - sh:path tern:featureType ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - select ?this { - values ?property_uri {} - ?observation a tern:Observation ; - sosa:observedProperty ?property_uri ; - sosa:hasFeatureOfInterest ?this . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Controlled , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "The value in `sosa:hasResult` _MUST_ be a value in `sh:in`, which is the Plant statuses codes controlled vocabulary." ; - sh:in ( - - - - ) ; - sh:message "The value of `rdf:value` _MUST_ exist in the Plant statuses codes controlled vocabulary." ; - sh:name "Result value" ; - sh:path rdf:value ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:query """ - PREFIX skos: - select ?values { - values ?categoricalUUID {'b7368a37-a4ac-4c84-8a78-1fb9755ad849'} - ?s skos:member ?values . - filter (STRENDS(str(?s), ?categoricalUUID)) - } - """ ; - urnp:sparqlEndpoint "https://graphdb.tern.org.au/repositories/dawe_vocabs_core" ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:NodeShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; - sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; - sh:name "Simple result" ; - sh:sparql [ - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select $this { - $this a tern:Observation ; - sosa:observedProperty - - ; - sosa:hasSimpleResult ?simple ; - sosa:hasResult ?result . - ?result rdf:value ?value . - filter (?simple != ?value) - } - """ - ] ; - sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Observations following the Lite DBH measures protocol are made in the context of a site visit." ; - sh:maxCount 1 ; - sh:message "Observations _MUST_ have a value for `tern:hasSiteVisit`." ; - sh:minCount 1 ; - sh:name "Site visit" ; - sh:path tern:hasSiteVisit ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. - - `` is the IRI for "Lite DBH measures protocol".""" ; - sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/cd83fb3e-d8d3-4502-a618-a0f3f8712b27`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:class tern:IRI ; - sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:IRI`." ; - sh:message "The result _MUST_ be an instance of `tern:IRI`." ; - sh:name "Value type" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description """IRI of `tern:vocabulary` in `sosa:hasResult` _MUST_ have the value ``. - - `` is the IRI for "Plant statuses codes".""" ; - sh:message "The value of `tern:vocabulary` _MUST_ match the pattern `b7368a37-a4ac-4c84-8a78-1fb9755ad849$`." ; - sh:name "Vocabulary" ; - sh:path tern:vocabulary ; - sh:pattern "b7368a37-a4ac-4c84-8a78-1fb9755ad849$" ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; -. - - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/plant-status/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/plant-status/valid.ttl"^^xsd:anyURI ; -. - diff --git a/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/plant-status/valid.ttl b/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/plant-status/valid.ttl deleted file mode 100644 index 360fd3f5..00000000 --- a/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/plant-status/valid.ttl +++ /dev/null @@ -1,32 +0,0 @@ -PREFIX rdf: -PREFIX rdfs: -PREFIX sosa: -PREFIX tern: -PREFIX void: -PREFIX xsd: - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Valid result for observable property - plant status" ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:IRI , - tern:Value ; - rdf:value ; - sosa:isResultOf ; - tern:vocabulary - ] ; - sosa:hasSimpleResult ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - diff --git a/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/shapes.ttl b/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/shapes.ttl deleted file mode 100644 index 855313ba..00000000 --- a/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/shapes.ttl +++ /dev/null @@ -1,1290 +0,0 @@ -PREFIX dcterms: -PREFIX rdf: -PREFIX reg: -PREFIX sh: -PREFIX tern: -PREFIX unit: -PREFIX urnc: -PREFIX urnp: -PREFIX xsd: - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "TERN's ecologists have determined the feature type is _plant occurrence_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; - sh:hasValue ; - sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/b311c0d3-4a1a-4932-a39c-f5cdc1afa611[`plant occurrence`]." ; - sh:name "Feature type" ; - sh:path tern:featureType ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - select ?this { - values ?property_uri {} - ?observation a tern:Observation ; - sosa:observedProperty ?property_uri ; - sosa:hasFeatureOfInterest ?this . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:NodeShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; - sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; - sh:name "Simple result" ; - sh:sparql [ - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select $this { - $this a tern:Observation ; - sosa:observedProperty - - ; - sosa:hasSimpleResult ?simple ; - sosa:hasResult ?result . - ?result rdf:value ?value . - filter (?simple != ?value) - } - """ - ] ; - sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Observations following the Lite DBH measures protocol are made in the context of a site visit." ; - sh:maxCount 1 ; - sh:message "Observations _MUST_ have a value for `tern:hasSiteVisit`." ; - sh:minCount 1 ; - sh:name "Site visit" ; - sh:path tern:hasSiteVisit ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Result value's unit of measure _MUST_ have the value `unit:M`." ; - sh:hasValue unit:M ; - sh:message "The result _MUST_ have `unit:M` as the value for `tern:unit`." ; - sh:name "Unit of measure" ; - sh:path tern:unit ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. - - `` is the IRI for "Lite DBH measures protocol".""" ; - sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/cd83fb3e-d8d3-4502-a618-a0f3f8712b27`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:datatype xsd:float ; - sh:description "Value _MUST_ be positive." ; - sh:message "The result _MUST_ have a positive value." ; - sh:minExclusive 0 ; - sh:name "Value range" ; - sh:path rdf:value ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:class tern:Float ; - sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Float`." ; - sh:message "The result _MUST_ be an instance of `tern:Float`." ; - sh:name "Value type" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "TERN's ecologists have determined the feature type is _plant occurrence_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; - sh:hasValue ; - sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/b311c0d3-4a1a-4932-a39c-f5cdc1afa611[`plant occurrence`]." ; - sh:name "Feature type" ; - sh:path tern:featureType ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - select ?this { - values ?property_uri {} - ?observation a tern:Observation ; - sosa:observedProperty ?property_uri ; - sosa:hasFeatureOfInterest ?this . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:NodeShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; - sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; - sh:name "Simple result" ; - sh:sparql [ - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select $this { - $this a tern:Observation ; - sosa:observedProperty - - ; - sosa:hasSimpleResult ?simple ; - sosa:hasResult ?result . - ?result rdf:value ?value . - filter (?simple != ?value) - } - """ - ] ; - sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Observations following the Lite DBH measures protocol are made in the context of a site visit." ; - sh:maxCount 1 ; - sh:message "Observations _MUST_ have a value for `tern:hasSiteVisit`." ; - sh:minCount 1 ; - sh:name "Site visit" ; - sh:path tern:hasSiteVisit ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Result value's unit of measure _MUST_ have the value `unit:M`." ; - sh:hasValue unit:M ; - sh:message "The result _MUST_ have `unit:M` as the value for `tern:unit`." ; - sh:name "Unit of measure" ; - sh:path tern:unit ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. - - `` is the IRI for "Lite DBH measures protocol".""" ; - sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/cd83fb3e-d8d3-4502-a618-a0f3f8712b27`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:datatype xsd:float ; - sh:description "Value _MUST_ be positive." ; - sh:message "The result _MUST_ have a positive value." ; - sh:minExclusive 0 ; - sh:name "Value range" ; - sh:path rdf:value ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:class tern:Float ; - sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Float`." ; - sh:message "The result _MUST_ be an instance of `tern:Float`." ; - sh:name "Value type" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:datatype xsd:string ; - sh:description "The value in `sosa:hasResult` _MUST_ be xsd:string." ; - sh:message "The value of `rdf:value` _MUST_ have the datatype xsd:string." ; - sh:name "Datatype" ; - sh:path rdf:value ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "TERN's ecologists have determined the feature type is _plant occurrence_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; - sh:hasValue ; - sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/b311c0d3-4a1a-4932-a39c-f5cdc1afa611[`plant occurrence`]." ; - sh:name "Feature type" ; - sh:path tern:featureType ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - select ?this { - values ?property_uri {} - ?observation a tern:Observation ; - sosa:observedProperty ?property_uri ; - sosa:hasFeatureOfInterest ?this . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:NodeShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; - sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; - sh:name "Simple result" ; - sh:sparql [ - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select $this { - $this a tern:Observation ; - sosa:observedProperty - - ; - sosa:hasSimpleResult ?simple ; - sosa:hasResult ?result . - ?result rdf:value ?value . - filter (?simple != ?value) - } - """ - ] ; - sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Observations following the Lite DBH measures protocol are made in the context of a site visit." ; - sh:maxCount 1 ; - sh:message "Observations _MUST_ have a value for `tern:hasSiteVisit`." ; - sh:minCount 1 ; - sh:name "Site visit" ; - sh:path tern:hasSiteVisit ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. - - `` is the IRI for "Lite DBH measures protocol".""" ; - sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/cd83fb3e-d8d3-4502-a618-a0f3f8712b27`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:class tern:Text ; - sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Text`." ; - sh:message "The result _MUST_ be an instance of `tern:Text`." ; - sh:name "Value type" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "TERN's ecologists have determined the feature type is _plant occurrence_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; - sh:hasValue ; - sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/b311c0d3-4a1a-4932-a39c-f5cdc1afa611[`plant occurrence`]." ; - sh:name "Feature type" ; - sh:path tern:featureType ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - select ?this { - values ?property_uri {} - ?observation a tern:Observation ; - sosa:observedProperty ?property_uri ; - sosa:hasFeatureOfInterest ?this . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Controlled , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "The value in `sosa:hasResult` _MUST_ be a value in `sh:in`, which is the Plant statuses codes controlled vocabulary." ; - sh:in ( - - - - ) ; - sh:message "The value of `rdf:value` _MUST_ exist in the Plant statuses codes controlled vocabulary." ; - sh:name "Result value" ; - sh:path rdf:value ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:query """ - PREFIX skos: - select ?values { - values ?categoricalUUID {'b7368a37-a4ac-4c84-8a78-1fb9755ad849'} - ?s skos:member ?values . - filter (STRENDS(str(?s), ?categoricalUUID)) - } - """ ; - urnp:sparqlEndpoint "https://graphdb.tern.org.au/repositories/dawe_vocabs_core" ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:NodeShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; - sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; - sh:name "Simple result" ; - sh:sparql [ - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select $this { - $this a tern:Observation ; - sosa:observedProperty - - ; - sosa:hasSimpleResult ?simple ; - sosa:hasResult ?result . - ?result rdf:value ?value . - filter (?simple != ?value) - } - """ - ] ; - sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Observations following the Lite DBH measures protocol are made in the context of a site visit." ; - sh:maxCount 1 ; - sh:message "Observations _MUST_ have a value for `tern:hasSiteVisit`." ; - sh:minCount 1 ; - sh:name "Site visit" ; - sh:path tern:hasSiteVisit ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. - - `` is the IRI for "Lite DBH measures protocol".""" ; - sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/cd83fb3e-d8d3-4502-a618-a0f3f8712b27`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:class tern:IRI ; - sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:IRI`." ; - sh:message "The result _MUST_ be an instance of `tern:IRI`." ; - sh:name "Value type" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description """IRI of `tern:vocabulary` in `sosa:hasResult` _MUST_ have the value ``. - - `` is the IRI for "Plant statuses codes".""" ; - sh:message "The value of `tern:vocabulary` _MUST_ match the pattern `b7368a37-a4ac-4c84-8a78-1fb9755ad849$`." ; - sh:name "Vocabulary" ; - sh:path tern:vocabulary ; - sh:pattern "b7368a37-a4ac-4c84-8a78-1fb9755ad849$" ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "TERN's ecologists have determined the feature type is _plant community_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; - sh:hasValue ; - sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/ea3a4c64-dac3-4660-809a-8ad5ced8997b[`plant community`]." ; - sh:name "Feature type" ; - sh:path tern:featureType ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - select ?this { - values ?property_uri {} - ?observation a tern:Observation ; - sosa:observedProperty ?property_uri ; - sosa:hasFeatureOfInterest ?this . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:NodeShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; - sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; - sh:name "Simple result" ; - sh:sparql [ - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select $this { - $this a tern:Observation ; - sosa:observedProperty - - ; - sosa:hasSimpleResult ?simple ; - sosa:hasResult ?result . - ?result rdf:value ?value . - filter (?simple != ?value) - } - """ - ] ; - sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Observations following the Lite DBH measures protocol are made in the context of a site visit." ; - sh:maxCount 1 ; - sh:message "Observations _MUST_ have a value for `tern:hasSiteVisit`." ; - sh:minCount 1 ; - sh:name "Site visit" ; - sh:path tern:hasSiteVisit ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Result value's unit of measure _MUST_ have the value `unit:M2-PER-HA`." ; - sh:hasValue unit:M2-PER-HA ; - sh:message "The result _MUST_ have `unit:M2-PER-HA` as the value for `tern:unit`." ; - sh:name "Unit of measure" ; - sh:path tern:unit ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. - - `` is the IRI for "Lite DBH measures protocol".""" ; - sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/cd83fb3e-d8d3-4502-a618-a0f3f8712b27`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:datatype xsd:float ; - sh:description "Value _MUST_ be positive." ; - sh:message "The result _MUST_ have a positive value." ; - sh:minExclusive 0 ; - sh:name "Value range" ; - sh:path rdf:value ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:class tern:Float ; - sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Float`." ; - sh:message "The result _MUST_ be an instance of `tern:Float`." ; - sh:name "Value type" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "TERN's ecologists have determined the feature type is _plant occurrence_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; - sh:hasValue ; - sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/b311c0d3-4a1a-4932-a39c-f5cdc1afa611[`plant occurrence`]." ; - sh:name "Feature type" ; - sh:path tern:featureType ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - select ?this { - values ?property_uri {} - ?observation a tern:Observation ; - sosa:observedProperty ?property_uri ; - sosa:hasFeatureOfInterest ?this . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Controlled , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "The value in `sosa:hasResult` _MUST_ be a value in `sh:in`, which is the Basal tree trunk types controlled vocabulary." ; - sh:in ( - - - - - ) ; - sh:message "The value of `rdf:value` _MUST_ exist in the Basal tree trunk types controlled vocabulary." ; - sh:name "Result value" ; - sh:path rdf:value ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:query """ - PREFIX skos: - select ?values { - values ?categoricalUUID {'9282400b-56c3-49a9-bb82-87ef74914690'} - ?s skos:member ?values . - filter (STRENDS(str(?s), ?categoricalUUID)) - } - """ ; - urnp:sparqlEndpoint "https://graphdb.tern.org.au/repositories/dawe_vocabs_core" ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:NodeShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; - sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; - sh:name "Simple result" ; - sh:sparql [ - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select $this { - $this a tern:Observation ; - sosa:observedProperty - - ; - sosa:hasSimpleResult ?simple ; - sosa:hasResult ?result . - ?result rdf:value ?value . - filter (?simple != ?value) - } - """ - ] ; - sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Observations following the Lite DBH measures protocol are made in the context of a site visit." ; - sh:maxCount 1 ; - sh:message "Observations _MUST_ have a value for `tern:hasSiteVisit`." ; - sh:minCount 1 ; - sh:name "Site visit" ; - sh:path tern:hasSiteVisit ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. - - `` is the IRI for "Lite DBH measures protocol".""" ; - sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/cd83fb3e-d8d3-4502-a618-a0f3f8712b27`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:class tern:IRI ; - sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:IRI`." ; - sh:message "The result _MUST_ be an instance of `tern:IRI`." ; - sh:name "Value type" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description """IRI of `tern:vocabulary` in `sosa:hasResult` _MUST_ have the value ``. - - `` is the IRI for "Basal tree trunk types".""" ; - sh:message "The value of `tern:vocabulary` _MUST_ match the pattern `9282400b-56c3-49a9-bb82-87ef74914690$`." ; - sh:name "Vocabulary" ; - sh:path tern:vocabulary ; - sh:pattern "9282400b-56c3-49a9-bb82-87ef74914690$" ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; -. - - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/field-species-name/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/field-species-name/valid.ttl"^^xsd:anyURI ; -. - - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/circumference-at-breast-height/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/circumference-at-breast-height/valid.ttl"^^xsd:anyURI ; -. - - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/valid.ttl"^^xsd:anyURI ; -. - - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/plant-status/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/plant-status/valid.ttl"^^xsd:anyURI ; -. - - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/stand-basal-area/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/stand-basal-area/valid.ttl"^^xsd:anyURI ; -. - - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/tree-trunk-type/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/tree-trunk-type/valid.ttl"^^xsd:anyURI ; -. - diff --git a/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl b/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl deleted file mode 100644 index 1c9da11a..00000000 --- a/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl +++ /dev/null @@ -1,223 +0,0 @@ -PREFIX dcterms: -PREFIX rdf: -PREFIX reg: -PREFIX sh: -PREFIX tern: -PREFIX unit: -PREFIX urnc: -PREFIX urnp: -PREFIX xsd: - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "TERN's ecologists have determined the feature type is _plant community_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; - sh:hasValue ; - sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/ea3a4c64-dac3-4660-809a-8ad5ced8997b[`plant community`]." ; - sh:name "Feature type" ; - sh:path tern:featureType ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - select ?this { - values ?property_uri {} - ?observation a tern:Observation ; - sosa:observedProperty ?property_uri ; - sosa:hasFeatureOfInterest ?this . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:NodeShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; - sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; - sh:name "Simple result" ; - sh:sparql [ - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select $this { - $this a tern:Observation ; - sosa:observedProperty - - ; - sosa:hasSimpleResult ?simple ; - sosa:hasResult ?result . - ?result rdf:value ?value . - filter (?simple != ?value) - } - """ - ] ; - sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Observations following the Lite DBH measures protocol are made in the context of a site visit." ; - sh:maxCount 1 ; - sh:message "Observations _MUST_ have a value for `tern:hasSiteVisit`." ; - sh:minCount 1 ; - sh:name "Site visit" ; - sh:path tern:hasSiteVisit ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Result value's unit of measure _MUST_ have the value `unit:M2-PER-HA`." ; - sh:hasValue unit:M2-PER-HA ; - sh:message "The result _MUST_ have `unit:M2-PER-HA` as the value for `tern:unit`." ; - sh:name "Unit of measure" ; - sh:path tern:unit ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. - - `` is the IRI for "Lite DBH measures protocol".""" ; - sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/cd83fb3e-d8d3-4502-a618-a0f3f8712b27`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:datatype xsd:float ; - sh:description "Value _MUST_ be positive." ; - sh:message "The result _MUST_ have a positive value." ; - sh:minExclusive 0 ; - sh:name "Value range" ; - sh:path rdf:value ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:class tern:Float ; - sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Float`." ; - sh:message "The result _MUST_ be an instance of `tern:Float`." ; - sh:name "Value type" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; -. - - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/stand-basal-area/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/stand-basal-area/valid.ttl"^^xsd:anyURI ; -. - diff --git a/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/stand-basal-area/valid.ttl b/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/stand-basal-area/valid.ttl deleted file mode 100644 index 875a25d0..00000000 --- a/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/stand-basal-area/valid.ttl +++ /dev/null @@ -1,33 +0,0 @@ -PREFIX rdf: -PREFIX rdfs: -PREFIX sosa: -PREFIX tern: -PREFIX unit: -PREFIX void: -PREFIX xsd: - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Valid result for observable property - stand basal area" ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:Float , - tern:Value ; - rdf:value "33.81"^^xsd:float ; - sosa:isResultOf ; - tern:unit unit:M2-PER-HA - ] ; - sosa:hasSimpleResult "33.81"^^xsd:float ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - diff --git a/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/tree-trunk-type/invalid.ttl b/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/tree-trunk-type/invalid.ttl deleted file mode 100644 index 796aaef0..00000000 --- a/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/tree-trunk-type/invalid.ttl +++ /dev/null @@ -1,179 +0,0 @@ -PREFIX rdf: -PREFIX rdfs: -PREFIX sosa: -PREFIX tern: -PREFIX void: -PREFIX xsd: - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - incorrect feature type." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:IRI , - tern:Value ; - rdf:value ; - sosa:isResultOf ; - tern:vocabulary - ] ; - sosa:hasSimpleResult ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - value not from the controlled vocabulary list" ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:IRI , - tern:Value ; - rdf:value ; - sosa:isResultOf ; - tern:vocabulary - ] ; - sosa:hasSimpleResult ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - The value in simple result must be same with that in the result node." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:IRI , - tern:Value ; - rdf:value ; - sosa:isResultOf ; - tern:vocabulary - ] ; - sosa:hasSimpleResult ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - all observations must have a site vist." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:IRI , - tern:Value ; - rdf:value ; - sosa:isResultOf ; - tern:vocabulary - ] ; - sosa:hasSimpleResult ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - the used procedure should be 'Lite DBH measures protocol'." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:IRI , - tern:Value ; - rdf:value ; - sosa:isResultOf ; - tern:vocabulary - ] ; - sosa:hasSimpleResult ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - the value of the result node must be `tern:IRI`." ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a tern:Value ; - rdf:value ; - sosa:isResultOf ; - tern:vocabulary - ] ; - sosa:hasSimpleResult ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - - - a tern:Observation ; - void:inDataset ; - rdfs:comment "Invalid result - incorrect vocabulary" ; - sosa:hasFeatureOfInterest [ - a tern:FeatureOfInterest ; - void:inDataset ; - tern:featureType - ] ; - sosa:hasResult [ - a - tern:IRI , - tern:Value ; - rdf:value ; - sosa:isResultOf ; - tern:vocabulary - ] ; - sosa:hasSimpleResult ; - sosa:observedProperty ; - sosa:phenomenonTime ; - sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ; - sosa:usedProcedure ; - tern:hasSiteVisit ; -. - diff --git a/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl b/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl deleted file mode 100644 index 7c9e3474..00000000 --- a/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl +++ /dev/null @@ -1,238 +0,0 @@ -PREFIX dcterms: -PREFIX rdf: -PREFIX reg: -PREFIX sh: -PREFIX tern: -PREFIX urnc: -PREFIX urnp: -PREFIX xsd: - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "TERN's ecologists have determined the feature type is _plant occurrence_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; - sh:hasValue ; - sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/b311c0d3-4a1a-4932-a39c-f5cdc1afa611[`plant occurrence`]." ; - sh:name "Feature type" ; - sh:path tern:featureType ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - select ?this { - values ?property_uri {} - ?observation a tern:Observation ; - sosa:observedProperty ?property_uri ; - sosa:hasFeatureOfInterest ?this . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Controlled , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "The value in `sosa:hasResult` _MUST_ be a value in `sh:in`, which is the Basal tree trunk types controlled vocabulary." ; - sh:in ( - - - - - ) ; - sh:message "The value of `rdf:value` _MUST_ exist in the Basal tree trunk types controlled vocabulary." ; - sh:name "Result value" ; - sh:path rdf:value ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:query """ - PREFIX skos: - select ?values { - values ?categoricalUUID {'9282400b-56c3-49a9-bb82-87ef74914690'} - ?s skos:member ?values . - filter (STRENDS(str(?s), ?categoricalUUID)) - } - """ ; - urnp:sparqlEndpoint "https://graphdb.tern.org.au/repositories/dawe_vocabs_core" ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:NodeShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; - sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; - sh:name "Simple result" ; - sh:sparql [ - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select $this { - $this a tern:Observation ; - sosa:observedProperty - - ; - sosa:hasSimpleResult ?simple ; - sosa:hasResult ?result . - ?result rdf:value ?value . - filter (?simple != ?value) - } - """ - ] ; - sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Observations following the Lite DBH measures protocol are made in the context of a site visit." ; - sh:maxCount 1 ; - sh:message "Observations _MUST_ have a value for `tern:hasSiteVisit`." ; - sh:minCount 1 ; - sh:name "Site visit" ; - sh:path tern:hasSiteVisit ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. - - `` is the IRI for "Lite DBH measures protocol".""" ; - sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/cd83fb3e-d8d3-4502-a618-a0f3f8712b27`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:class tern:IRI ; - sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:IRI`." ; - sh:message "The result _MUST_ be an instance of `tern:IRI`." ; - sh:name "Value type" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description """IRI of `tern:vocabulary` in `sosa:hasResult` _MUST_ have the value ``. - - `` is the IRI for "Basal tree trunk types".""" ; - sh:message "The value of `tern:vocabulary` _MUST_ match the pattern `9282400b-56c3-49a9-bb82-87ef74914690$`." ; - sh:name "Vocabulary" ; - sh:path tern:vocabulary ; - sh:pattern "9282400b-56c3-49a9-bb82-87ef74914690$" ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; -. - - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/tree-trunk-type/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/tree-trunk-type/valid.ttl"^^xsd:anyURI ; -. - diff --git a/shapes/basal-area/shapes.ttl b/shapes/basal-area/shapes.ttl index 9a4c36e1..15813c8a 100644 --- a/shapes/basal-area/shapes.ttl +++ b/shapes/basal-area/shapes.ttl @@ -2,51 +2,54 @@ PREFIX dcterms: PREFIX rdf: PREFIX reg: PREFIX sh: +PREFIX sosa: PREFIX tern: PREFIX unit: PREFIX urnc: PREFIX urnp: PREFIX xsd: - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description "TERN's ecologists have determined the feature type is _plant population_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; - sh:hasValue ; - sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/ae71c3f6-d430-400f-a1d4-97a333b4ee02[`plant population`]." ; + sh:description "TERN's ecologists have determined the feature type is _plant community_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; + sh:hasValue ; + sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/ea3a4c64-dac3-4660-809a-8ad5ced8997b[`plant community`]." ; sh:name "Feature type" ; sh:path tern:featureType ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: PREFIX unit: PREFIX sosa: select ?this { - values ?property_uri {} + values ?property_uri {} ?observation a tern:Observation ; sosa:observedProperty ?property_uri ; sosa:hasFeatureOfInterest ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-count/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - + a sh:NodeShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; sh:name "Simple result" ; - sh:sparql [ + sh:sparql + [ sh:select """ PREFIX tern: PREFIX unit: @@ -55,25 +58,25 @@ PREFIX xsd: select $this { $this a tern:Observation ; sosa:observedProperty - + ; sosa:hasSimpleResult ?simple ; sosa:hasResult ?result . ?result rdf:value ?value . filter (?simple != ?value) } - """ + """ ; ] ; sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-count/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Observations following the Basal wedge protocol are made in the context of a site visit." ; sh:maxCount 1 ; @@ -81,7 +84,8 @@ PREFIX xsd: sh:minCount 1 ; sh:name "Site visit" ; sh:path tern:hasSiteVisit ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -89,30 +93,60 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} + values ?property_uri {} ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; + ] ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; +. + + + a + sh:PropertyShape , + urnc:Requirement ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; + reg:status reg:statusSubmitted ; + sh:description "Result value's unit of measure _MUST_ have the value `unit:M2-PER-HA`." ; + sh:hasValue unit:M2-PER-HA ; + sh:message "The result _MUST_ have `unit:M2-PER-HA` as the value for `tern:unit`." ; + sh:name "Unit of measure" ; + sh:path tern:unit ; + sh:target + [ + a sh:SPARQLTarget ; + sh:select """ + PREFIX tern: + PREFIX sosa: + PREFIX rdf: + select ?this { + ?observation a tern:Observation ; + sosa:observedProperty + ; + sosa:hasResult ?this . + }""" ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-count/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. + sh:description """IRI of method in procedure _MUST_ have the value ``. `` is the IRI for "Basal wedge protocol".""" ; sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/a7d605e0-7d90-473e-aac0-21cdf380576f`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ + sh:message "The procedure's `tern:methodType` _MUST_ have the value `https://linked.data.gov.au/def/nrm/a7d605e0-7d90-473e-aac0-21cdf380576f`." ; + sh:name "Method type of used procedure" ; + sh:path tern:methodType ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -120,29 +154,31 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . + values ?property_uri {} + ?observation a tern:Observation ; + sosa:observedProperty ?property_uri ; + sosa:usedProcedure ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-count/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:datatype xsd:integer ; - sh:description "Value _MUST_ be non-negative." ; - sh:message "The result _MUST_ have a non-negative value." ; - sh:minInclusive 0 ; + sh:datatype xsd:float ; + sh:description "Value _MUST_ be positive." ; + sh:message "The result _MUST_ have a positive value." ; + sh:minExclusive 0 ; sh:name "Value range" ; sh:path rdf:value ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -151,26 +187,27 @@ PREFIX xsd: select ?this { ?observation a tern:Observation ; sosa:observedProperty - ; + ; sosa:hasResult ?this . - }""" + }""" ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-count/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:class tern:Integer ; - sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Integer`." ; - sh:message "The result _MUST_ be an instance of `tern:Integer`." ; + sh:class tern:Float ; + sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Float`." ; + sh:message "The result _MUST_ be an instance of `tern:Float`." ; sh:name "Value type" ; - sh:path ; - sh:target [ + sh:path sosa:hasResult ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -178,96 +215,57 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} + values ?property_uri {} ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-count/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b2 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description "TERN's ecologists have determined the feature type is _plant occurrence_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; - sh:hasValue ; - sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/b311c0d3-4a1a-4932-a39c-f5cdc1afa611[`plant occurrence`]." ; + sh:description "TERN's ecologists have determined the feature type is _plant population_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; + sh:hasValue ; + sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/ae71c3f6-d430-400f-a1d4-97a333b4ee02[`plant population`]." ; sh:name "Feature type" ; sh:path tern:featureType ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: PREFIX unit: PREFIX sosa: select ?this { - values ?property_uri {} + values ?property_uri {} ?observation a tern:Observation ; sosa:observedProperty ?property_uri ; sosa:hasFeatureOfInterest ?this . } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-sweep-hit-type/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Controlled , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "The value in `sosa:hasResult` _MUST_ be a value in `sh:in`, which is the Basal sweep hit type codes controlled vocabulary." ; - sh:in ( - - - ) ; - sh:message "The value of `rdf:value` _MUST_ exist in the Basal sweep hit type codes controlled vocabulary." ; - sh:name "Result value" ; - sh:path rdf:value ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" + """ ; ] ; - urnp:examples ; - urnp:query """ - PREFIX skos: - select ?values { - values ?categoricalUUID {'0ba17555-8c8f-435a-b16f-62773561207b'} - ?s skos:member ?values . - filter (STRENDS(str(?s), ?categoricalUUID)) - } - """ ; - urnp:sparqlEndpoint "https://graphdb.tern.org.au/repositories/dawe_vocabs_core" ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-sweep-hit-type/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b10 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/borderline-trees-count/shapes.ttl"^^xsd:anyURI ; . - + a sh:NodeShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; sh:name "Simple result" ; - sh:sparql [ + sh:sparql + [ sh:select """ PREFIX tern: PREFIX unit: @@ -276,25 +274,25 @@ PREFIX xsd: select $this { $this a tern:Observation ; sosa:observedProperty - + ; sosa:hasSimpleResult ?simple ; sosa:hasResult ?result . ?result rdf:value ?value . filter (?simple != ?value) } - """ + """ ; ] ; sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-sweep-hit-type/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b10 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/borderline-trees-count/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Observations following the Basal wedge protocol are made in the context of a site visit." ; sh:maxCount 1 ; @@ -302,7 +300,8 @@ PREFIX xsd: sh:minCount 1 ; sh:name "Site visit" ; sh:path tern:hasSiteVisit ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -310,30 +309,31 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} + values ?property_uri {} ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-sweep-hit-type/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b10 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/borderline-trees-count/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. + sh:description """IRI of method in procedure _MUST_ have the value ``. `` is the IRI for "Basal wedge protocol".""" ; sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/a7d605e0-7d90-473e-aac0-21cdf380576f`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ + sh:message "The procedure's `tern:methodType` _MUST_ have the value `https://linked.data.gov.au/def/nrm/a7d605e0-7d90-473e-aac0-21cdf380576f`." ; + sh:name "Method type of used procedure" ; + sh:path tern:methodType ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -341,87 +341,90 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . + values ?property_uri {} + ?observation a tern:Observation ; + sosa:observedProperty ?property_uri ; + sosa:usedProcedure ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-sweep-hit-type/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b10 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/borderline-trees-count/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:class tern:IRI ; - sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:IRI`." ; - sh:message "The result _MUST_ be an instance of `tern:IRI`." ; - sh:name "Value type" ; - sh:path ; - sh:target [ + sh:datatype xsd:integer ; + sh:description "Value _MUST_ be non-negative." ; + sh:message "The result _MUST_ have a non-negative value." ; + sh:minInclusive 0 ; + sh:name "Value range" ; + sh:path rdf:value ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ + PREFIX tern: + PREFIX sosa: + PREFIX rdf: + select ?this { + ?observation a tern:Observation ; + sosa:observedProperty + ; + sosa:hasResult ?this . + }""" ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-sweep-hit-type/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b10 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/borderline-trees-count/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description """IRI of `tern:vocabulary` in `sosa:hasResult` _MUST_ have the value ``. - - `` is the IRI for "Basal sweep hit type codes".""" ; - sh:message "The value of `tern:vocabulary` _MUST_ match the pattern `0ba17555-8c8f-435a-b16f-62773561207b$`." ; - sh:name "Vocabulary" ; - sh:path tern:vocabulary ; - sh:pattern "0ba17555-8c8f-435a-b16f-62773561207b$" ; - sh:target [ + sh:class tern:Integer ; + sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Integer`." ; + sh:message "The result _MUST_ be an instance of `tern:Integer`." ; + sh:name "Value type" ; + sh:path sosa:hasResult ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" + PREFIX tern: + PREFIX unit: + PREFIX sosa: + PREFIX rdf: + select ?this { + values ?property_uri {} + ?this a tern:Observation ; + sosa:observedProperty ?property_uri . + } + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-sweep-hit-type/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b10 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/borderline-trees-count/shapes.ttl"^^xsd:anyURI ; . a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:datatype xsd:string ; sh:description "The value in `sosa:hasResult` _MUST_ be xsd:string." ; sh:message "The value of `rdf:value` _MUST_ have the datatype xsd:string." ; sh:name "Datatype" ; sh:path rdf:value ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -432,9 +435,9 @@ PREFIX xsd: sosa:observedProperty ; sosa:hasResult ?this . - }""" + }""" ; ] ; - urnp:examples ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b17 ; urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; . @@ -442,14 +445,15 @@ PREFIX xsd: a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "TERN's ecologists have determined the feature type is _plant population_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; sh:hasValue ; sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/ae71c3f6-d430-400f-a1d4-97a333b4ee02[`plant population`]." ; sh:name "Feature type" ; sh:path tern:featureType ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -461,9 +465,9 @@ PREFIX xsd: sosa:observedProperty ?property_uri ; sosa:hasFeatureOfInterest ?this . } - """ + """ ; ] ; - urnp:examples ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b17 ; urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; . @@ -471,12 +475,13 @@ PREFIX xsd: a sh:NodeShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; sh:name "Simple result" ; - sh:sparql [ + sh:sparql + [ sh:select """ PREFIX tern: PREFIX unit: @@ -492,10 +497,10 @@ PREFIX xsd: ?result rdf:value ?value . filter (?simple != ?value) } - """ + """ ; ] ; sh:targetClass tern:Observation ; - urnp:examples ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b17 ; urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; . @@ -503,7 +508,7 @@ PREFIX xsd: a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Observations following the Basal wedge protocol are made in the context of a site visit." ; sh:maxCount 1 ; @@ -511,7 +516,8 @@ PREFIX xsd: sh:minCount 1 ; sh:name "Site visit" ; sh:path tern:hasSiteVisit ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -523,9 +529,9 @@ PREFIX xsd: ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b17 ; urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; . @@ -533,16 +539,17 @@ PREFIX xsd: a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. + sh:description """IRI of method in procedure _MUST_ have the value ``. `` is the IRI for "Basal wedge protocol".""" ; sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/a7d605e0-7d90-473e-aac0-21cdf380576f`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ + sh:message "The procedure's `tern:methodType` _MUST_ have the value `https://linked.data.gov.au/def/nrm/a7d605e0-7d90-473e-aac0-21cdf380576f`." ; + sh:name "Method type of used procedure" ; + sh:path tern:methodType ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -551,12 +558,13 @@ PREFIX xsd: PREFIX rdf: select ?this { values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . + ?observation a tern:Observation ; + sosa:observedProperty ?property_uri ; + sosa:usedProcedure ?this . } - """ + """ ; ] ; - urnp:examples ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b17 ; urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; . @@ -564,14 +572,15 @@ PREFIX xsd: a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:class tern:Text ; sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Text`." ; sh:message "The result _MUST_ be an instance of `tern:Text`." ; sh:name "Value type" ; - sh:path ; - sh:target [ + sh:path sosa:hasResult ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -583,51 +592,53 @@ PREFIX xsd: ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b17 ; urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "TERN's ecologists have determined the feature type is _plant population_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; sh:hasValue ; sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/ae71c3f6-d430-400f-a1d4-97a333b4ee02[`plant population`]." ; sh:name "Feature type" ; sh:path tern:featureType ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: PREFIX unit: PREFIX sosa: select ?this { - values ?property_uri {} + values ?property_uri {} ?observation a tern:Observation ; sosa:observedProperty ?property_uri ; sosa:hasFeatureOfInterest ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/mean-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b24 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/in-trees-count/shapes.ttl"^^xsd:anyURI ; . - + a sh:NodeShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; sh:name "Simple result" ; - sh:sparql [ + sh:sparql + [ sh:select """ PREFIX tern: PREFIX unit: @@ -636,25 +647,25 @@ PREFIX xsd: select $this { $this a tern:Observation ; sosa:observedProperty - + ; sosa:hasSimpleResult ?simple ; sosa:hasResult ?result . ?result rdf:value ?value . filter (?simple != ?value) } - """ + """ ; ] ; sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/mean-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b24 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/in-trees-count/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Observations following the Basal wedge protocol are made in the context of a site visit." ; sh:maxCount 1 ; @@ -662,7 +673,8 @@ PREFIX xsd: sh:minCount 1 ; sh:name "Site visit" ; sh:path tern:hasSiteVisit ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -670,58 +682,31 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} + values ?property_uri {} ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/mean-basal-area/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Result value's unit of measure _MUST_ have the value `unit:M2-PER-HA`." ; - sh:hasValue unit:M2-PER-HA ; - sh:message "The result _MUST_ have `unit:M2-PER-HA` as the value for `tern:unit`." ; - sh:name "Unit of measure" ; - sh:path tern:unit ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/mean-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b24 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/in-trees-count/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. + sh:description """IRI of method in procedure _MUST_ have the value ``. `` is the IRI for "Basal wedge protocol".""" ; sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/a7d605e0-7d90-473e-aac0-21cdf380576f`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ + sh:message "The procedure's `tern:methodType` _MUST_ have the value `https://linked.data.gov.au/def/nrm/a7d605e0-7d90-473e-aac0-21cdf380576f`." ; + sh:name "Method type of used procedure" ; + sh:path tern:methodType ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -729,29 +714,31 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . + values ?property_uri {} + ?observation a tern:Observation ; + sosa:observedProperty ?property_uri ; + sosa:usedProcedure ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/mean-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b24 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/in-trees-count/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:datatype xsd:float ; - sh:description "Value _MUST_ be positive." ; - sh:message "The result _MUST_ have a positive value." ; - sh:minExclusive 0 ; + sh:datatype xsd:integer ; + sh:description "Value _MUST_ be non-negative." ; + sh:message "The result _MUST_ have a non-negative value." ; + sh:minInclusive 0 ; sh:name "Value range" ; sh:path rdf:value ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -760,26 +747,27 @@ PREFIX xsd: select ?this { ?observation a tern:Observation ; sosa:observedProperty - ; + ; sosa:hasResult ?this . - }""" + }""" ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/mean-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b24 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/in-trees-count/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:class tern:Float ; - sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Float`." ; - sh:message "The result _MUST_ be an instance of `tern:Float`." ; + sh:class tern:Integer ; + sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Integer`." ; + sh:message "The result _MUST_ be an instance of `tern:Integer`." ; sh:name "Value type" ; - sh:path ; - sh:target [ + sh:path sosa:hasResult ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -787,28 +775,29 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} + values ?property_uri {} ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/mean-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b24 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/in-trees-count/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "TERN's ecologists have determined the feature type is _plant community_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; sh:hasValue ; sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/ea3a4c64-dac3-4660-809a-8ad5ced8997b[`plant community`]." ; sh:name "Feature type" ; sh:path tern:featureType ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -820,22 +809,23 @@ PREFIX xsd: sosa:observedProperty ?property_uri ; sosa:hasFeatureOfInterest ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b31 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - + a sh:NodeShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; sh:name "Simple result" ; - sh:sparql [ + sh:sparql + [ sh:select """ PREFIX tern: PREFIX unit: @@ -851,26 +841,27 @@ PREFIX xsd: ?result rdf:value ?value . filter (?simple != ?value) } - """ + """ ; ] ; sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b31 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description "Observations following the Basal wedge protocol are made in the context of a site visit." ; + sh:description "Observations following the DBH protocol are made in the context of a site visit." ; sh:maxCount 1 ; sh:message "Observations _MUST_ have a value for `tern:hasSiteVisit`." ; sh:minCount 1 ; sh:name "Site visit" ; sh:path tern:hasSiteVisit ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -882,24 +873,25 @@ PREFIX xsd: ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b31 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Result value's unit of measure _MUST_ have the value `unit:M2-PER-HA`." ; sh:hasValue unit:M2-PER-HA ; sh:message "The result _MUST_ have `unit:M2-PER-HA` as the value for `tern:unit`." ; sh:name "Unit of measure" ; sh:path tern:unit ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -910,26 +902,27 @@ PREFIX xsd: sosa:observedProperty ; sosa:hasResult ?this . - }""" + }""" ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b31 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. + sh:description """IRI of method in procedure _MUST_ have the value ``. - `` is the IRI for "Basal wedge protocol".""" ; - sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/a7d605e0-7d90-473e-aac0-21cdf380576f`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ + `` is the IRI for "DBH protocol".""" ; + sh:hasValue ; + sh:message "The procedure's `tern:methodType` _MUST_ have the value `https://linked.data.gov.au/def/nrm/5a00862b-a885-472e-8bee-561ec502653f`." ; + sh:name "Method type of used procedure" ; + sh:path tern:methodType ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -938,20 +931,21 @@ PREFIX xsd: PREFIX rdf: select ?this { values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . + ?observation a tern:Observation ; + sosa:observedProperty ?property_uri ; + sosa:usedProcedure ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b31 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:datatype xsd:float ; sh:description "Value _MUST_ be positive." ; @@ -959,7 +953,8 @@ PREFIX xsd: sh:minExclusive 0 ; sh:name "Value range" ; sh:path rdf:value ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -970,24 +965,25 @@ PREFIX xsd: sosa:observedProperty ; sosa:hasResult ?this . - }""" + }""" ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b31 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:class tern:Float ; sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Float`." ; sh:message "The result _MUST_ be an instance of `tern:Float`." ; sh:name "Value type" ; - sh:path ; - sh:target [ + sh:path sosa:hasResult ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -999,51 +995,53 @@ PREFIX xsd: ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b31 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/basal-area/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "TERN's ecologists have determined the feature type is _plant occurrence_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; sh:hasValue ; sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/b311c0d3-4a1a-4932-a39c-f5cdc1afa611[`plant occurrence`]." ; sh:name "Feature type" ; sh:path tern:featureType ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: PREFIX unit: PREFIX sosa: select ?this { - values ?property_uri {} + values ?property_uri {} ?observation a tern:Observation ; sosa:observedProperty ?property_uri ; sosa:hasFeatureOfInterest ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b39 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - + a sh:NodeShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; sh:name "Simple result" ; - sh:sparql [ + sh:sparql + [ sh:select """ PREFIX tern: PREFIX unit: @@ -1052,33 +1050,34 @@ PREFIX xsd: select $this { $this a tern:Observation ; sosa:observedProperty - + ; sosa:hasSimpleResult ?simple ; sosa:hasResult ?result . ?result rdf:value ?value . filter (?simple != ?value) } - """ + """ ; ] ; sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b39 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description "Observations following the Full DBH measures protocol are made in the context of a site visit." ; + sh:description "Observations following the DBH protocol are made in the context of a site visit." ; sh:maxCount 1 ; sh:message "Observations _MUST_ have a value for `tern:hasSiteVisit`." ; sh:minCount 1 ; sh:name "Site visit" ; sh:path tern:hasSiteVisit ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -1086,28 +1085,29 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} + values ?property_uri {} ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b39 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Result value's unit of measure _MUST_ have the value `unit:M`." ; sh:hasValue unit:M ; sh:message "The result _MUST_ have `unit:M` as the value for `tern:unit`." ; sh:name "Unit of measure" ; sh:path tern:unit ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -1116,28 +1116,29 @@ PREFIX xsd: select ?this { ?observation a tern:Observation ; sosa:observedProperty - ; + ; sosa:hasResult ?this . - }""" + }""" ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b39 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. + sh:description """IRI of method in procedure _MUST_ have the value ``. - `` is the IRI for "Full DBH measures protocol".""" ; + `` is the IRI for "DBH protocol".""" ; sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/5a00862b-a885-472e-8bee-561ec502653f`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ + sh:message "The procedure's `tern:methodType` _MUST_ have the value `https://linked.data.gov.au/def/nrm/5a00862b-a885-472e-8bee-561ec502653f`." ; + sh:name "Method type of used procedure" ; + sh:path tern:methodType ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -1145,21 +1146,22 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . + values ?property_uri {} + ?observation a tern:Observation ; + sosa:observedProperty ?property_uri ; + sosa:usedProcedure ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b39 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:datatype xsd:float ; sh:description "Value _MUST_ be positive." ; @@ -1167,7 +1169,8 @@ PREFIX xsd: sh:minExclusive 0 ; sh:name "Value range" ; sh:path rdf:value ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -1176,26 +1179,27 @@ PREFIX xsd: select ?this { ?observation a tern:Observation ; sosa:observedProperty - ; + ; sosa:hasResult ?this . - }""" + }""" ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b39 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:class tern:Float ; sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Float`." ; sh:message "The result _MUST_ be an instance of `tern:Float`." ; sh:name "Value type" ; - sh:path ; - sh:target [ + sh:path sosa:hasResult ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -1203,28 +1207,29 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} + values ?property_uri {} ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b39 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "TERN's ecologists have determined the feature type is _plant occurrence_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; sh:hasValue ; sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/b311c0d3-4a1a-4932-a39c-f5cdc1afa611[`plant occurrence`]." ; sh:name "Feature type" ; sh:path tern:featureType ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -1236,22 +1241,23 @@ PREFIX xsd: sosa:observedProperty ?property_uri ; sosa:hasFeatureOfInterest ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b47 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/diameter-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - + a sh:NodeShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; sh:name "Simple result" ; - sh:sparql [ + sh:sparql + [ sh:select """ PREFIX tern: PREFIX unit: @@ -1267,26 +1273,27 @@ PREFIX xsd: ?result rdf:value ?value . filter (?simple != ?value) } - """ + """ ; ] ; sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b47 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/diameter-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description "Observations following the Full DBH measures protocol are made in the context of a site visit." ; + sh:description "Observations following the DBH protocol are made in the context of a site visit." ; sh:maxCount 1 ; sh:message "Observations _MUST_ have a value for `tern:hasSiteVisit`." ; sh:minCount 1 ; sh:name "Site visit" ; sh:path tern:hasSiteVisit ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -1298,24 +1305,25 @@ PREFIX xsd: ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b47 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/diameter-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Result value's unit of measure _MUST_ have the value `unit:M`." ; sh:hasValue unit:M ; sh:message "The result _MUST_ have `unit:M` as the value for `tern:unit`." ; sh:name "Unit of measure" ; sh:path tern:unit ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -1326,26 +1334,27 @@ PREFIX xsd: sosa:observedProperty ; sosa:hasResult ?this . - }""" + }""" ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b47 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/diameter-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. + sh:description """IRI of method in procedure _MUST_ have the value ``. - `` is the IRI for "Full DBH measures protocol".""" ; + `` is the IRI for "DBH protocol".""" ; sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/5a00862b-a885-472e-8bee-561ec502653f`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ + sh:message "The procedure's `tern:methodType` _MUST_ have the value `https://linked.data.gov.au/def/nrm/5a00862b-a885-472e-8bee-561ec502653f`." ; + sh:name "Method type of used procedure" ; + sh:path tern:methodType ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -1354,20 +1363,21 @@ PREFIX xsd: PREFIX rdf: select ?this { values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . + ?observation a tern:Observation ; + sosa:observedProperty ?property_uri ; + sosa:usedProcedure ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b47 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/diameter-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:datatype xsd:float ; sh:description "Value _MUST_ be positive." ; @@ -1375,7 +1385,8 @@ PREFIX xsd: sh:minExclusive 0 ; sh:name "Value range" ; sh:path rdf:value ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -1386,24 +1397,25 @@ PREFIX xsd: sosa:observedProperty ; sosa:hasResult ?this . - }""" + }""" ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b47 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/diameter-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:class tern:Float ; sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Float`." ; sh:message "The result _MUST_ be an instance of `tern:Float`." ; sh:name "Value type" ; - sh:path ; - sh:target [ + sh:path sosa:hasResult ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -1415,24 +1427,25 @@ PREFIX xsd: ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b47 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/diameter-at-breast-height/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:datatype xsd:string ; sh:description "The value in `sosa:hasResult` _MUST_ be xsd:string." ; sh:message "The value of `rdf:value` _MUST_ have the datatype xsd:string." ; sh:name "Datatype" ; sh:path rdf:value ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -1443,24 +1456,25 @@ PREFIX xsd: sosa:observedProperty ; sosa:hasResult ?this . - }""" + }""" ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b55 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "TERN's ecologists have determined the feature type is _plant occurrence_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; sh:hasValue ; sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/b311c0d3-4a1a-4932-a39c-f5cdc1afa611[`plant occurrence`]." ; sh:name "Feature type" ; sh:path tern:featureType ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -1472,22 +1486,23 @@ PREFIX xsd: sosa:observedProperty ?property_uri ; sosa:hasFeatureOfInterest ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b55 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; . - + a sh:NodeShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; sh:name "Simple result" ; - sh:sparql [ + sh:sparql + [ sh:select """ PREFIX tern: PREFIX unit: @@ -1503,26 +1518,27 @@ PREFIX xsd: ?result rdf:value ?value . filter (?simple != ?value) } - """ + """ ; ] ; sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b55 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description "Observations following the Full DBH measures protocol are made in the context of a site visit." ; + sh:description "Observations following the DBH protocol are made in the context of a site visit." ; sh:maxCount 1 ; sh:message "Observations _MUST_ have a value for `tern:hasSiteVisit`." ; sh:minCount 1 ; sh:name "Site visit" ; sh:path tern:hasSiteVisit ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -1534,26 +1550,27 @@ PREFIX xsd: ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b55 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. + sh:description """IRI of method in procedure _MUST_ have the value ``. - `` is the IRI for "Full DBH measures protocol".""" ; + `` is the IRI for "DBH protocol".""" ; sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/5a00862b-a885-472e-8bee-561ec502653f`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ + sh:message "The procedure's `tern:methodType` _MUST_ have the value `https://linked.data.gov.au/def/nrm/5a00862b-a885-472e-8bee-561ec502653f`." ; + sh:name "Method type of used procedure" ; + sh:path tern:methodType ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -1562,27 +1579,29 @@ PREFIX xsd: PREFIX rdf: select ?this { values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . + ?observation a tern:Observation ; + sosa:observedProperty ?property_uri ; + sosa:usedProcedure ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b55 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:class tern:Text ; sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Text`." ; sh:message "The result _MUST_ be an instance of `tern:Text`." ; sh:name "Value type" ; - sh:path ; - sh:target [ + sh:path sosa:hasResult ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -1594,24 +1613,25 @@ PREFIX xsd: ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b55 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "TERN's ecologists have determined the feature type is _plant occurrence_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; sh:hasValue ; sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/b311c0d3-4a1a-4932-a39c-f5cdc1afa611[`plant occurrence`]." ; sh:name "Feature type" ; sh:path tern:featureType ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -1623,29 +1643,30 @@ PREFIX xsd: sosa:observedProperty ?property_uri ; sosa:hasFeatureOfInterest ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b62 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/plant-mortality/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Controlled , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description "The value in `sosa:hasResult` _MUST_ be a value in `sh:in`, which is the Plant statuses codes controlled vocabulary." ; + sh:description "The value in `sosa:hasResult` _MUST_ be a value in `sh:in`, which is the Plant statuses controlled vocabulary." ; sh:in ( - - - - ) ; - sh:message "The value of `rdf:value` _MUST_ exist in the Plant statuses codes controlled vocabulary." ; + + + + ) ; + sh:message "The value of `rdf:value` _MUST_ exist in the Plant statuses controlled vocabulary." ; sh:name "Result value" ; sh:path rdf:value ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -1656,9 +1677,9 @@ PREFIX xsd: sosa:observedProperty ; sosa:hasResult ?this . - }""" + }""" ; ] ; - urnp:examples ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b62 ; urnp:query """ PREFIX skos: select ?values { @@ -1668,19 +1689,20 @@ PREFIX xsd: } """ ; urnp:sparqlEndpoint "https://graphdb.tern.org.au/repositories/dawe_vocabs_core" ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/plant-mortality/shapes.ttl"^^xsd:anyURI ; . - + a sh:NodeShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; sh:name "Simple result" ; - sh:sparql [ + sh:sparql + [ sh:select """ PREFIX tern: PREFIX unit: @@ -1696,26 +1718,27 @@ PREFIX xsd: ?result rdf:value ?value . filter (?simple != ?value) } - """ + """ ; ] ; sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b62 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/plant-mortality/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description "Observations following the Full DBH measures protocol are made in the context of a site visit." ; + sh:description "Observations following the DBH protocol are made in the context of a site visit." ; sh:maxCount 1 ; sh:message "Observations _MUST_ have a value for `tern:hasSiteVisit`." ; sh:minCount 1 ; sh:name "Site visit" ; sh:path tern:hasSiteVisit ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -1727,26 +1750,27 @@ PREFIX xsd: ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b62 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/plant-mortality/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. + sh:description """IRI of method in procedure _MUST_ have the value ``. - `` is the IRI for "Full DBH measures protocol".""" ; + `` is the IRI for "DBH protocol".""" ; sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/5a00862b-a885-472e-8bee-561ec502653f`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ + sh:message "The procedure's `tern:methodType` _MUST_ have the value `https://linked.data.gov.au/def/nrm/5a00862b-a885-472e-8bee-561ec502653f`." ; + sh:name "Method type of used procedure" ; + sh:path tern:methodType ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -1755,27 +1779,29 @@ PREFIX xsd: PREFIX rdf: select ?this { values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . + ?observation a tern:Observation ; + sosa:observedProperty ?property_uri ; + sosa:usedProcedure ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b62 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/plant-mortality/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:class tern:IRI ; sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:IRI`." ; sh:message "The result _MUST_ be an instance of `tern:IRI`." ; sh:name "Value type" ; - sh:path ; - sh:target [ + sh:path sosa:hasResult ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -1787,26 +1813,27 @@ PREFIX xsd: ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b62 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/plant-mortality/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description """IRI of `tern:vocabulary` in `sosa:hasResult` _MUST_ have the value ``. - `` is the IRI for "Plant statuses codes".""" ; + `` is the IRI for "Plant statuses".""" ; sh:message "The value of `tern:vocabulary` _MUST_ match the pattern `b7368a37-a4ac-4c84-8a78-1fb9755ad849$`." ; sh:name "Vocabulary" ; sh:path tern:vocabulary ; sh:pattern "b7368a37-a4ac-4c84-8a78-1fb9755ad849$" ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -1817,51 +1844,97 @@ PREFIX xsd: sosa:observedProperty ; sosa:hasResult ?this . - }""" + }""" ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b62 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/plant-mortality/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description "TERN's ecologists have determined the feature type is _plant community_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; - sh:hasValue ; - sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/ea3a4c64-dac3-4660-809a-8ad5ced8997b[`plant community`]." ; + sh:description "TERN's ecologists have determined the feature type is _plant occurrence_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; + sh:hasValue ; + sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/b311c0d3-4a1a-4932-a39c-f5cdc1afa611[`plant occurrence`]." ; sh:name "Feature type" ; sh:path tern:featureType ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: PREFIX unit: PREFIX sosa: select ?this { - values ?property_uri {} + values ?property_uri {} ?observation a tern:Observation ; sosa:observedProperty ?property_uri ; sosa:hasFeatureOfInterest ?this . } - """ + """ ; + ] ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b73 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; +. + + + a + sh:PropertyShape , + urnc:Controlled , + urnc:Requirement ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; + reg:status reg:statusSubmitted ; + sh:description "The value in `sosa:hasResult` _MUST_ be a value in `sh:in`, which is the Tree trunk types controlled vocabulary." ; + sh:in ( + + + + + ) ; + sh:message "The value of `rdf:value` _MUST_ exist in the Tree trunk types controlled vocabulary." ; + sh:name "Result value" ; + sh:path rdf:value ; + sh:target + [ + a sh:SPARQLTarget ; + sh:select """ + PREFIX tern: + PREFIX sosa: + PREFIX rdf: + select ?this { + ?observation a tern:Observation ; + sosa:observedProperty + ; + sosa:hasResult ?this . + }""" ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b73 ; + urnp:query """ + PREFIX skos: + select ?values { + values ?categoricalUUID {'9282400b-56c3-49a9-bb82-87ef74914690'} + ?s skos:member ?values . + filter (STRENDS(str(?s), ?categoricalUUID)) + } + """ ; + urnp:sparqlEndpoint "https://graphdb.tern.org.au/repositories/dawe_vocabs_core" ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; . - + a sh:NodeShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; sh:name "Simple result" ; - sh:sparql [ + sh:sparql + [ sh:select """ PREFIX tern: PREFIX unit: @@ -1870,33 +1943,34 @@ PREFIX xsd: select $this { $this a tern:Observation ; sosa:observedProperty - + ; sosa:hasSimpleResult ?simple ; sosa:hasResult ?result . ?result rdf:value ?value . filter (?simple != ?value) } - """ + """ ; ] ; sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b73 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description "Observations following the Full DBH measures protocol are made in the context of a site visit." ; + sh:description "Observations following the DBH protocol are made in the context of a site visit." ; sh:maxCount 1 ; sh:message "Observations _MUST_ have a value for `tern:hasSiteVisit`." ; sh:minCount 1 ; sh:name "Site visit" ; sh:path tern:hasSiteVisit ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -1904,1366 +1978,31 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} + values ?property_uri {} ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b73 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; - sh:description "Result value's unit of measure _MUST_ have the value `unit:M2-PER-HA`." ; - sh:hasValue unit:M2-PER-HA ; - sh:message "The result _MUST_ have `unit:M2-PER-HA` as the value for `tern:unit`." ; - sh:name "Unit of measure" ; - sh:path tern:unit ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. - - `` is the IRI for "Full DBH measures protocol".""" ; - sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/5a00862b-a885-472e-8bee-561ec502653f`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:datatype xsd:float ; - sh:description "Value _MUST_ be positive." ; - sh:message "The result _MUST_ have a positive value." ; - sh:minExclusive 0 ; - sh:name "Value range" ; - sh:path rdf:value ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:class tern:Float ; - sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Float`." ; - sh:message "The result _MUST_ be an instance of `tern:Float`." ; - sh:name "Value type" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "TERN's ecologists have determined the feature type is _plant occurrence_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; - sh:hasValue ; - sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/b311c0d3-4a1a-4932-a39c-f5cdc1afa611[`plant occurrence`]." ; - sh:name "Feature type" ; - sh:path tern:featureType ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - select ?this { - values ?property_uri {} - ?observation a tern:Observation ; - sosa:observedProperty ?property_uri ; - sosa:hasFeatureOfInterest ?this . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Controlled , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "The value in `sosa:hasResult` _MUST_ be a value in `sh:in`, which is the Basal tree trunk types controlled vocabulary." ; - sh:in ( - - - - - ) ; - sh:message "The value of `rdf:value` _MUST_ exist in the Basal tree trunk types controlled vocabulary." ; - sh:name "Result value" ; - sh:path rdf:value ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:query """ - PREFIX skos: - select ?values { - values ?categoricalUUID {'9282400b-56c3-49a9-bb82-87ef74914690'} - ?s skos:member ?values . - filter (STRENDS(str(?s), ?categoricalUUID)) - } - """ ; - urnp:sparqlEndpoint "https://graphdb.tern.org.au/repositories/dawe_vocabs_core" ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:NodeShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; - sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; - sh:name "Simple result" ; - sh:sparql [ - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select $this { - $this a tern:Observation ; - sosa:observedProperty - - ; - sosa:hasSimpleResult ?simple ; - sosa:hasResult ?result . - ?result rdf:value ?value . - filter (?simple != ?value) - } - """ - ] ; - sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Observations following the Full DBH measures protocol are made in the context of a site visit." ; - sh:maxCount 1 ; - sh:message "Observations _MUST_ have a value for `tern:hasSiteVisit`." ; - sh:minCount 1 ; - sh:name "Site visit" ; - sh:path tern:hasSiteVisit ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. - - `` is the IRI for "Full DBH measures protocol".""" ; - sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/5a00862b-a885-472e-8bee-561ec502653f`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:class tern:IRI ; - sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:IRI`." ; - sh:message "The result _MUST_ be an instance of `tern:IRI`." ; - sh:name "Value type" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description """IRI of `tern:vocabulary` in `sosa:hasResult` _MUST_ have the value ``. - - `` is the IRI for "Basal tree trunk types".""" ; - sh:message "The value of `tern:vocabulary` _MUST_ match the pattern `9282400b-56c3-49a9-bb82-87ef74914690$`." ; - sh:name "Vocabulary" ; - sh:path tern:vocabulary ; - sh:pattern "9282400b-56c3-49a9-bb82-87ef74914690$" ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "TERN's ecologists have determined the feature type is _plant occurrence_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; - sh:hasValue ; - sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/b311c0d3-4a1a-4932-a39c-f5cdc1afa611[`plant occurrence`]." ; - sh:name "Feature type" ; - sh:path tern:featureType ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - select ?this { - values ?property_uri {} - ?observation a tern:Observation ; - sosa:observedProperty ?property_uri ; - sosa:hasFeatureOfInterest ?this . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:NodeShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; - sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; - sh:name "Simple result" ; - sh:sparql [ - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select $this { - $this a tern:Observation ; - sosa:observedProperty - - ; - sosa:hasSimpleResult ?simple ; - sosa:hasResult ?result . - ?result rdf:value ?value . - filter (?simple != ?value) - } - """ - ] ; - sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Observations following the Lite DBH measures protocol are made in the context of a site visit." ; - sh:maxCount 1 ; - sh:message "Observations _MUST_ have a value for `tern:hasSiteVisit`." ; - sh:minCount 1 ; - sh:name "Site visit" ; - sh:path tern:hasSiteVisit ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Result value's unit of measure _MUST_ have the value `unit:M`." ; - sh:hasValue unit:M ; - sh:message "The result _MUST_ have `unit:M` as the value for `tern:unit`." ; - sh:name "Unit of measure" ; - sh:path tern:unit ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. - - `` is the IRI for "Lite DBH measures protocol".""" ; - sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/cd83fb3e-d8d3-4502-a618-a0f3f8712b27`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:datatype xsd:float ; - sh:description "Value _MUST_ be positive." ; - sh:message "The result _MUST_ have a positive value." ; - sh:minExclusive 0 ; - sh:name "Value range" ; - sh:path rdf:value ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:class tern:Float ; - sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Float`." ; - sh:message "The result _MUST_ be an instance of `tern:Float`." ; - sh:name "Value type" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "TERN's ecologists have determined the feature type is _plant occurrence_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; - sh:hasValue ; - sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/b311c0d3-4a1a-4932-a39c-f5cdc1afa611[`plant occurrence`]." ; - sh:name "Feature type" ; - sh:path tern:featureType ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - select ?this { - values ?property_uri {} - ?observation a tern:Observation ; - sosa:observedProperty ?property_uri ; - sosa:hasFeatureOfInterest ?this . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:NodeShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; - sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; - sh:name "Simple result" ; - sh:sparql [ - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select $this { - $this a tern:Observation ; - sosa:observedProperty - - ; - sosa:hasSimpleResult ?simple ; - sosa:hasResult ?result . - ?result rdf:value ?value . - filter (?simple != ?value) - } - """ - ] ; - sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Observations following the Lite DBH measures protocol are made in the context of a site visit." ; - sh:maxCount 1 ; - sh:message "Observations _MUST_ have a value for `tern:hasSiteVisit`." ; - sh:minCount 1 ; - sh:name "Site visit" ; - sh:path tern:hasSiteVisit ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Result value's unit of measure _MUST_ have the value `unit:M`." ; - sh:hasValue unit:M ; - sh:message "The result _MUST_ have `unit:M` as the value for `tern:unit`." ; - sh:name "Unit of measure" ; - sh:path tern:unit ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. - - `` is the IRI for "Lite DBH measures protocol".""" ; - sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/cd83fb3e-d8d3-4502-a618-a0f3f8712b27`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:datatype xsd:float ; - sh:description "Value _MUST_ be positive." ; - sh:message "The result _MUST_ have a positive value." ; - sh:minExclusive 0 ; - sh:name "Value range" ; - sh:path rdf:value ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:class tern:Float ; - sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Float`." ; - sh:message "The result _MUST_ be an instance of `tern:Float`." ; - sh:name "Value type" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:datatype xsd:string ; - sh:description "The value in `sosa:hasResult` _MUST_ be xsd:string." ; - sh:message "The value of `rdf:value` _MUST_ have the datatype xsd:string." ; - sh:name "Datatype" ; - sh:path rdf:value ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "TERN's ecologists have determined the feature type is _plant occurrence_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; - sh:hasValue ; - sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/b311c0d3-4a1a-4932-a39c-f5cdc1afa611[`plant occurrence`]." ; - sh:name "Feature type" ; - sh:path tern:featureType ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - select ?this { - values ?property_uri {} - ?observation a tern:Observation ; - sosa:observedProperty ?property_uri ; - sosa:hasFeatureOfInterest ?this . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:NodeShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; - sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; - sh:name "Simple result" ; - sh:sparql [ - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select $this { - $this a tern:Observation ; - sosa:observedProperty - - ; - sosa:hasSimpleResult ?simple ; - sosa:hasResult ?result . - ?result rdf:value ?value . - filter (?simple != ?value) - } - """ - ] ; - sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Observations following the Lite DBH measures protocol are made in the context of a site visit." ; - sh:maxCount 1 ; - sh:message "Observations _MUST_ have a value for `tern:hasSiteVisit`." ; - sh:minCount 1 ; - sh:name "Site visit" ; - sh:path tern:hasSiteVisit ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. - - `` is the IRI for "Lite DBH measures protocol".""" ; - sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/cd83fb3e-d8d3-4502-a618-a0f3f8712b27`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:class tern:Text ; - sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Text`." ; - sh:message "The result _MUST_ be an instance of `tern:Text`." ; - sh:name "Value type" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/field-species-name/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "TERN's ecologists have determined the feature type is _plant occurrence_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; - sh:hasValue ; - sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/b311c0d3-4a1a-4932-a39c-f5cdc1afa611[`plant occurrence`]." ; - sh:name "Feature type" ; - sh:path tern:featureType ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - select ?this { - values ?property_uri {} - ?observation a tern:Observation ; - sosa:observedProperty ?property_uri ; - sosa:hasFeatureOfInterest ?this . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Controlled , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "The value in `sosa:hasResult` _MUST_ be a value in `sh:in`, which is the Plant statuses codes controlled vocabulary." ; - sh:in ( - - - - ) ; - sh:message "The value of `rdf:value` _MUST_ exist in the Plant statuses codes controlled vocabulary." ; - sh:name "Result value" ; - sh:path rdf:value ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:query """ - PREFIX skos: - select ?values { - values ?categoricalUUID {'b7368a37-a4ac-4c84-8a78-1fb9755ad849'} - ?s skos:member ?values . - filter (STRENDS(str(?s), ?categoricalUUID)) - } - """ ; - urnp:sparqlEndpoint "https://graphdb.tern.org.au/repositories/dawe_vocabs_core" ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:NodeShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; - sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; - sh:name "Simple result" ; - sh:sparql [ - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select $this { - $this a tern:Observation ; - sosa:observedProperty - - ; - sosa:hasSimpleResult ?simple ; - sosa:hasResult ?result . - ?result rdf:value ?value . - filter (?simple != ?value) - } - """ - ] ; - sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Observations following the Lite DBH measures protocol are made in the context of a site visit." ; - sh:maxCount 1 ; - sh:message "Observations _MUST_ have a value for `tern:hasSiteVisit`." ; - sh:minCount 1 ; - sh:name "Site visit" ; - sh:path tern:hasSiteVisit ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. - - `` is the IRI for "Lite DBH measures protocol".""" ; - sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/cd83fb3e-d8d3-4502-a618-a0f3f8712b27`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:class tern:IRI ; - sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:IRI`." ; - sh:message "The result _MUST_ be an instance of `tern:IRI`." ; - sh:name "Value type" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description """IRI of `tern:vocabulary` in `sosa:hasResult` _MUST_ have the value ``. - - `` is the IRI for "Plant statuses codes".""" ; - sh:message "The value of `tern:vocabulary` _MUST_ match the pattern `b7368a37-a4ac-4c84-8a78-1fb9755ad849$`." ; - sh:name "Vocabulary" ; - sh:path tern:vocabulary ; - sh:pattern "b7368a37-a4ac-4c84-8a78-1fb9755ad849$" ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/plant-status/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "TERN's ecologists have determined the feature type is _plant community_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; - sh:hasValue ; - sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/ea3a4c64-dac3-4660-809a-8ad5ced8997b[`plant community`]." ; - sh:name "Feature type" ; - sh:path tern:featureType ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - select ?this { - values ?property_uri {} - ?observation a tern:Observation ; - sosa:observedProperty ?property_uri ; - sosa:hasFeatureOfInterest ?this . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:NodeShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; - sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; - sh:name "Simple result" ; - sh:sparql [ - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select $this { - $this a tern:Observation ; - sosa:observedProperty - - ; - sosa:hasSimpleResult ?simple ; - sosa:hasResult ?result . - ?result rdf:value ?value . - filter (?simple != ?value) - } - """ - ] ; - sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Observations following the Lite DBH measures protocol are made in the context of a site visit." ; - sh:maxCount 1 ; - sh:message "Observations _MUST_ have a value for `tern:hasSiteVisit`." ; - sh:minCount 1 ; - sh:name "Site visit" ; - sh:path tern:hasSiteVisit ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Result value's unit of measure _MUST_ have the value `unit:M2-PER-HA`." ; - sh:hasValue unit:M2-PER-HA ; - sh:message "The result _MUST_ have `unit:M2-PER-HA` as the value for `tern:unit`." ; - sh:name "Unit of measure" ; - sh:path tern:unit ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. - - `` is the IRI for "Lite DBH measures protocol".""" ; - sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/cd83fb3e-d8d3-4502-a618-a0f3f8712b27`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:datatype xsd:float ; - sh:description "Value _MUST_ be positive." ; - sh:message "The result _MUST_ have a positive value." ; - sh:minExclusive 0 ; - sh:name "Value range" ; - sh:path rdf:value ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:class tern:Float ; - sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Float`." ; - sh:message "The result _MUST_ be an instance of `tern:Float`." ; - sh:name "Value type" ; - sh:path ; - sh:target [ + sh:description """IRI of method in procedure _MUST_ have the value ``. + + `` is the IRI for "DBH protocol".""" ; + sh:hasValue ; + sh:message "The procedure's `tern:methodType` _MUST_ have the value `https://linked.data.gov.au/def/nrm/5a00862b-a885-472e-8bee-561ec502653f`." ; + sh:name "Method type of used procedure" ; + sh:path tern:methodType ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -3271,193 +2010,30 @@ PREFIX xsd: PREFIX sosa: PREFIX rdf: select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "TERN's ecologists have determined the feature type is _plant occurrence_, defined by the link:https://www.publish.csiro.au/book/5230/[Australian Soil and Land Survey Field Handbook]." ; - sh:hasValue ; - sh:message "The value of `tern:featureType` _MUST_ be link: http://linked.data.gov.au/def/tern-cv/b311c0d3-4a1a-4932-a39c-f5cdc1afa611[`plant occurrence`]." ; - sh:name "Feature type" ; - sh:path tern:featureType ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - select ?this { values ?property_uri {} ?observation a tern:Observation ; sosa:observedProperty ?property_uri ; - sosa:hasFeatureOfInterest ?this . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Controlled , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "The value in `sosa:hasResult` _MUST_ be a value in `sh:in`, which is the Basal tree trunk types controlled vocabulary." ; - sh:in ( - - - - - ) ; - sh:message "The value of `rdf:value` _MUST_ exist in the Basal tree trunk types controlled vocabulary." ; - sh:name "Result value" ; - sh:path rdf:value ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX sosa: - PREFIX rdf: - select ?this { - ?observation a tern:Observation ; - sosa:observedProperty - ; - sosa:hasResult ?this . - }""" - ] ; - urnp:examples ; - urnp:query """ - PREFIX skos: - select ?values { - values ?categoricalUUID {'9282400b-56c3-49a9-bb82-87ef74914690'} - ?s skos:member ?values . - filter (STRENDS(str(?s), ?categoricalUUID)) - } - """ ; - urnp:sparqlEndpoint "https://graphdb.tern.org.au/repositories/dawe_vocabs_core" ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:NodeShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Value of `sosa:hasSimpleResult` _MUST_ be the same as the value in `sosa:hasResult`." ; - sh:message "The observation's `sosa:hasSimpleResult` _MUST_ have a value that is the same as the value in the value node of `sosa:hasResult`." ; - sh:name "Simple result" ; - sh:sparql [ - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select $this { - $this a tern:Observation ; - sosa:observedProperty - - ; - sosa:hasSimpleResult ?simple ; - sosa:hasResult ?result . - ?result rdf:value ?value . - filter (?simple != ?value) - } - """ - ] ; - sh:targetClass tern:Observation ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description "Observations following the Lite DBH measures protocol are made in the context of a site visit." ; - sh:maxCount 1 ; - sh:message "Observations _MUST_ have a value for `tern:hasSiteVisit`." ; - sh:minCount 1 ; - sh:name "Site visit" ; - sh:path tern:hasSiteVisit ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . - } - """ - ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; -. - - - a - sh:PropertyShape , - urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; - reg:status reg:statusSubmitted ; - sh:description """IRI of procedure _MUST_ have the value ``. - - `` is the IRI for "Lite DBH measures protocol".""" ; - sh:hasValue ; - sh:message "The observation's `sosa:usedProcedure` _MUST_ have the value `https://linked.data.gov.au/def/nrm/cd83fb3e-d8d3-4502-a618-a0f3f8712b27`." ; - sh:name "Used procedure" ; - sh:path ; - sh:target [ - a sh:SPARQLTarget ; - sh:select """ - PREFIX tern: - PREFIX unit: - PREFIX sosa: - PREFIX rdf: - select ?this { - values ?property_uri {} - ?this a tern:Observation ; - sosa:observedProperty ?property_uri . + sosa:usedProcedure ?this . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b73 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:class tern:IRI ; sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:IRI`." ; sh:message "The result _MUST_ be an instance of `tern:IRI`." ; sh:name "Value type" ; - sh:path ; - sh:target [ + sh:path sosa:hasResult ; + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -3469,26 +2045,27 @@ PREFIX xsd: ?this a tern:Observation ; sosa:observedProperty ?property_uri . } - """ + """ ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b73 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; . - + a sh:PropertyShape , urnc:Requirement ; - dcterms:source "TERN Ecosystem Surveillance Ecological Monitoring Protocols" ; + dcterms:source "Ecological Monitoring System - Australia Protocols" ; reg:status reg:statusSubmitted ; sh:description """IRI of `tern:vocabulary` in `sosa:hasResult` _MUST_ have the value ``. - `` is the IRI for "Basal tree trunk types".""" ; + `` is the IRI for "Tree trunk types".""" ; sh:message "The value of `tern:vocabulary` _MUST_ match the pattern `9282400b-56c3-49a9-bb82-87ef74914690$`." ; sh:name "Vocabulary" ; sh:path tern:vocabulary ; sh:pattern "9282400b-56c3-49a9-bb82-87ef74914690$" ; - sh:target [ + sh:target + [ a sh:SPARQLTarget ; sh:select """ PREFIX tern: @@ -3499,94 +2076,58 @@ PREFIX xsd: sosa:observedProperty ; sosa:hasResult ?this . - }""" + }""" ; ] ; - urnp:examples ; - urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; + urnp:examples _:ne3e362a7c8104337ad5584e73535dd57b73 ; + urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/tree-trunk-type/shapes.ttl"^^xsd:anyURI ; . - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-count/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-count/valid.ttl"^^xsd:anyURI ; +_:ne3e362a7c8104337ad5584e73535dd57b10 + urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/borderline-trees-count/invalid.ttl"^^xsd:anyURI ; + urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/borderline-trees-count/valid.ttl"^^xsd:anyURI ; . - +_:ne3e362a7c8104337ad5584e73535dd57b17 urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/invalid.ttl"^^xsd:anyURI ; urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/valid.ttl"^^xsd:anyURI ; . - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/field-species-name/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/field-species-name/valid.ttl"^^xsd:anyURI ; -. - - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/field-species-name/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/field-species-name/valid.ttl"^^xsd:anyURI ; -. - - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-sweep-hit-type/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-sweep-hit-type/valid.ttl"^^xsd:anyURI ; -. - - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/mean-basal-area/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/mean-basal-area/valid.ttl"^^xsd:anyURI ; -. - - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/stand-basal-area/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/stand-basal-area/valid.ttl"^^xsd:anyURI ; -. - - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/circumference-at-breast-height/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/circumference-at-breast-height/valid.ttl"^^xsd:anyURI ; -. - - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/valid.ttl"^^xsd:anyURI ; -. - - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/plant-status/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/plant-status/valid.ttl"^^xsd:anyURI ; +_:ne3e362a7c8104337ad5584e73535dd57b24 + urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/in-trees-count/invalid.ttl"^^xsd:anyURI ; + urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/in-trees-count/valid.ttl"^^xsd:anyURI ; . - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/stand-basal-area/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/stand-basal-area/valid.ttl"^^xsd:anyURI ; +_:ne3e362a7c8104337ad5584e73535dd57b55 + urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/field-species-name/invalid.ttl"^^xsd:anyURI ; + urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/field-species-name/valid.ttl"^^xsd:anyURI ; . - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/tree-trunk-type/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/tree-trunk-type/valid.ttl"^^xsd:anyURI ; +_:ne3e362a7c8104337ad5584e73535dd57b2 + urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area/invalid.ttl"^^xsd:anyURI ; + urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area/valid.ttl"^^xsd:anyURI ; . - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/circumference-at-breast-height/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/circumference-at-breast-height/valid.ttl"^^xsd:anyURI ; +_:ne3e362a7c8104337ad5584e73535dd57b31 + urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/basal-area/invalid.ttl"^^xsd:anyURI ; + urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/basal-area/valid.ttl"^^xsd:anyURI ; . - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/valid.ttl"^^xsd:anyURI ; +_:ne3e362a7c8104337ad5584e73535dd57b39 + urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/circumference-at-breast-height/invalid.ttl"^^xsd:anyURI ; + urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/circumference-at-breast-height/valid.ttl"^^xsd:anyURI ; . - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/plant-status/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/plant-status/valid.ttl"^^xsd:anyURI ; +_:ne3e362a7c8104337ad5584e73535dd57b47 + urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/diameter-at-breast-height/invalid.ttl"^^xsd:anyURI ; + urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/diameter-at-breast-height/valid.ttl"^^xsd:anyURI ; . - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/stand-basal-area/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/stand-basal-area/valid.ttl"^^xsd:anyURI ; +_:ne3e362a7c8104337ad5584e73535dd57b62 + urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/plant-mortality/invalid.ttl"^^xsd:anyURI ; + urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/plant-mortality/valid.ttl"^^xsd:anyURI ; . - - urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/tree-trunk-type/invalid.ttl"^^xsd:anyURI ; - urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/tree-trunk-type/valid.ttl"^^xsd:anyURI ; +_:ne3e362a7c8104337ad5584e73535dd57b73 + urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/tree-trunk-type/invalid.ttl"^^xsd:anyURI ; + urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/basal-area/basal-area-dbh-protocol-shapes/tree-trunk-type/valid.ttl"^^xsd:anyURI ; . - diff --git a/shapes/emsa-shapes.ttl b/shapes/emsa-shapes.ttl new file mode 100644 index 00000000..825de8ed --- /dev/null +++ b/shapes/emsa-shapes.ttl @@ -0,0 +1,26 @@ +PREFIX rdfs: +PREFIX sh: +PREFIX tern: +PREFIX xsd: + + + a sh:NodeShape ; + rdfs:label "Procedure"@en ; + sh:property + [ + sh:class tern:Survey ; + sh:maxCount 1 ; + sh:message "A `tern:Procedure` _MAY_ have maximum 1 `tern:hasSurvey` predicate where the value node is `tern:Survey`." ; + sh:path tern:hasSurvey ; + sh:severity sh:Violation ; + ] , + [ + sh:maxCount 1 ; + sh:message "A `tern:Procedure` _MUST_ have exactly 1 `tern:methodType` where the value node is a `sh:IRI`." ; + sh:minCount 1 ; + sh:nodeKind sh:IRI ; + sh:path tern:methodType ; + sh:severity sh:Violation ; + ] ; + sh:targetClass tern:Procedure ; +. diff --git a/tests/manifests.py b/tests/manifests.py index b4e16156..d56ede0b 100644 --- a/tests/manifests.py +++ b/tests/manifests.py @@ -2068,103 +2068,75 @@ def astuple(self) -> Tuple: expected_failures=6, ).astuple(), TestCaseItem( - name="basal-area-basal-wedge-protocol-shapes-basal-area-count", - shapes_path="shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-count/shapes.ttl", - valid_data_path="shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-count/valid.ttl", - invalid_data_path="shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-count/invalid.ttl", - expected_failures=7, - ).astuple(), - TestCaseItem( - name="basal-area-basal-wedge-protocol-shapes-basal-area-sweep-hit-type", - shapes_path="shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-sweep-hit-type/shapes.ttl", - valid_data_path="shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-sweep-hit-type/valid.ttl", - invalid_data_path="shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area-sweep-hit-type/invalid.ttl", - expected_failures=7, - ).astuple(), - TestCaseItem( - name="basal-area-full-dbh-measures-protocol-shapes-diameter-at-breast-height-dbh", - shapes_path="shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl", - valid_data_path="shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/valid.ttl", - invalid_data_path="shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/invalid.ttl", + name="basal-area-dbh-protocol-shapes-diameter-at-breast-height", + shapes_path="shapes/basal-area/basal-area-dbh-protocol-shapes/diameter-at-breast-height/shapes.ttl", + valid_data_path="shapes/basal-area/basal-area-dbh-protocol-shapes/diameter-at-breast-height/valid.ttl", + invalid_data_path="shapes/basal-area/basal-area-dbh-protocol-shapes/diameter-at-breast-height/invalid.ttl", expected_failures=8, ).astuple(), TestCaseItem( - name="basal-area-full-dbh-measures-protocol-shapes-stand-basal-area", - shapes_path="shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl", - valid_data_path="shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/stand-basal-area/valid.ttl", - invalid_data_path="shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/stand-basal-area/invalid.ttl", + name="basal-area-dbh-protocol-shapes-basal-area", + shapes_path="shapes/basal-area/basal-area-dbh-protocol-shapes/basal-area/shapes.ttl", + valid_data_path="shapes/basal-area/basal-area-dbh-protocol-shapes/basal-area/valid.ttl", + invalid_data_path="shapes/basal-area/basal-area-dbh-protocol-shapes/basal-area/invalid.ttl", expected_failures=8, ).astuple(), TestCaseItem( - name="basal-area-full-dbh-measures-protocol-shapes-field-species-name", - shapes_path="shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/field-species-name/shapes.ttl", - valid_data_path="shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/field-species-name/valid.ttl", - invalid_data_path="shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/field-species-name/invalid.ttl", + name="basal-area-dbh-protocol-shapes-field-species-name", + shapes_path="shapes/basal-area/basal-area-dbh-protocol-shapes/field-species-name/shapes.ttl", + valid_data_path="shapes/basal-area/basal-area-dbh-protocol-shapes/field-species-name/valid.ttl", + invalid_data_path="shapes/basal-area/basal-area-dbh-protocol-shapes/field-species-name/invalid.ttl", expected_failures=6, ).astuple(), TestCaseItem( - name="basal-area-full-dbh-measures-protocol-shapes-tree-trunk-type", - shapes_path="shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl", - valid_data_path="shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/tree-trunk-type/valid.ttl", - invalid_data_path="shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/tree-trunk-type/invalid.ttl", + name="basal-area-dbh-protocol-shapes-tree-trunk-type", + shapes_path="shapes/basal-area/basal-area-dbh-protocol-shapes/tree-trunk-type/shapes.ttl", + valid_data_path="shapes/basal-area/basal-area-dbh-protocol-shapes/tree-trunk-type/valid.ttl", + invalid_data_path="shapes/basal-area/basal-area-dbh-protocol-shapes/tree-trunk-type/invalid.ttl", expected_failures=7, ).astuple(), TestCaseItem( - name="basal-area-full-dbh-measures-protocol-shapes-plant-status", - shapes_path="shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/plant-status/shapes.ttl", - valid_data_path="shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/plant-status/valid.ttl", - invalid_data_path="shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/plant-status/invalid.ttl", + name="basal-area-dbh-protocol-shapes-plant-mortality", + shapes_path="shapes/basal-area/basal-area-dbh-protocol-shapes/plant-mortality/shapes.ttl", + valid_data_path="shapes/basal-area/basal-area-dbh-protocol-shapes/plant-mortality/valid.ttl", + invalid_data_path="shapes/basal-area/basal-area-dbh-protocol-shapes/plant-mortality/invalid.ttl", expected_failures=7, ).astuple(), TestCaseItem( - name="basal-area-full-dbh-measures-protocol-shapes-circumference-at-breast-height", - shapes_path="shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl", - valid_data_path="shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/circumference-at-breast-height/valid.ttl", - invalid_data_path="shapes/basal-area/basal-area-full-dbh-measures-protocol-shapes/circumference-at-breast-height/invalid.ttl", + name="basal-area-dbh-protocol-shapes-circumference-at-breast-height", + shapes_path="shapes/basal-area/basal-area-dbh-protocol-shapes/circumference-at-breast-height/shapes.ttl", + valid_data_path="shapes/basal-area/basal-area-dbh-protocol-shapes/circumference-at-breast-height/valid.ttl", + invalid_data_path="shapes/basal-area/basal-area-dbh-protocol-shapes/circumference-at-breast-height/invalid.ttl", expected_failures=8, ).astuple(), TestCaseItem( - name="basal-area-lite-dbh-measures-protocol-shapes-diameter-at-breast-height-dbh", - shapes_path="shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/shapes.ttl", - valid_data_path="shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/valid.ttl", - invalid_data_path="shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/diameter-at-breast-height-dbh/invalid.ttl", + name="basal-area-basal-wedge-protocol-shapes-basal-area", + shapes_path="shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area/shapes.ttl", + valid_data_path="shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area/valid.ttl", + invalid_data_path="shapes/basal-area/basal-area-basal-wedge-protocol-shapes/basal-area/invalid.ttl", expected_failures=8, ).astuple(), TestCaseItem( - name="basal-area-lite-dbh-measures-protocol-shapes-stand-basal-area", - shapes_path="shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/stand-basal-area/shapes.ttl", - valid_data_path="shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/stand-basal-area/valid.ttl", - invalid_data_path="shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/stand-basal-area/invalid.ttl", - expected_failures=8, - ).astuple(), - TestCaseItem( - name="basal-area-lite-dbh-measures-protocol-shapes-field-species-name", - shapes_path="shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/field-species-name/shapes.ttl", - valid_data_path="shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/field-species-name/valid.ttl", - invalid_data_path="shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/field-species-name/invalid.ttl", + name="basal-area-basal-wedge-protocol-shapes-field-species-name", + shapes_path="shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/shapes.ttl", + valid_data_path="shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/valid.ttl", + invalid_data_path="shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/invalid.ttl", expected_failures=6, ).astuple(), TestCaseItem( - name="basal-area-lite-dbh-measures-protocol-shapes-tree-trunk-type", - shapes_path="shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/tree-trunk-type/shapes.ttl", - valid_data_path="shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/tree-trunk-type/valid.ttl", - invalid_data_path="shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/tree-trunk-type/invalid.ttl", + name="basal-area-basal-wedge-protocol-shapes-borderline-trees-count", + shapes_path="shapes/basal-area/basal-area-basal-wedge-protocol-shapes/borderline-trees-count/shapes.ttl", + valid_data_path="shapes/basal-area/basal-area-basal-wedge-protocol-shapes/borderline-trees-count/valid.ttl", + invalid_data_path="shapes/basal-area/basal-area-basal-wedge-protocol-shapes/borderline-trees-count/invalid.ttl", expected_failures=7, ).astuple(), TestCaseItem( - name="basal-area-lite-dbh-measures-protocol-shapes-plant-status", - shapes_path="shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/plant-status/shapes.ttl", - valid_data_path="shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/plant-status/valid.ttl", - invalid_data_path="shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/plant-status/invalid.ttl", + name="basal-area-basal-wedge-protocol-shapes-in-trees-count", + shapes_path="shapes/basal-area/basal-area-basal-wedge-protocol-shapes/in-trees-count/shapes.ttl", + valid_data_path="shapes/basal-area/basal-area-basal-wedge-protocol-shapes/in-trees-count/valid.ttl", + invalid_data_path="shapes/basal-area/basal-area-basal-wedge-protocol-shapes/in-trees-count/invalid.ttl", expected_failures=7, ).astuple(), - TestCaseItem( - name="basal-area-lite-dbh-measures-protocol-shapes-circumference-at-breast-height", - shapes_path="shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/circumference-at-breast-height/shapes.ttl", - valid_data_path="shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/circumference-at-breast-height/valid.ttl", - invalid_data_path="shapes/basal-area/basal-area-lite-dbh-measures-protocol-shapes/circumference-at-breast-height/invalid.ttl", - expected_failures=8, - ).astuple(), TestCaseItem( name="camera-traps-array-protocol-shapes-habitat-description", shapes_path="shapes/camera-traps/camera-traps-array-protocol-shapes/habitat-description/shapes.ttl", @@ -2382,27 +2354,6 @@ def astuple(self) -> Tuple: invalid_data_path="shapes/vegetation-mapping-protocol-shapes/average-species-height/invalid.ttl", expected_failures=7, ).astuple(), - TestCaseItem( - name="basal-area-basal-wedge-protocol-shapes-stand-basal-area", - shapes_path="shapes/basal-area/basal-area-basal-wedge-protocol-shapes/stand-basal-area/shapes.ttl", - valid_data_path="shapes/basal-area/basal-area-basal-wedge-protocol-shapes/stand-basal-area/valid.ttl", - invalid_data_path="shapes/basal-area/basal-area-basal-wedge-protocol-shapes/stand-basal-area/invalid.ttl", - expected_failures=8, - ).astuple(), - TestCaseItem( - name="basal-area-basal-wedge-protocol-shapes-field-species-name", - shapes_path="shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/shapes.ttl", - valid_data_path="shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/valid.ttl", - invalid_data_path="shapes/basal-area/basal-area-basal-wedge-protocol-shapes/field-species-name/invalid.ttl", - expected_failures=6, - ).astuple(), - TestCaseItem( - name="basal-area-basal-wedge-protocol-shapes-mean-basal-area", - shapes_path="shapes/basal-area/basal-area-basal-wedge-protocol-shapes/mean-basal-area/shapes.ttl", - valid_data_path="shapes/basal-area/basal-area-basal-wedge-protocol-shapes/mean-basal-area/valid.ttl", - invalid_data_path="shapes/basal-area/basal-area-basal-wedge-protocol-shapes/mean-basal-area/invalid.ttl", - expected_failures=8, - ).astuple(), TestCaseItem( name="camera-traps-fauna-protocol-shapes-redeployment-observations", shapes_path="shapes/camera-traps/camera-traps-fauna-protocol-shapes/redeployment-observations/shapes.ttl",