Skip to content

Commit 210e749

Browse files
committed
Updated shapes for attributable fauna species in HAPD
1 parent 6b7e501 commit 210e749

6 files changed

Lines changed: 367 additions & 158 deletions

File tree

shapes/herbivory-and-physical-damage/active-search-protocol-shapes/attributable-fauna-species/invalid.ttl

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -10,47 +10,47 @@ PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
1010
tern:hasMethod <urn:fake:method> ;
1111
.
1212

13-
<urn:test:herbivory-and-physical-damage-active-search-protocol-shapes:invalid:attributable-fauna-species:datatype>
13+
<urn:test:herbivory-and-physical-damage-active-search-protocol-shapes:invalid:attributable-fauna-species:feature-type>
1414
a tern:Observation ;
1515
void:inDataset <https://example.com/dataset/1> ;
16-
rdfs:comment "Invalid result - the datatype of the value of the result node must be `xsd:string`." ;
16+
rdfs:comment "Invalid result - incorrect feature type." ;
1717
sosa:hasFeatureOfInterest [
1818
a tern:FeatureOfInterest ;
1919
void:inDataset <https://example.com/dataset/1> ;
20-
tern:featureType <http://linked.data.gov.au/def/tern-cv/2361dea8-598c-4b6f-a641-2b98ff199e9e>
20+
tern:featureType <urn:fake:feature-type>
2121
] ;
2222
sosa:hasResult [
2323
a
2424
tern:Text ,
2525
tern:Value ;
26-
rdf:value 1 ;
27-
sosa:isResultOf <urn:test:herbivory-and-physical-damage-active-search-protocol-shapes:invalid:attributable-fauna-species:datatype>
26+
rdf:value "Deer"^^xsd:string ;
27+
sosa:isResultOf <urn:test:herbivory-and-physical-damage-active-search-protocol-shapes:invalid:attributable-fauna-species:feature-type>
2828
] ;
29-
sosa:hasSimpleResult 1 ;
29+
sosa:hasSimpleResult "Deer"^^xsd:string ;
3030
sosa:observedProperty <https://linked.data.gov.au/def/nrm/22fae1ac-9d23-5b11-9fc7-f4f29f900bdf> ;
3131
sosa:phenomenonTime <https://example.com/observation/attributable-fauna-species/b91c54f2-9354-43ee-8412-09974fd2c23c/phenomenonTime> ;
3232
sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ;
3333
sosa:usedProcedure <urn:test:procedure:herbivory-and-physical-damage-active-search> ;
3434
tern:hasSiteVisit <urn:test:site> ;
3535
.
3636

37-
<urn:test:herbivory-and-physical-damage-active-search-protocol-shapes:invalid:attributable-fauna-species:feature-type>
37+
<urn:test:herbivory-and-physical-damage-active-search-protocol-shapes:invalid:attributable-fauna-species:result-value>
3838
a tern:Observation ;
3939
void:inDataset <https://example.com/dataset/1> ;
40-
rdfs:comment "Invalid result - incorrect feature type." ;
40+
rdfs:comment "Invalid result - value not from the controlled vocabulary list" ;
4141
sosa:hasFeatureOfInterest [
4242
a tern:FeatureOfInterest ;
4343
void:inDataset <https://example.com/dataset/1> ;
44-
tern:featureType <urn:fake:feature-type>
44+
tern:featureType <http://linked.data.gov.au/def/tern-cv/2361dea8-598c-4b6f-a641-2b98ff199e9e>
4545
] ;
4646
sosa:hasResult [
4747
a
48-
tern:Text ,
48+
tern:IRI ,
4949
tern:Value ;
50-
rdf:value "Deer"^^xsd:string ;
51-
sosa:isResultOf <urn:test:herbivory-and-physical-damage-active-search-protocol-shapes:invalid:attributable-fauna-species:feature-type>
50+
rdf:value <urn:fake:categorical:value> ;
51+
sosa:isResultOf <urn:test:herbivory-and-physical-damage-active-search-protocol-shapes:invalid:attributable-fauna-species:result-value>
5252
] ;
53-
sosa:hasSimpleResult "Deer"^^xsd:string ;
53+
sosa:hasSimpleResult <urn:fake:categorical:value> ;
5454
sosa:observedProperty <https://linked.data.gov.au/def/nrm/22fae1ac-9d23-5b11-9fc7-f4f29f900bdf> ;
5555
sosa:phenomenonTime <https://example.com/observation/attributable-fauna-species/b91c54f2-9354-43ee-8412-09974fd2c23c/phenomenonTime> ;
5656
sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ;
@@ -132,18 +132,18 @@ PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
132132
<urn:test:herbivory-and-physical-damage-active-search-protocol-shapes:invalid:attributable-fauna-species:value-type>
133133
a tern:Observation ;
134134
void:inDataset <https://example.com/dataset/1> ;
135-
rdfs:comment "Invalid result - the value of the result node must be `tern:Text`." ;
135+
rdfs:comment "Invalid result - the value of the result node must be `tern:IRI`." ;
136136
sosa:hasFeatureOfInterest [
137137
a tern:FeatureOfInterest ;
138138
void:inDataset <https://example.com/dataset/1> ;
139139
tern:featureType <http://linked.data.gov.au/def/tern-cv/2361dea8-598c-4b6f-a641-2b98ff199e9e>
140140
] ;
141141
sosa:hasResult [
142142
a tern:Value ;
143-
rdf:value "Deer"^^xsd:string ;
143+
rdf:value <https://linked.data.gov.au/def/nrm/19f2da82-66a4-5b46-96b1-4dc2e2b0c9e1> ;
144144
sosa:isResultOf <urn:test:herbivory-and-physical-damage-active-search-protocol-shapes:invalid:attributable-fauna-species:value-type>
145145
] ;
146-
sosa:hasSimpleResult "Deer"^^xsd:string ;
146+
sosa:hasSimpleResult <https://linked.data.gov.au/def/nrm/19f2da82-66a4-5b46-96b1-4dc2e2b0c9e1> ;
147147
sosa:observedProperty <https://linked.data.gov.au/def/nrm/22fae1ac-9d23-5b11-9fc7-f4f29f900bdf> ;
148148
sosa:phenomenonTime <https://example.com/observation/attributable-fauna-species/b91c54f2-9354-43ee-8412-09974fd2c23c/phenomenonTime> ;
149149
sosa:resultTime "2022-09-27T05:38:47.117000+00:00"^^xsd:dateTime ;

