Semantic IoT Semantic Inter-Operability Practices - Part 1
1. IoT Semantic Inter-Operability Event
Part 1: IoT semantic interoperability practices
Presenter: Gilbert Cassar
Centre for Communication Systems Research, University of Surrey
Contributors: Dr. Wei Wang, Dr. Payam Barnaghi, Dr. Martin Serrano,
Mr. Phillippe Cousin
2. Getting Started
Install Virtual Box
Copy ‘InteropEventVM’ from the USB sticks
provided.
Load the VM on Virtual Box.
Also on the USB Stick:
Sensor Ontologies
Quantity Type ontologies.
3. Getting started with Protégé 4
Protégé is an OWL-specific integrated
development environment (IDE) for developing and
maintaining OWL ontologies.
Already installed on your VM.
To start Protégé:
Home/protégé_4.2/run.sh
4. Getting Started with Protégé 4
Tutorials for Protégé 4.2 can be found at:
http://protegewiki.stanford.edu/wiki/Protege4GettingStarted
http://protegewiki.stanford.edu/wiki/Protege4Pizzas10Minutes
Creating OWL ontologies:
Open existing OWL ontologies
Open an ontology at a URL
Import existing ontologies
Each ontology should have a unique default
namespace.
5. Creating classes
Named classes - create a class and assign a name
to it. Two ‘built in’ named classes: owl:Thing and
owl:Nothing.
Defining subclass: rdfs:subClassof
Asserting a class is the same as another:
owl:equivalentClass
Asserting a class is disjoint with another:
owl:disjointWith
http://protege.stanford.edu/conference/2005/slides/T2_OWLTutorialI_Drummond_final.pdf
6. Checking ontologies
We would like to automatically check our ontology
to ensure that the logical meaning corresponds to
the intended meaning, e.g., an individual of a class
shouldn’t be an individual of its disjoint classes.
For an ontology that falls into the scope of OWL-
DL, we can use a DL Reasoner to infer information
that isn’t explicitly represented in the ontology.
http://protege.stanford.edu/conference/2005/slides/T2_OWLTutorialI_Drummond_final.pd
f
7. Reasoning in Protégé
DL reasoner can be plugged into Protégé
HermiT
Fact++
Standard reasoning services:
Subsumption checking
Equivalence checking
Consistency checking
Instantiation checking
8. Creating properties
OWL has two main types of properties:
Object properties
Datatype properties.
Object properties relate an individual to an
individual.
Datatype properties link an individual to a data
value.
Annotation properties can be used to attach ‘meta-
data’ to classes, properties and individuals.
http://protege.stanford.edu/conference/2005/slides/T2_OWLTutorialI_Drummond_final.pd
f
9. More on properties
OWL supports the specification of a property
hierarchy; in OWL-DL, object properties may only
have object properties as super-properties, and
same for datatype properties.
Properties have a Domain and a Range.
http://protege.stanford.edu/conference/2005/slides/T2_OWLTutorialI_Drummond_final.pd
f
10. Exercises 1: use Protégé
Study the following ontologies in Protégé:
W3C SSN: http://purl.oclc.org/NET/ssnx/ssn
OWL-S:
http://www.daml.org/services/owl-s/1.2/Service.owl
http://www.daml.org/services/owl-s/1.2/Process.owl
http://www.daml.org/services/owl-s/1.2/Profile.owl
http://www.daml.org/services/owl-s/1.2/Grounding.owl
IoT-A ontologies:
http://personal.ee.surrey.ac.uk/Personal/P.Barnaghi/ontology/EntityModel.owl
http://personal.ee.surrey.ac.uk/Personal/P.Barnaghi/ontology/ResourceModel.owl
http://personal.ee.surrey.ac.uk/Personal/P.Barnaghi/ontology/ServiceModel.owl
11. Exercises 1: use Protégé cont’d
Open the following ontologies in Protégé:
IoT.est ontologies:
http://ict-iotest.eu/iotest/ontologies/v1.0/IoT.est-Resource.owl
http://ict-iotest.eu/iotest/ontologies/v1.0/IoT.est-Service.owl
http://ict-iotest.eu/iotest/ontologies/v1.0/IoT.est-Test.owl
http://ict-iotest.eu/iotest/ontologies/v1.0/IoT.est-QoSQoI.owl
12. What is expected from the semantic
interoperability?
Unified access to data:
unified descriptions and at the same time an open
framework.
Self-descriptive data and re-usable knowledge.
Deriving additional knowledge.
Reasoning support and association to other entities
and resources.
Enabling autonomous interactions with the resources.
13. Potential solutions
Using machine-readable and machine-interpretable
meta-data
Well defined standards and description frameworks: XML,RDF, OWL,
etc.
Variety of technologies and tools for creating/managing/querying and
accessing semantic data, e.g., Jena, Sesame, Protége, etc.
Ontologies defines conceptualisation of a domain.
Domain concepts modeling
Relationships between the concepts
Link to existing knowledge, the linked open data cloud
14. Semantics in IoT – myth and reality
#1: If we create an Ontology our data is
interoperable
Reality: there are/could be a number of ontologies for a domain
Ontology mapping
Reference ontologies
Standardisation efforts
#2: Semantic data will make my data machine-
understandable and my system will be intelligent.
Reality: it is still meta-data, machines don’t understand it but can
interpret it. It still does need intelligent processing, reasoning mechanism
to process and interpret the data.
15. Semantics in IoT – myth and reality
#3: It’s a Hype! Ontologies and semantic data are
too much overhead; we deal with tiny devices in IoT.
Reality: Ontologies are a way to share and agree on a common vocabulary
and knowledge; at the same time there are machine-interpretable and
represented in interoperable and re-usable forms;
You don’t necessarily need to add semantic metadata in the source- it could be
added to the data at a later stage (e.g. in a gateway);
Legacy applications can ignore it or to be extended to work with it.
16. Exercises 2: create an ontology for IoT
Considering reuse of the existing ontologies (using
‘import’ in Protégé)
Consider the following concepts in the IoT domain:
Resource (sensor, actuator, RFID)
Other resources (gateway, directory, server)
Service (related to IoT resources; as well as service
lifecycle related information)
Systems, subsystems
Observation and measurement
Relationships among the concepts
Link to existing knowledge (location)
17. Ontology matching for improving
interoperability
Also known as ontology alignment or ontology
mapping.
Formally, is the process of determining
correspondences between semantically related
entities from (two) ontologies. A set of
correspondences is also called an alignment.
Can be used to support various tasks
Ontology merging
Assisting ontology engineering for humans
18. A simplified ontology matching task
Two ontologies: Os (source) and Od (destination)
To establish correspondence between two concepts
Cs from Os and Cd from Od:
Check equivalence for classes and relations
Check similarity if equivalence cannot be confirmed
A similarity or confidence value is calculated using some mechanisms
No matching
Produce report: equivalence, similarity, and those concepts which cannot
be matched
This will help us in the ontology engineering process.
19. Matching algorithm based on lexical and
structural information
Two classes are equivalent if:
Their URIs are same
They are both equivalent to a third class
If no equivalent relation found between two classes,
then we try to find out if two classes have
relatedness:
subclass/superclass/subproperty/superproperty
sibling
have Common Ancester
lexically similar: check two classes’ labels (e.g., edited distance
algorithm)
20. Pseudo-code
For 0<i<m (vector c1)
For 0<j<n (vector c2)
if cheEuqivalence(c1[i], c2[j]) assert equivalent;
else
if checkRelatedness(c1[i], c2[j]) assert
checkRelationType (c1[i], c2[j]);
End if
End if
End For
End for
21. Exercise 3: Check the interoperability of
your model against existing ones.
Ontology matching tool:
http://localhost:8080/InteropOntologyCheckingTool/
http://iotserver3.ee.surrey.ac.uk:8080/InteropOntologyMatchingTool/
http://ccsriottb3.ee.surrey.ac.uk:8080/InteropOntologyMatchingTool/
Input ontologies:
The IoT ontology developed in exercise 2
The existing ontologies for sensors (SSN), services (OWL-S)
and IoT (IoT-A, IoT.est)
Discussion:
How similar to existing models is your model?
24. Linked Data as an independent layer
in the Internet architecture
Images from Stefan Decker, http://fi-ghent.fi-week.eu/files/2010/10/Linked-Data-scheme1.png; linked data diagram: http://richard.cyganiak.de/2007/10/lod/
25. Linked data and interoperability
Linked Data is becoming an accepted best practice
to exchange information in an interoperable and
reusable fashion.
Many different communities on the Internet use
Linked Data standards to provide and exchange
interoperable information.
We have seen methods mainly for improving
interoperability at ontology (schema) level, now we
look at interoperability at data level.
http://linkeddata.future-internet.eu/index.php/Main_Page
26. Building interoperability
Metadata standards:
Dublin core, FOAF, SSN and IoT.est (domain specific)
Existing vocabularies:
NCI, SSN-QU
Other knowledge base and ontologies
DBPedia, Geonames
Relationships:
SKOS closeMatch, exactMatch, broadMatch,
narrowMatch, relatedMatch
owl:sameAs, rdf:seeAlso
27. Linked Data and interoperability
based on links
“The Web of data proposes a style of
interoperability which doesn't rely on synchronous
query of separate databases, nor on reducing
databases into a common format, but on the
creation of a global information space, using links to
browse seamlessly between resources.”
Emmanuelle Bermes, "Convergence and Interoperability: a Linked Data perspective"
28. Linked data principles
using URI’s as names for things: Everything is
addressed using unique URI’s.
using HTTP URI’s to enable people to look up those
names: All the URI’s are accessible via HTTP
interfaces.
provide useful RDF information related to URI’s
that are looked up by machine or people;
including RDF statements that link to other URI’s to
enable discovery of other related concepts of the
Web of Data: The URI’s are linked to other URI’s.
29. Linked data in IoT
Using URI’s as names for things;
- URI’s for naming IoT resources and data (and also streaming channels and
data);
Using HTTP URI’s to enable people to look up those names;
- Web-level access to low level sensor data and real world resource descriptions
(gateway and middleware solutions);
Providing useful RDF information related to URI’s that are
looked up by machine or people;
- publishing semantically enriched resource and data description: temporal,
spatial, thematic;
Including RDF statements that link to other URI’s to enable
discovery of other related things of the web of data;
- linking and associating the real world data to the existing data on the Web;
30. Creating and using linked sensor data
http://ccsriottb3.ee.surrey.ac.uk:8080/IOTA/