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
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.
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
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.
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
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
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
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
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
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
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
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.
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
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.
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.
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)
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
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.
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)
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
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?
Thank you
Linked Open Data
~ 50 Billion Statements
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/
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
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
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"
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.
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;
Creating and using linked sensor data
http://ccsriottb3.ee.surrey.ac.uk:8080/IOTA/
Sensor discovery using linked sensor data

Semantic IoT Semantic Inter-Operability Practices - Part 1

  • 1.
    IoT Semantic Inter-OperabilityEvent 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  InstallVirtual 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 withProté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 withProté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  Namedclasses - 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  Wewould 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  OWLhas 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: useProté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: useProté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 expectedfrom 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  Usingmachine-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: createan 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 forimproving 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 ontologymatching 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 basedon 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 (vectorc1) 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: Checkthe 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?
  • 22.
  • 23.
    Linked Open Data ~50 Billion Statements
  • 24.
    Linked Data asan 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 andinteroperability  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  Metadatastandards:  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 andinteroperability 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 inIoT  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 usinglinked sensor data http://ccsriottb3.ee.surrey.ac.uk:8080/IOTA/
  • 31.
    Sensor discovery usinglinked sensor data