-
Notifications
You must be signed in to change notification settings - Fork 6
/
PropertyShape.ttl
191 lines (172 loc) · 5 KB
/
PropertyShape.ttl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix rami: <https://w3id.org/i40/rami#> .
<#RamiPropertyShape>
a sh:PropertyShape ;
<<<<<<< HEAD
sh:path rami:property ;
sh:datatype xsd:string ;
=======
sh:path rami:property ;
sh:datatype xsd:string ;
>>>>>>> details_of_the_AAS_1.1
sh:minCount 0 ;
sh:maxCount 1 ;
sh:property [
sh:path rami:value ;
sh:class rami:PropertyValueType ;
sh:minCount 0 ;
sh:maxCount 1 ;
sh:message "value of the PropertyInstance"@en
] ;
sh:property [
sh:path rami:valueID ;
sh:class rami:Reference ;
sh:minCount 0 ;
sh:maxCount 1 ;
<<<<<<< HEAD
sh:message "refers to the global unique identifier"@en
] ;
#################################
# inherits from DataElement (and DataElement inherits from SubmodelElement
# (SubmodelElements inherits from:
# HasDataSpecification; Referable; Qualifiable; HasSemantics; HasKind))
=======
sh:severity sh:Violation ;
sh:message "rami:valueID refers to the global unique identifier and needs to be instance of rami:Reference."@en
] ;
##################################
# inherits from DataElement (and DataElement inherits from SubmodelElement
# (SubmodelElements inherits from:
# HasDataSpecification; Referable; Qualifiable; HasSemantics; HasKind))
##################################
>>>>>>> details_of_the_AAS_1.1
# DataSpecification:
sh:property [
sh:path rami:hasDataSpecification ;
sh:minCount 0 ;
sh:nodeKind sh:URI ;
sh:severity sh:Violation ;
sh:message "rami:hasDataSpecification must point to a proper URI."@en ;
] ;
sh:property [
sh:path rami:hasSubmodel ;
sh:class rami:Submodel ;
sh:minCount 0 ;
sh:message "A DataSpecification entity can have a rami:hasSubmodel relation to a rami:Submodel."@en ;
] ;
# Referable:
sh:property [
<<<<<<< HEAD
sh:path rami:administration ;
sh:minCount 0 ;
sh:maxCount 1 ;
sh:class rami:AdministrativeInformation ;
sh:severity sh:Violation ;
sh:message ""@en ;
] ;
=======
sh:path rami:idShort ;
sh:valueDatatype xsd:string ;
sh:minCount 0 ;
sh:maxCount 1 ;
sh:severity sh:violation ;
sh:message "..."@en ;
] ;
sh:property [
sh:path rami:category ;
sh:valueDatatype xsd:string ;
sh:minCount 0 ;
sh:maxCount 1 ;
sh:severity sh:violation ;
sh:message "..."@en ;
] ;
sh:property [
sh:path rami:description ;
sh:valueDatatype xsd:langString ;
sh:minCount 0 ;
sh:maxCount 1 ;
sh:severity sh:violation ;
sh:message "..."@en ;
] ;
sh:property [
sh:path rami:parent ;
sh:class rami:Referable ;
sh:minCount 0 ;
sh:maxCount 1 ;
sh:severity sh:violation ;
sh:message "..."@en ;
] ;
>>>>>>> details_of_the_AAS_1.1
# Qualifiable:
sh:constraint [
sh:nodeKind sh:IRI ;
sh:message "Each rami object must be a URI."@en ;
<<<<<<< HEAD
] ;
=======
] ;
>>>>>>> details_of_the_AAS_1.1
sh:property [
sh:path rami:qualifier ;
sh:minCount 0 ;
sh:constraint [
sh:nodeKind sh:URI ;
] ;
sh:severity sh:Violation ;
sh:message "rami:qualifier must be point to a proper URI."@en ;
] ;
# HasSemantics:
<<<<<<< HEAD
sh:property [
sh:path rami:semanticId ;
sh:nodeKind sh:URI ;
sh:minCount 1 ;
sh:maxCount 1 ;
sh:severity sh:Violation ;
sh:message "Every submodel element needs exactly one semantic definition (semanticId in HasSemantics)"@en ;
] ;
=======
# sh:property [
# sh:path rami:semanticId ;
# sh:nodeKind sh:URI ;
# sh:minCount 1 ;
# sh:maxCount 1 ;
# sh:severity sh:Violation ;
# sh:message "Every submodel element needs exactly one semantic definition (semanticId in HasSemantics)"@en ;
# ] ;
#########################################
# semanticID is specified by RDF itself #
#########################################
>>>>>>> details_of_the_AAS_1.1
# HasKind:
sh:property [
sh:path rami:hasKind ;
sh:minCount 0 ;
sh:maxCount 1 ;
<<<<<<< HEAD
sh:someOf [
sh:constraint [
sh:nodeKind sh:Type ;
] ;
sh:constraint [
sh:nodeKind rami:Instance ;
] ;
] ;
=======
sh:someOf [
sh:constraint [
sh:nodeKind sh:Type ;
] ;
sh:constraint [
sh:nodeKind rami:Instance ;
] ;
] ;
>>>>>>> details_of_the_AAS_1.1
sh:severity sh:Violation ;
sh:message "rami:hasKind must be either a rami:Instance or a rami:Type ."@en ;
] .