1 # Copyright 2016 ITEA 12004 SEAS Project.
2 # Copyright 2016-2019 Asema Electronics Ltd.
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
8 # http://www.apache.org/licenses/LICENSE-2.0
10 # Unless required by applicable law or agreed to in writing,
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
16 @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . #Resource data framework
17 @prefix owl: <http://www.w3.org/2002/07/owl#> . #Owl ontology language
18 @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . #RDF schema
19 @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . #XML standard datatypes
20 @prefix dc: <http://purl.org/dc/terms/> . #Dublin Core Metadata Initiative terms
21 @prefix vann: <http://purl.org/vocab/vann/> . #A vocabulary for annotating vocabulary descriptions
22 @prefix voaf: <http://purl.org/vocommons/voaf#> . #A vocabulary of a friend, for describing relations between linked vocabularies
23 @prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#> . #Semantic web vocabulary status ontology
24 @prefix foaf: <http://xmlns.com/foaf/0.1/>.
26 @prefix smartapi: <http://smart-api.io/ontology/1.0/smartapi#>.
27 @base <http://smart-api.io/ontology/1.0/>.
30 # standard smartapi definitions needed for network communication
31 smartapi:NetworkingOntology a owl:Ontology , voaf:Ontology ;
32 dc:title "SmartAPI-NetworkingOntology ontology"@en ;
33 dc:description "The Smart API networking Ontology."@en ;
34 dc:issued "2016-01-26"^^xsd:date ;
35 dc:modified "2016-10-06"^^xsd:date ;
36 dc:creator [a foaf:Person ; foaf:name "Hannu Järvinen" ] ;
37 dc:creator [a foaf:Person ; foaf:name "Jani Hursti" ] ;
38 dc:contributor [a foaf:Person ; foaf:name "Erkki Siira" ] ;
39 dc:contributor [a foaf:Person ; foaf:name "Takoua Ghariani" ] ;
40 dc:contributor [a foaf:Person ; foaf:name "Marc Girod-Genet" ] ;
41 dc:contributor [a foaf:Person ; foaf:name "Pyry Lehtimäki" ] ;
42 vann:preferredNamespacePrefix "smartapi" ;
43 vann:preferredNamespaceUri <http://smart-api.io/ontology/1.0/smartapi#> ;
44 owl:versionIRI <http://smart-api.io/ontology/1.0/NetworkingOntology> ;
45 owl:versionInfo "v1.0" .
49 smartapi:Message a owl:Class ;
50 rdfs:label "Message"@en ;
51 rdfs:comment "A message is a discrete unit of communication intended by the source for consumption by some recipient."@en ;
52 rdfs:isDefinedBy smartapi:NetworkingOntology ;
53 rdfs:subClassOf smartapi:Evaluation ;
54 vs:term_status "testing" .
56 smartapi:message a owl:ObjectProperty;
57 rdfs:range smartapi:Message ;
58 rdfs:label "Message"@en ;
59 rdfs:comment "A property that links this resource to a Message."@en ;
60 rdfs:isDefinedBy smartapi:NetworkingOntology ;
61 vs:term_status "testing" .
63 smartapi:Request a owl:Class ;
64 rdfs:label "Request"@en ;
65 rdfs:comment "A message for requesting something from the recipient."@en ;
66 rdfs:isDefinedBy smartapi:NetworkingOntology ;
67 rdfs:subClassOf smartapi:Message ;
68 vs:term_status "testing" .
70 smartapi:Response a owl:Class ;
71 rdfs:label "Response"@en ;
72 rdfs:comment "A message for responding to a request."@en ;
73 rdfs:isDefinedBy smartapi:NetworkingOntology ;
74 rdfs:subClassOf smartapi:Message ;
75 vs:term_status "testing" .
77 smartapi:Notification a owl:Class ;
78 rdfs:label "Notification"@en ;
79 rdfs:comment "A message for sending a notice, announcement, or, e.g., warning."@en ;
80 rdfs:isDefinedBy smartapi:NetworkingOntology ;
81 rdfs:subClassOf smartapi:Message ;
82 vs:term_status "testing" .
84 smartapi:AliveRequest a owl:Class ;
85 rdfs:label "Alive request"@en ;
86 rdfs:comment "A message to communicate that the sender is still alive. Can be used to implement heartbeat."@en ;
87 rdfs:isDefinedBy smartapi:NetworkingOntology ;
88 rdfs:subClassOf smartapi:Request ;
89 vs:term_status "testing" .
91 smartapi:AliveResponse a owl:Class ;
92 rdfs:label "Alive response"@en ;
93 rdfs:comment "A response message for AliveRequest to acknowledge the reception."@en ;
94 rdfs:isDefinedBy smartapi:NetworkingOntology ;
95 rdfs:subClassOf smartapi:Response ;
96 vs:term_status "testing" .
98 smartapi:Acknowledgement a owl:Class ;
99 rdfs:label "Acknowledgement"@en ;
100 rdfs:comment "A message to signify acknowledgement or receipt of earlier message."@en ;
101 rdfs:isDefinedBy smartapi:NetworkingOntology ;
102 rdfs:subClassOf smartapi:Response ;
103 vs:term_status "testing" .
105 smartapi:OfferResponse a owl:Class ;
106 rdfs:label "Offer response"@en ;
107 rdfs:comment "A response that describes an offer."@en ;
108 rdfs:isDefinedBy smartapi:NetworkingOntology ;
109 rdfs:subClassOf smartapi:Response ;
110 vs:term_status "testing" .
115 smartapi:Heartbeat a owl:Class ;
116 rdfs:label "Heartbeat"@en ;
117 rdfs:comment "Resource to indicate that the resource is/was alive."@en ;
118 rdfs:isDefinedBy smartapi:NetworkingOntology ;
119 rdfs:subClassOf smartapi:Object;
120 vs:term_status "testing" .
122 smartapi:heartbeat a owl:ObjectProperty ;
123 rdfs:label "Heartbeat"@en ;
124 rdfs:comment "Property to point to a heartbeat resource."@en ;
125 rdfs:isDefinedBy smartapi:NetworkingOntology ;
126 rdfs:domain smartapi:Entity ;
127 rdfs:range smartapi:Heartbeat;
128 vs:term_status "testing" .
131 # general message properties
133 smartapi:id a owl:DatatypeProperty ;
134 rdfs:label "Identifier number"@en ;
135 rdfs:comment "A property which can be used to express the ID (of a message)."@en ;
136 rdfs:isDefinedBy smartapi:NetworkingOntology ;
138 vs:term_status "testing" .
140 smartapi:transactionID a owl:ObjectProperty ;
141 rdfs:label "Transaction ID"@en ;
142 rdfs:comment "A property used to express the ID of a transaction that, e.g., signs this resource."@en ;
143 rdfs:isDefinedBy smartapi:NetworkingOntology ;
144 vs:term_status "testing" .
146 smartapi:processID a owl:DatatypeProperty ;
147 rdfs:label "Process ID"@en ;
148 rdfs:comment "A property used to express the ID of a process."@en ;
149 rdfs:isDefinedBy smartapi:NetworkingOntology ;
150 rdfs:range xsd:integer ;
151 vs:term_status "testing" .
153 smartapi:freshness a owl:DatatypeProperty ;
154 rdfs:label "Freshness"@en ;
155 rdfs:comment "Freshness of the data calculated backward from now."@en ;
156 rdfs:isDefinedBy smartapi:NetworkingOntology ;
157 rdfs:range xsd:dateTime ;
158 vs:term_status "testing" .
160 smartapi:method a owl:ObjectProperty;
161 rdfs:label "Method"@en ;
162 rdfs:comment "The property that links this resource to a Method."@en ;
163 rdfs:isDefinedBy smartapi:NetworkingOntology ;
164 rdfs:range smartapi:Method ;
165 vs:term_status "testing" .
167 smartapi:operation a owl:ObjectProperty ;
168 rdfs:label "Operation"@en ;
169 rdfs:comment "The property that links this resource to an Operation."@en ;
170 rdfs:isDefinedBy smartapi:NetworkingOntology ;
171 rdfs:range smartapi:Operation ;
172 vs:term_status "testing" .
174 smartapi:traverseUntil a owl:DatatypeProperty;
175 rdfs:label "Traverse until"@en ;
176 rdfs:label "Maksimi läpikäyntisyvyys"@fi ;
177 rdfs:comment "The property that describes maximum traversal depth for the operation requested by the activity."@en ;
178 rdfs:isDefinedBy smartapi:NetworkingOntology ;
179 rdfs:domain smartapi:Activity ;
181 vs:term_status "testing" .
183 smartapi:traverseTo a owl:DatatypeProperty;
184 rdfs:label "Traverse to"@en ;
185 rdfs:label "Suoritussyvyys"@fi ;
186 rdfs:comment "The property that describes traversal depth to reach the level where the operation requested by the activity should be executed."@en ;
187 rdfs:isDefinedBy smartapi:NetworkingOntology ;
188 rdfs:domain smartapi:Activity ;
190 vs:term_status "testing" .
192 smartapi:recursionUntil a owl:DatatypeProperty;
193 rdfs:label "Recursion until"@en ;
194 rdfs:label "Maksimi rekursiosyvyys"@fi ;
195 rdfs:comment "The property that describes traversal depth for the recursion requested by the activity."@en ;
196 rdfs:isDefinedBy smartapi:NetworkingOntology ;
198 vs:term_status "testing" .
200 smartapi:recursionTo a owl:DatatypeProperty;
201 rdfs:label "Recursion to"@en ;
202 rdfs:label "Rekursiosyvyys"@fi ;
203 rdfs:comment "The property that describes recursion depth to reach the level where the operation requested by the activity should be executed."@en ;
204 rdfs:isDefinedBy smartapi:NetworkingOntology ;
206 vs:term_status "testing" .
208 smartapi:recursionProperty a owl:ObjectProperty ;
209 rdfs:label "Recursion property"@en ;
210 rdfs:label "Rekursiolinkki"@fi ;
211 rdfs:comment "The property that describes properties that recursion should follow."@en ;
212 rdfs:isDefinedBy smartapi:NetworkingOntology ;
213 rdfs:range rdf:Property ;
214 vs:term_status "testing" .
219 smartapi:hasDataResource a owl:ObjectProperty;
220 rdfs:label "Has data resource"@en ;
221 rdfs:comment "A data resource related to activity."@en ;
222 rdfs:domain smartapi:Activity ;
223 rdfs:range smartapi:Evaluation ;
224 vs:term_status "testing" ;
225 rdfs:isDefinedBy smartapi:NetworkingOntology .
227 smartapi:Input a owl:Class ;
228 rdfs:label "Input"@en ;
229 rdfs:comment "Input data for an activity."@en ;
230 rdfs:subClassOf smartapi:Evaluation ;
231 rdfs:isDefinedBy smartapi:NetworkingOntology ;
232 vs:term_status "testing" .
234 smartapi:Output a owl:Class ;
235 rdfs:label "Output"@en ;
236 rdfs:comment "Output data produced by an activity."@en ;
237 rdfs:subClassOf smartapi:Evaluation ;
238 rdfs:isDefinedBy smartapi:NetworkingOntology ;
239 vs:term_status "testing" .
241 # Input and output data resources for activities
243 smartapi:hasInput a owl:ObjectProperty;
244 rdfs:label "Has input"@en ;
245 rdfs:comment "An input that this activity has or takes."@en ;
246 rdfs:subPropertyOf smartapi:hasDataResource ;
247 vs:term_status "testing" ;
248 rdfs:range smartapi:Input ;
249 rdfs:isDefinedBy smartapi:NetworkingOntology .
251 smartapi:hasOutput a owl:ObjectProperty;
252 rdfs:label "Has output"@en ;
253 rdfs:comment "Output that this activity generates or has generated."@en ;
254 rdfs:subPropertyOf smartapi:hasDataResource ;
255 vs:term_status "testing" ;
256 rdfs:range smartapi:Output ;
257 rdfs:isDefinedBy smartapi:NetworkingOntology .
259 smartapi:hasRefInput a owl:ObjectProperty ;
260 rdfs:label "Has reference input"@en ;
261 rdfs:comment "A resource which is used to indicate where the input data can be fetched."@en ;
262 rdfs:isDefinedBy smartapi:NetworkingOntology ;
263 rdfs:range smartapi:Input ;
264 vs:term_status "testing" .
266 smartapi:hasRefOutput a owl:ObjectProperty ;
267 rdfs:label "Has reference output"@en ;
268 rdfs:comment "A resource which is used to indicate where the output data can be fetched."@en ;
269 rdfs:isDefinedBy smartapi:NetworkingOntology ;
270 rdfs:range smartapi:Output ;
271 vs:term_status "testing" .
276 smartapi:Error a owl:Class ;
277 rdfs:label "Error"@en ;
278 rdfs:comment "A class used to express an error."@en ;
279 rdfs:isDefinedBy smartapi:NetworkingOntology ;
280 rdfs:subClassOf smartapi:Object;
281 vs:term_status "testing" .
283 smartapi:error a owl:ObjectProperty ;
284 rdfs:label "Error"@en ;
285 rdfs:comment "A property used to express an error."@en ;
286 rdfs:isDefinedBy smartapi:NetworkingOntology ;
287 rdfs:range smartapi:Error ;
288 vs:term_status "testing" .
290 smartapi:InvalidParams a owl:Class;
291 rdfs:label "Invalid params"@en ;
292 rdfs:comment "A resource used to express an error in parameters."@en ;
293 rdfs:isDefinedBy smartapi:NetworkingOntology ;
294 rdfs:subClassOf smartapi:Error;
295 vs:term_status "testing" .
297 smartapi:InvalidRequest a owl:Class ;
298 rdfs:label "Invalid request"@en ;
299 rdfs:comment "A resource used to express an error in the request."@en ;
300 rdfs:isDefinedBy smartapi:NetworkingOntology ;
301 rdfs:subClassOf smartapi:Error;
302 vs:term_status "testing" .
304 smartapi:ServerError a owl:Class ;
305 rdfs:label "Server error"@en ;
306 rdfs:comment "A resource used to express a server side error."@en ;
307 rdfs:isDefinedBy smartapi:NetworkingOntology ;
308 rdfs:subClassOf smartapi:Error;
309 vs:term_status "testing" .
311 smartapi:ParseError a owl:Class ;
312 rdfs:label "Parse error"@en ;
313 rdfs:comment "An error that is caused by an error while a parse operation."@en ;
314 rdfs:isDefinedBy smartapi:NetworkingOntology ;
315 rdfs:subClassOf smartapi:Error;
316 vs:term_status "testing" .
318 smartapi:Unauthorized a owl:Class ;
319 rdfs:label "Unauthorized"@en ;
320 rdfs:comment "An error indicating that the requested activity was not authorized."@en ;
321 rdfs:isDefinedBy smartapi:NetworkingOntology ;
322 rdfs:subClassOf smartapi:Error;
323 vs:term_status "testing" .
325 smartapi:SyntaxError a owl:Class ;
326 rdfs:label "Syntax error"@en ;
327 rdfs:comment "An error that is caused by an error in syntax of the provided data."@en ;
328 rdfs:isDefinedBy smartapi:NetworkingOntology ;
329 rdfs:subClassOf smartapi:Error;
330 vs:term_status "testing" .
332 smartapi:IllegalValueError a owl:Class ;
333 rdfs:label "Illegal value error"@en ;
334 rdfs:comment "An error that is caused by an erroneous value in the provided data."@en ;
335 rdfs:isDefinedBy smartapi:NetworkingOntology ;
336 rdfs:subClassOf smartapi:Error;
337 vs:term_status "testing" .
339 smartapi:UndefinedConceptError a owl:Class ;
340 rdfs:label "Undefined concept error"@en ;
341 rdfs:comment "An error that is caused by a concept which does not have a known definition."@en ;
342 rdfs:isDefinedBy smartapi:NetworkingOntology ;
343 rdfs:subClassOf smartapi:Error;
344 vs:term_status "testing" .
346 smartapi:errorCode a owl:DatatypeProperty ;
347 rdfs:label "Error code"@en ;
348 rdfs:comment "A numeric value used to express an error code."@en ;
349 rdfs:isDefinedBy smartapi:NetworkingOntology ;
350 rdfs:range xsd:integer ;
351 vs:term_status "testing" .
353 smartapi:errorMessage a owl:ObjectProperty ;
354 rdfs:label "Error message"@en ;
355 rdfs:comment "A resource used to express an error message."@en ;
356 rdfs:isDefinedBy smartapi:NetworkingOntology ;
357 rdfs:range xsd:string ;
358 rdfs:domain smartapi:Error ;
359 vs:term_status "testing" .
364 smartapi:Status a owl:Class ;
365 rdfs:label "Status"@en ;
366 rdfs:comment "A status of the requested operation."@en ;
367 rdfs:isDefinedBy smartapi:NetworkingOntology ;
368 rdfs:subClassOf smartapi:Object;
369 vs:term_status "testing" .
371 smartapi:statusCode a owl:DatatypeProperty ;
372 rdfs:label "Status code"@en ;
373 rdfs:comment "A numeric value used to express an HTTP status code."@en ;
374 rdfs:isDefinedBy smartapi:NetworkingOntology ;
375 rdfs:range xsd:integer ;
376 vs:term_status "testing" .
378 smartapi:status a owl:ObjectProperty ;
379 rdfs:label "Status"@en ;
380 rdfs:comment "A status of the requested operation."@en ;
381 rdfs:isDefinedBy smartapi:NetworkingOntology ;
382 rdfs:range smartapi:Status, smartapi:Error ;
383 vs:term_status "testing" .
385 smartapi:Ready a owl:Class ;
386 rdfs:label "Ready"@en ;
387 rdfs:comment "A ready status to indicate that service is ready to start processing."@en ;
388 rdfs:isDefinedBy smartapi:NetworkingOntology ;
389 rdfs:subClassOf smartapi:Status;
390 vs:term_status "testing" .
392 smartapi:Busy a owl:Class ;
393 rdfs:label "Busy"@en ;
394 rdfs:comment "A busy status to indicate that service is busy from, for instance, processing something else."@en ;
395 rdfs:isDefinedBy smartapi:NetworkingOntology ;
396 rdfs:subClassOf smartapi:Status;
397 vs:term_status "testing" .
399 smartapi:Online a owl:Class ;
400 rdfs:label "Online"@en ;
401 rdfs:comment "A online status to indicate that a service or device is online."@en ;
402 rdfs:isDefinedBy smartapi:NetworkingOntology ;
403 rdfs:subClassOf smartapi:Status;
404 vs:term_status "testing" .
406 smartapi:Powered a owl:Class ;
407 rdfs:label "Powered"@en ;
408 rdfs:comment "A powered status to indicate that a physical device has power supply."@en ;
409 rdfs:isDefinedBy smartapi:NetworkingOntology ;
410 rdfs:subClassOf smartapi:Status;
411 vs:term_status "testing" .
413 smartapi:SignalStrength a owl:Class ;
414 rdfs:label "Powered"@en ;
415 rdfs:comment "A signal strength status to indicate how well a device (typically wireless) is sending or receiving data."@en ;
416 rdfs:isDefinedBy smartapi:NetworkingOntology ;
417 rdfs:subClassOf smartapi:Status;
418 vs:term_status "testing" .
420 smartapi:Pending a owl:Class ;
421 rdfs:label "Pending"@en ;
422 rdfs:comment "A pending status for an operation to indicate that is has been taken into queue and is waiting to get processed."@en ;
423 rdfs:isDefinedBy smartapi:NetworkingOntology ;
424 rdfs:subClassOf smartapi:Status;
425 vs:term_status "testing" .
427 smartapi:Processing a owl:Class ;
428 rdfs:label "Processing"@en ;
429 rdfs:comment "A processing status for an operation to indicate that it is executing but not finished yet."@en ;
430 rdfs:isDefinedBy smartapi:NetworkingOntology ;
431 rdfs:subClassOf smartapi:Status;
432 vs:term_status "testing" .
434 smartapi:Finished a owl:Class ;
435 rdfs:label "Finished"@en ;
436 rdfs:comment "A finished status for an operation to indicate that processing has finished successfully."@en ;
437 rdfs:isDefinedBy smartapi:NetworkingOntology ;
438 rdfs:subClassOf smartapi:Status;
439 vs:term_status "testing" .
441 smartapi:completed a owl:DatatypeProperty;
442 rdfs:label "Completed"@en ;
443 rdfs:comment "A count of completed items or completed amount of something out of total."@en ;
444 rdfs:isDefinedBy smartapi:NetworkingOntology ;
445 rdfs:range rdf:XMLLiteral ;
446 vs:term_status "testing" .
448 smartapi:total a owl:DatatypeProperty;
449 rdfs:label "Total"@en ;
450 rdfs:comment "A count of total items or total amount of something."@en ;
451 rdfs:isDefinedBy smartapi:NetworkingOntology ;
452 rdfs:range rdf:XMLLiteral ;
453 vs:term_status "testing" .