-
Notifications
You must be signed in to change notification settings - Fork 63
/
Copy pathtd.ttl
355 lines (298 loc) · 18.5 KB
/
td.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
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
@prefix : <https://www.w3.org/2019/wot/td#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix vann: <http://purl.org/vocab/vann/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix schema: <http://schema.org/> .
@prefix hctl: <https://www.w3.org/2019/wot/hypermedia#> .
@prefix wotsec: <https://www.w3.org/2019/wot/security#> .
@prefix jsonschema: <https://www.w3.org/2019/wot/json-schema#> .
<https://www.w3.org/2019/wot/td> rdf:type owl:Ontology ;
vann:preferredNamespacePrefix "td" ;
vann:preferredNamespaceUri "https://www.w3.org/2019/wot/td#" ;
owl:versionInfo "0.9.0" ;
dcterms:title "Thing Description Ontology"@en ;
rdfs:comment "This ontology aims to model the Web of Things domain according to the W3C Interest Group (http://w3c.github.io/wot/)"@en ;
dcterms:license <http://purl.org/NET/rdflicense/cc-by4.0> ;
dcterms:contributor <http://purl.org/net/mpoveda> , <http://maxime-lefrancois.info/me#> ;
dcterms:author <https://vcharpenay.link/#me> ;
dcterms:publisher [ a schema:Organization ; schema:name "W3C Web of Things Working Group" ; schema:url <https://www.w3.org/WoT/WG/> ] .
:supportContact rdf:type owl:AnnotationProperty ;
rdfs:label "supportContact" ;
rdfs:comment "Provides information about the TD maintainer as URI scheme (e.g., mailto [[RFC6068]], tel [[RFC3966]], https[[RFC9112]])."@en ;
rdfs:seeAlso schema:contactPoint ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:versionInfo rdf:type owl:AnnotationProperty ;
rdfs:label "versionInfo" ;
rdfs:comment "Provides version information."@en ;
rdfs:seeAlso schema:version ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:hasInteractionAffordance rdf:type owl:ObjectProperty ;
rdfs:label "hasInteractionAffordance" ;
rdfs:comment "Offers an affordance to interact with the Thing"@en ;
schema:domainIncludes :Thing ;
schema:rangeIncludes :InteractionAffordance ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:hasPropertyAffordance rdf:type owl:ObjectProperty ;
rdfs:label "hasPropertyAffordance" ;
rdfs:subPropertyOf :hasInteractionAffordance ;
rdfs:comment "All Property-based interaction affordance of the Thing."@en ;
schema:rangeIncludes :PropertyAffordance ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:hasActionAffordance rdf:type owl:ObjectProperty ;
rdfs:label "hasActionAffordance" ;
rdfs:subPropertyOf :hasInteractionAffordance ;
rdfs:comment "All Action-based interaction affordance of the Thing."@en ;
schema:rangeIncludes :ActionAffordance ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:hasEventAffordance rdf:type owl:ObjectProperty ;
rdfs:label "hasEventAffordance" ;
rdfs:subPropertyOf :hasInteractionAffordance ;
rdfs:comment "All Event-based interaction affordance of the Thing."@en ;
schema:rangeIncludes :EventAffordance ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:hasForm rdf:type owl:ObjectProperty ;
rdfs:label "hasForm" ;
rdfs:comment "Set of form hypermedia controls that describe how an operation can be performed. Forms are serializations of Protocol Bindings. The array cannot be empty"@en ;
schema:domainIncludes :InteractionAffordance, :Thing ;
schema:rangeIncludes hctl:Form ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:hasLink rdf:type owl:ObjectProperty ;
rdfs:label "hasLink" ;
rdfs:comment "Provides Web links to arbitrary resources that relate to the specified Thing Description."@en ;
schema:rangeIncludes hctl:Link ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:hasUriTemplateSchema rdf:type owl:ObjectProperty ;
rdfs:label "hasUriTemplateSchema" ;
rdfs:comment "Define URI template variables according to [[RFC6570]] as collection based on schema specifications. The individual variables DataSchema cannot be an ObjectSchema or an ArraySchema."@en ;
schema:domainIncludes :InteractionAffordance ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:hasInputSchema rdf:type owl:ObjectProperty ;
rdfs:label "hasInputSchema" ;
rdfs:comment "Used to define the input data schema of the action."@en ;
schema:domainIncludes :ActionAffordance ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:hasOutputSchema rdf:type owl:ObjectProperty ;
rdfs:label "hasOutputSchema" ;
rdfs:comment "Used to define the output data schema of the action."@en ;
schema:domainIncludes :ActionAffordance ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:hasSubscriptionSchema rdf:type owl:ObjectProperty ;
rdfs:label "hasSubscriptionSchema" ;
rdfs:comment "Defines data that needs to be passed upon subscription, e.g., filters or message format for setting up Webhooks."@en ;
schema:domainIncludes :EventAffordance ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:hasNotificationSchema rdf:type owl:ObjectProperty ;
rdfs:label "hasNotificationSchema" ;
rdfs:comment "Defines the data schema of the Event instance messages pushed by the Thing."@en ;
schema:domainIncludes :EventAffordance ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:hasNotificationResponseSchema rdf:type owl:ObjectProperty ;
rdfs:label "hasNotificationResponseSchema" ;
rdfs:comment "Defines the data schema of the Event response messages sent by the consumer in a response to a data message."@en ;
schema:domainIncludes :EventAffordance ;
rdfs:isDefinedBy : .
:hasCancellationSchema rdf:type owl:ObjectProperty ;
rdfs:label "hasCancellationSchema" ;
rdfs:comment "Defines any data that needs to be passed to cancel a subscription, e.g., a specific message to remove a Webhook"@en ;
schema:domainIncludes :EventAffordance ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:hasSecurityConfiguration rdf:type owl:ObjectProperty ;
rdfs:label "hasSecurityConfiguration" ;
rdfs:comment "A security configuration is a a security scheme applied to a (set of) affordance(s)."@en ;
schema:domainIncludes :Thing, hctl:Form ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:definesSecurityScheme rdf:type owl:ObjectProperty ;
rdfs:label "definesSecurityScheme" ;
rdfs:comment "A Thing may define abstract security schemes, used to configure the secure access of (a set of) affordance(s)." ;
schema:domainIncludes :Thing ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:hasInstanceConfiguration rdf:type owl:ObjectProperty ;
rdfs:label "hasInstanceConfiguration" ;
rdfs:comment "Instantiation, as used here, is a form of non-symmetric equivalence between a scheme and a configuration: whatever statement on the scheme is also true of the configuration but not vice-versa." ;
schema:domainIncludes wotsec:SecurityScheme ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:followsProfile rdf:type owl:DatatypeProperty ;
rdfs:label "followsProfile" ;
rdfs:comment "Indicates the WoT Profile mechanisms followed by this Thing Description and the corresponding Thing implementation."@en ;
schema:domainIncludes :Thing ;
schema:rangeIncludes xsd:anyURI ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:baseURI rdf:type owl:DatatypeProperty ;
rdfs:label "baseURI" ;
rdfs:comment "Define the base URI that is used for all relative URI references throughout a TD document. In TD instances, all relative URIs are resolved relative to the base URI using the algorithm defined in [RFC3986]. base does not affect the URIs used in @context and the IRIs used within Linked Data [LINKED-DATA] graphs that are relevant when semantic processing is applied to TD instances."@en ;
schema:domainIncludes :Thing ;
schema:rangeIncludes schema:URL ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:instance rdf:type owl:DatatypeProperty ;
rdfs:label "instance" ;
rdfs:comment "Provides a version identicator of this TD instance."@en ;
schema:domainIncludes :versionInfo ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:model rdf:type owl:DatatypeProperty ;
rdfs:label "model" ;
rdfs:comment "Provides a version indicator of the underlying TM."@en ;
schema:domainIncludes :versionInfo ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:isSafe rdf:type owl:DatatypeProperty ;
rdfs:label "isSafe" ;
rdfs:comment "Signals if the action is safe (=true) or not. Used to signal if there is no internal state (cf. resource state) is changed when invoking an Action. In that case responses can be cached as example."@en ;
schema:domainIncludes :ActionAffordance ;
schema:rangeIncludes schema:Boolean ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:isIdempotent rdf:type owl:DatatypeProperty ;
rdfs:label "isIdempotent" ;
rdfs:comment "Indicates whether the action is idempotent (=true) or not. Informs whether the action can be called repeatedly with the same result, if present, based on the same input."@en ;
schema:domainIncludes :ActionAffordance ;
schema:rangeIncludes schema:Boolean ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:isSynchronous rdf:type owl:DatatypeProperty ;
rdfs:label "isSynchronous" ;
rdfs:comment "Indicates whether the action is synchronous (=true) or not. A synchronous action means that the response of action contains all the information about the result of the action and no further querying about the status of the action is needed. Lack of this keyword means that no claim on the synchronicity of the action can be made."@en ;
schema:domainIncludes :ActionAffordance ;
schema:rangeIncludes schema:Boolean ;
rdfs:isDefinedBy : .
:isObservable rdf:type owl:DatatypeProperty ;
rdfs:label "isObservable" ;
rdfs:comment "A hint that indicates whether Servients hosting the Thing and Intermediaries should provide a Protocol Binding that supports the <code>observeproperty</code> and <code>unobserveproperty</code> operations for this Property."@en ;
schema:domainIncludes :PropertyAffordance ;
schema:rangeIncludes schema:Boolean ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:name rdf:type owl:DatatypeProperty ;
rdfs:label "name" ;
rdfs:comment "Indexing property to store entity names when serializing them in a JSON-LD @index container."@en ;
schema:domainIncludes :InteractionAffordance ;
schema:rangeIncludes schema:Text ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:title rdf:type owl:DatatypeProperty ;
rdfs:label "title" ;
rdfs:comment "title of the TD element (Thing, interaction affordance or data schema)" ;
schema:domainIncludes :Thing, :InteractionAffordance, jsonschema:DataSchema ;
schema:rangeIncludes schema:Text ;
rdfs:subPropertyOf dcterms:title ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:titleInLanguage rdf:type owl:DatatypeProperty ;
rdfs:label "titleInLanguage" ;
rdfs:comment "title of the TD element (Thing, interaction affordance or data schema) with language tag. By convention, a language tag must be added to the object of 'titleInLanguage' triples. Otherwise, use 'title'." ;
schema:domainIncludes :Thing, :InteractionAffordance, jsonschema:DataSchema ;
schema:rangeIncludes schema:Text ;
rdfs:subPropertyOf dcterms:title ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:description rdf:type owl:DatatypeProperty ;
rdfs:label "description" ;
rdfs:comment "description of the TD element (Thing, interaction affordance, security scheme or data schema)" ;
schema:domainIncludes :Thing, :InteractionAffordance, wotsec:SecurityScheme, jsonschema:DataSchema ;
schema:rangeIncludes schema:Text ;
rdfs:subPropertyOf dcterms:description ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:descriptionInLanguage rdf:type owl:DatatypeProperty ;
rdfs:label "descriptionInLanguage" ;
rdfs:comment "description of the TD element (Thing, interaction affordance, security scheme or data schema) with language tag. By convention, a language tag must be added to the object of 'descriptionInLanguage' triples. Otherwise, use 'description'." ;
schema:domainIncludes :Thing, :InteractionAffordance, wotsec:SecurityScheme, jsonschema:DataSchema ;
schema:rangeIncludes schema:Text ;
rdfs:subPropertyOf dcterms:description ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:ActionAffordance rdf:type rdfs:Class, owl:Class ;
rdfs:label "ActionAffordance" ;
rdfs:subClassOf :InteractionAffordance ;
rdfs:comment "An Interaction Affordance that allows to invoke a function of the Thing, which manipulates state (e.g., toggling a lamp on or off) or triggers a process on the Thing (e.g., dim a lamp over time)."@en ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:EventAffordance rdf:type rdfs:Class, owl:Class ;
rdfs:label "EventAffordance" ;
rdfs:subClassOf :InteractionAffordance ;
rdfs:comment "An Interaction Affordance that describes an event source, which asynchronously pushes event data to Consumers (e.g., overheating alerts)."@en ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:InteractionAffordance rdf:type rdfs:Class, owl:Class ;
rdfs:label "InteractionAffordance" ;
rdfs:comment "Metadata of a Thing that shows the possible choices to Consumers, thereby suggesting how Consumers may interact with the Thing. There are many types of potential affordances, but W3C WoT defines three types of Interaction Affordances: Properties, Actions, and Events."@en ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:PropertyAffordance rdf:type rdfs:Class, owl:Class ;
rdfs:label "PropertyAffordance" ;
rdfs:subClassOf :InteractionAffordance ;
rdfs:comment "An Interaction Affordance that exposes state of the Thing. This state can then be retrieved (read) and/or updated (write). Things can also choose to make Properties observable by pushing the new state after a change."@en ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:Thing rdf:type rdfs:Class, owl:Class ;
rdfs:label "Thing"@en ;
rdfs:comment "An abstraction of a physical or a virtual entity whose metadata and interfaces are described by a WoT Thing Description, whereas a virtual entity is the composition of one or more Things."@en ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:OperationType rdf:type rdfs:Class, owl:Class ;
rdfs:label "OperationType" ;
rdfs:comment "Enumeration of well-known operation types necessary to implement the WoT interaction model"@en ;
rdfs:subClassOf schema:Enumeration ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:readProperty rdf:type :OperationType ;
rdfs:label "readProperty" ;
rdfs:comment "Operation type of forms used to read a property value"@en ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:writeProperty rdf:type :OperationType ;
rdfs:label "writeProperty" ;
rdfs:comment "Operation type of forms used to write a property value"@en ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:observeProperty rdf:type :OperationType ;
rdfs:label "observeProperty" ;
rdfs:comment "Operation type of forms used to observe a property value"@en ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:unobserveProperty rdf:type :OperationType ;
rdfs:label "unobserveProperty" ;
rdfs:comment "Operation type of forms used to unobserve a property value"@en ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:readMultipleProperties rdf:type :OperationType ;
rdfs:label "readMultipleProperties" ;
rdfs:comment "Operation type of forms used to read a property value"@en ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:writeMultipleProperties rdf:type :OperationType ;
rdfs:label "writeMultipleProperties" ;
rdfs:comment "Operation type of forms used to write a property value"@en ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:readAllProperties rdf:type :OperationType ;
rdfs:label "readAllProperties" ;
rdfs:comment "Operation type of forms used to read all property values"@en ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:writeAllProperties rdf:type :OperationType ;
rdfs:label "writeAllProperties" ;
rdfs:comment "Operation type of forms used to read a property value"@en ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:observeAllProperties rdf:type :OperationType ;
rdfs:label "observeAllProperties" ;
rdfs:comment "Operation type of forms used to observe all property values"@en ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:unobserveAllProperties rdf:type :OperationType ;
rdfs:label "unobserveAllProperties" ;
rdfs:comment "Operation type of forms used to unobserve all property value"@en ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:invokeAction rdf:type :OperationType ;
rdfs:label "invokeAction" ;
rdfs:comment "Operation type of forms used to read a property value"@en ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:queryAction rdf:type :OperationType ;
rdfs:label "queryAction" ;
rdfs:comment "Operation type of forms used to query the status of an action"@en ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:cancelAction rdf:type :OperationType ;
rdfs:label "cancelAction" ;
rdfs:comment "Operation type of forms used to cancel an action"@en ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:queryAllActions rdf:type :OperationType ;
rdfs:label "queryAllActions" ;
rdfs:comment "Operation type of forms used to query the status of all actions"@en ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:subscribeEvent rdf:type :OperationType ;
rdfs:label "subscribeEvent" ;
rdfs:comment "Operation type of forms used to read a property value"@en ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:unsubscribeEvent rdf:type :OperationType ;
rdfs:label "unsubscribeEvent" ;
rdfs:comment "Operation type of forms used to read a property value"@en ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:subscribeAllEvents rdf:type :OperationType ;
rdfs:label "subscribeAllEvents" ;
rdfs:comment "Operation type of forms used to subscribe to all event types"@en ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .
:unsubscribeAllEvents rdf:type :OperationType ;
rdfs:label "unsubscribeAllEvents" ;
rdfs:comment "Operation type of forms used to unsubscribe from all event types"@en ;
rdfs:isDefinedBy <https://www.w3.org/2019/wot/td> .