shapes/herbivory-and-physical-damage/active-search-protocol-shapes/attributable-fauna-species/shapes.ttl

Lines changed: 106 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -8,34 +8,6 @@ PREFIX urnc: <urn:class:>
88
PREFIX urnp: <urn:property:>
99
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
1010

11-
<urn:shapes:herbivory-and-physical-damage-active-search-protocol-shapes:attributable-fauna-species:datatype>
12-
a
13-
sh:PropertyShape ,
14-
urnc:Requirement ;
15-
dcterms:source "Ecological Monitoring System - Australia Protocols" ;
16-
reg:status reg:statusSubmitted ;
17-
sh:datatype xsd:string ;
18-
sh:description "The value in `sosa:hasResult` _MUST_ be xsd:string." ;
19-
sh:message "The value of `rdf:value` _MUST_ have the datatype xsd:string." ;
20-
sh:name "Datatype" ;
21-
sh:path rdf:value ;
22-
sh:target [
23-
a sh:SPARQLTarget ;
24-
sh:select """
25-
PREFIX tern: <https://w3id.org/tern/ontologies/tern/>
26-
PREFIX sosa: <http://www.w3.org/ns/sosa/>
27-
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
28-
select ?this {
29-
?observation a tern:Observation ;
30-
sosa:observedProperty
31-
<https://linked.data.gov.au/def/nrm/22fae1ac-9d23-5b11-9fc7-f4f29f900bdf> ;
32-
sosa:hasResult ?this .
33-
}"""
34-
] ;
35-
urnp:examples _:n442193fedf704b6fa3d671e335d4b472b2 ;
36-
urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/herbivory-and-physical-damage/active-search-protocol-shapes/attributable-fauna-species/shapes.ttl"^^xsd:anyURI ;
37-
.
38-
3911
<urn:shapes:herbivory-and-physical-damage-active-search-protocol-shapes:attributable-fauna-species:feature-type>
4012
a
4113
sh:PropertyShape ,
@@ -61,7 +33,67 @@ PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
6133
}
6234
"""
6335
] ;
64-
urnp:examples _:n442193fedf704b6fa3d671e335d4b472b2 ;
36+
urnp:examples _:n6bba6c78d7f0419b9f92231d8a175bb7b2 ;
37+
urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/herbivory-and-physical-damage/active-search-protocol-shapes/attributable-fauna-species/shapes.ttl"^^xsd:anyURI ;
38+
.
39+
40+
<urn:shapes:herbivory-and-physical-damage-active-search-protocol-shapes:attributable-fauna-species:result-value>
41+
a
42+
sh:PropertyShape ,
43+
urnc:Controlled ,
44+
urnc:Requirement ;
45+
dcterms:source "Ecological Monitoring System - Australia Protocols" ;
46+
reg:status reg:statusSubmitted ;
47+
sh:description "The value in `sosa:hasResult` _MUST_ be a value in `sh:in`, which is the target species types controlled vocabulary." ;
48+
sh:in (
49+
<https://linked.data.gov.au/def/nrm/3a86540a-7f40-578a-8431-6bcacb0194d7>
50+
<https://linked.data.gov.au/def/nrm/19f2da82-66a4-5b46-96b1-4dc2e2b0c9e1>
51+
<https://linked.data.gov.au/def/nrm/b5511180-5573-58fb-970d-cd62447ace2e>
52+
<https://linked.data.gov.au/def/nrm/d4297430-c86d-58c4-9031-42cbdb50d199>
53+
<https://linked.data.gov.au/def/nrm/ffdac5da-c5a1-54e9-8e71-71c0503f4491>
54+
<https://linked.data.gov.au/def/nrm/f6b0f6d8-16d8-5dd7-b1b7-66b0c020b96f>
55+
<https://linked.data.gov.au/def/nrm/b46bcca8-8c07-5ad3-89e5-d5db8e7bdc3d>
56+
<https://linked.data.gov.au/def/nrm/f0e22f49-83ff-568e-9522-5f6be4bbe614>
57+
<https://linked.data.gov.au/def/nrm/9a292b27-007c-5e1a-a7e2-d8536ea56c2b>
58+
<https://linked.data.gov.au/def/nrm/5488c9ea-e3a2-5348-887b-065d29b848ab>
59+
<https://linked.data.gov.au/def/nrm/58993c3a-9237-5112-aec9-0e6bf776b242>
60+
<https://linked.data.gov.au/def/nrm/69369a4b-1608-58c9-b37c-00758d401bf4>
61+
<https://linked.data.gov.au/def/nrm/e9e21ffa-d900-5352-9fd4-b9111405ff80>
62+
<https://linked.data.gov.au/def/nrm/05ffeed3-fd7b-5ec8-864f-6a6632502373>
63+
<https://linked.data.gov.au/def/nrm/a96d7507-e823-5f3a-a26b-62313538e0bb>
64+
<https://linked.data.gov.au/def/nrm/1f180410-e77a-47ff-975c-e0d3ffcb7863>
65+
<https://linked.data.gov.au/def/nrm/45d65bca-5fba-45ef-86fe-53a5f50144a2>
66+
<https://linked.data.gov.au/def/nrm/6d0b66b3-16f6-552a-b38f-88dc9bbf7abc>
67+
<https://linked.data.gov.au/def/nrm/bc1505eb-a36e-5050-a1a4-989479b26d6a>
68+
<https://linked.data.gov.au/def/nrm/05c18e55-7eda-5bcd-8099-5c32fc3d449d>
69+
) ;
70+
sh:message "The value of `rdf:value` _MUST_ exist in the target species types controlled vocabulary." ;
71+
sh:name "Result value" ;
72+
sh:path rdf:value ;
73+
sh:target [
74+
a sh:SPARQLTarget ;
75+
sh:select """
76+
PREFIX tern: <https://w3id.org/tern/ontologies/tern/>
77+
PREFIX sosa: <http://www.w3.org/ns/sosa/>
78+
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
79+
select ?this {
80+
?observation a tern:Observation ;
81+
sosa:observedProperty
82+
<https://linked.data.gov.au/def/nrm/22fae1ac-9d23-5b11-9fc7-f4f29f900bdf> ;
83+
sosa:hasResult ?this .
84+
?this a tern:IRI .
85+
}"""
86+
] ;
87+
urnp:examples _:n6bba6c78d7f0419b9f92231d8a175bb7b2 ;
88+
urnp:query """
89+
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
90+
select ?values {
91+
values ?categoricalUUID {'ff157253-6923-5816-ac05-312dc32cd903'}
92+
?s skos:member ?values .
93+
filter (STRENDS(str(?s), ?categoricalUUID))
94+
}
95+
""" ;
96+
urnp:sparqlEndpoint "https://graphdb.tern.org.au/repositories/dawe_vocabs_core" ;
6597
urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/herbivory-and-physical-damage/active-search-protocol-shapes/attributable-fauna-species/shapes.ttl"^^xsd:anyURI ;
6698
.
6799

@@ -93,7 +125,7 @@ PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
93125
"""
94126
] ;
95127
sh:targetClass tern:Observation ;
96-
urnp:examples _:n442193fedf704b6fa3d671e335d4b472b2 ;
128+
urnp:examples _:n6bba6c78d7f0419b9f92231d8a175bb7b2 ;
97129
urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/herbivory-and-physical-damage/active-search-protocol-shapes/attributable-fauna-species/shapes.ttl"^^xsd:anyURI ;
98130
.
99131

