Semantic IoT Semantic Inter-Operability Practices - Part 1
IoT Semantic Inter-Operability EventPart 1: IoT semantic interoperability practicesPresenter: Gilbert CassarCentre for Communication Systems Research, University of SurreyContributors: Dr. Wei Wang, Dr. Payam Barnaghi, Dr. Martin Serrano,Mr. Phillippe Cousin
Getting Started Install Virtual Box Copy ‘InteropEventVM’ from the USB sticksprovided. 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 integrateddevelopment environment (IDE) for developing andmaintaining 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 defaultnamespace.
Creating classes Named classes - create a class and assign a nameto it. Two ‘built in’ named classes: owl:Thing andowl:Nothing. Defining subclass: rdfs:subClassof Asserting a class is the same as another:owl:equivalentClass Asserting a class is disjoint with another:owl:disjointWithhttp://protege.stanford.edu/conference/2005/slides/T2_OWLTutorialI_Drummond_final.pdf
Checking ontologies We would like to automatically check our ontologyto ensure that the logical meaning corresponds tothe intended meaning, e.g., an individual of a classshouldn’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 informationthat isn’t explicitly represented in the ontology.http://protege.stanford.edu/conference/2005/slides/T2_OWLTutorialI_Drummond_final.pdf
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 anindividual. Datatype properties link an individual to a datavalue. 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.pdf
More on properties OWL supports the specification of a propertyhierarchy; in OWL-DL, object properties may onlyhave object properties as super-properties, andsame for datatype properties. Properties have a Domain and a Range.http://protege.stanford.edu/conference/2005/slides/T2_OWLTutorialI_Drummond_final.pdf
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 semanticinteroperability? Unified access to data: unified descriptions and at the same time an openframework. Self-descriptive data and re-usable knowledge. Deriving additional knowledge. Reasoning support and association to other entitiesand resources. Enabling autonomous interactions with the resources.
Potential solutions Using machine-readable and machine-interpretablemeta-data Well defined standards and description frameworks: XML,RDF, OWL,etc. Variety of technologies and tools for creating/managing/querying andaccessing 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 isinteroperable 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 caninterpret it. It still does need intelligent processing, reasoning mechanismto process and interpret the data.
Semantics in IoT – myth and reality #3: It’s a Hype! Ontologies and semantic data aretoo much overhead; we deal with tiny devices in IoT. Reality: Ontologies are a way to share and agree on a common vocabularyand knowledge; at the same time there are machine-interpretable andrepresented in interoperable and re-usable forms; You don’t necessarily need to add semantic metadata in the source- it could beadded 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 servicelifecycle related information) Systems, subsystems Observation and measurement Relationships among the concepts Link to existing knowledge (location)
Ontology matching for improvinginteroperability Also known as ontology alignment or ontologymapping. Formally, is the process of determiningcorrespondences between semantically relatedentities from (two) ontologies. A set ofcorrespondences 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 conceptsCs 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 cannotbe matched This will help us in the ontology engineering process.
Matching algorithm based on lexical andstructural 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 haverelatedness: subclass/superclass/subproperty/superproperty sibling have Common Ancester lexically similar: check two classes’ labels (e.g., edited distancealgorithm)
Exercise 3: Check the interoperability ofyour 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?
Linked Data as an independent layerin the Internet architectureImages 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 practiceto exchange information in an interoperable andreusable fashion. Many different communities on the Internet useLinked Data standards to provide and exchangeinteroperable information. We have seen methods mainly for improvinginteroperability at ontology (schema) level, now welook 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 interoperabilitybased on links “The Web of data proposes a style ofinteroperability which doesnt rely on synchronousquery of separate databases, nor on reducingdatabases into a common format, but on thecreation of a global information space, using links tobrowse seamlessly between resources.”Emmanuelle Bermes, "Convergence and Interoperability: a Linked Data perspective"
Linked data principles using URI’s as names for things: Everything isaddressed using unique URI’s. using HTTP URI’s to enable people to look up thosenames: All the URI’s are accessible via HTTPinterfaces. provide useful RDF information related to URI’sthat are looked up by machine or people; including RDF statements that link to other URI’s toenable discovery of other related concepts of theWeb 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 anddata); 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 arelooked 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 enablediscovery 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 datahttp://ccsriottb3.ee.surrey.ac.uk:8080/IOTA/