HTO
The Haystack Tagging Ontology (HTO) is an OWL ontology for Project Haystack, a domain vocabulary for Building Automation Systems. It is available at:
http://vcharpenay.github.io/hto/hto.xml
See the generated documentation for the ontology.
Overview
The ontology is (conceptually) divided into three modules:
- the meta-model, that has been derived from Project Haystack’s tag model.
- the vocabulary, consisting of raw Haystack tagged wrapped in a namespace. Only markers and refs have been included. For other kinds of tags, existing vocabularies should be used instead (e.g. WGS84, Time Ontology, Quantity Kinds and Units, etc).
- the domain model, that has been manually derived from Project Haystack’s documentation.
Usage
Turning Haystack tags into RDF data is quite straightforward: the Haystack
entity becomes a RDF resource. Its URI is used as an ID and rdfs:label
is
used for a textual description. To a tag or a ref corresponds a triple with
hto:hasTag
or hto:hasRef
, respectively. See the example below.
The following tag set (Zinc syntax)
id: @CHU-1-SWT-1
dis: “CHU-1 Temperature Sensor 1”
sensor
temp
discharge
equipRef: @CHU-1
is equivalent to the following RDF document (Turtle syntax)
@PREFIX rdf : <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
@PREFIX rdfs : <http://www.w3.org/2000/01/rdf-schema#>
@PREFIX hto : <http://project-haystack.org/hto#>
@PREFIX : <http://example.org/>
:CHU-1-SWT-1 rdf:type hto:HEntity;
rdfs:label "CHU-1 Temperature Sensor 1";
hto:hasTag hto:sensor;
hto:hasTag hto:temp;
hto:hasTag hto:discharge;
hto:hasRef :CHU-1.
All tags from the vocabulary have been mapped to a concept in the domain model so that a transformation is possible between raw Haystack tags and ontological data.
Code for transformation coming soon…
Further reading
- V. Charpenay et al., “An Ontology Design Pattern for IoT Device Tagging Systems,” in Internet of Things (IoT), 2015 5th International Conference on the, Seoul, 2015.