@@ -123,7 +155,7 @@ PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
123155
}
124156
"""
125157
] ;
126-
urnp:examples _:n442193fedf704b6fa3d671e335d4b472b2 ;
158+
urnp:examples _:n6bba6c78d7f0419b9f92231d8a175bb7b2 ;
127159
urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/herbivory-and-physical-damage/active-search-protocol-shapes/attributable-fauna-species/shapes.ttl"^^xsd:anyURI ;
128160
.
129161

@@ -155,7 +187,7 @@ PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
155187
}
156188
"""
157189
] ;
158-
urnp:examples _:n442193fedf704b6fa3d671e335d4b472b2 ;
190+
urnp:examples _:n6bba6c78d7f0419b9f92231d8a175bb7b2 ;
159191
urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/herbivory-and-physical-damage/active-search-protocol-shapes/attributable-fauna-species/shapes.ttl"^^xsd:anyURI ;
160192
.
161193

@@ -165,10 +197,17 @@ PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
165197
urnc:Requirement ;
166198
dcterms:source "Ecological Monitoring System - Australia Protocols" ;
167199
reg:status reg:statusSubmitted ;
168-
sh:class tern:Text ;
169-
sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:Text`." ;
170-
sh:message "The result _MUST_ be an instance of `tern:Text`." ;
200+
sh:description "The value of `sosa:hasResult` _MUST_ be a `tern:IRI` or `tern:Text`." ;
201+
sh:message "The result _MUST_ be an instance of `tern:IRI` or `tern:Text`." ;
171202
sh:name "Value type" ;
203+
sh:or (
204+
[
205+
sh:class tern:IRI
206+
]
207+
[
208+
sh:class tern:Text
209+
]
210+
) ;
172211
sh:path sosa:hasResult ;
173212
sh:target [
174213
a sh:SPARQLTarget ;
@@ -184,11 +223,41 @@ PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
184223
}
185224
"""
186225
] ;
187-
urnp:examples _:n442193fedf704b6fa3d671e335d4b472b2 ;
226+
urnp:examples _:n6bba6c78d7f0419b9f92231d8a175bb7b2 ;
227+
urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/herbivory-and-physical-damage/active-search-protocol-shapes/attributable-fauna-species/shapes.ttl"^^xsd:anyURI ;
228+
.
229+
230+
<urn:shapes:herbivory-and-physical-damage-active-search-protocol-shapes:attributable-fauna-species:vocabulary>
231+
a
232+
sh:PropertyShape ,
233+
urnc:Requirement ;
234+
dcterms:source "Ecological Monitoring System - Australia Protocols" ;
235+
reg:status reg:statusSubmitted ;
236+
sh:description """IRI of `tern:vocabulary` in `sosa:hasResult` _MUST_ have the value `<https://linked.data.gov.au/def/nrm/ff157253-6923-5816-ac05-312dc32cd903>`.
237+
238+
`<https://linked.data.gov.au/def/nrm/ff157253-6923-5816-ac05-312dc32cd903>` is the IRI for "target species types".""" ;
239+
sh:message "The value of `tern:vocabulary` _MUST_ match the pattern `ff157253-6923-5816-ac05-312dc32cd903$`." ;
240+
sh:name "Vocabulary" ;
241+
sh:path tern:vocabulary ;
242+
sh:pattern "ff157253-6923-5816-ac05-312dc32cd903$" ;
243+
sh:target [
244+
a sh:SPARQLTarget ;
245+
sh:select """
246+
PREFIX tern: <https://w3id.org/tern/ontologies/tern/>
247+
PREFIX sosa: <http://www.w3.org/ns/sosa/>
248+
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
249+
select ?this {
250+
?observation a tern:Observation ;
251+
sosa:observedProperty
252+
<https://linked.data.gov.au/def/nrm/22fae1ac-9d23-5b11-9fc7-f4f29f900bdf> ;
253+
sosa:hasResult ?this .
254+
}"""
255+
] ;
256+
urnp:examples _:n6bba6c78d7f0419b9f92231d8a175bb7b2 ;
188257
urnp:validator "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/herbivory-and-physical-damage/active-search-protocol-shapes/attributable-fauna-species/shapes.ttl"^^xsd:anyURI ;
189258
.
190259

191-
_:n442193fedf704b6fa3d671e335d4b472b2
260+
_:n6bba6c78d7f0419b9f92231d8a175bb7b2
192261
urnp:invalidExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/herbivory-and-physical-damage/active-search-protocol-shapes/attributable-fauna-species/invalid.ttl"^^xsd:anyURI ;
193262
urnp:validExample "https://github.com/ternaustralia/dawe-rlp-spec/blob/main/shapes/herbivory-and-physical-damage/active-search-protocol-shapes/attributable-fauna-species/valid.ttl"^^xsd:anyURI ;
194263
.

0 commit comments

Comments
 (0)