Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Semantic IoT Semantic Inter-Operability Practices - Part 1

710 views

Published on

G. Cassar Semantic IoT Semantic Inter-Operability Practices-Part1 presented at the IERC AC4 IoT Semantic Interoperability workshop, Guildford, UK, 15 April 2013

Published in: Education
  • Be the first to comment

Semantic IoT Semantic Inter-Operability Practices - Part 1

  1. 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
  2. 2. 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.
  3. 3. 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
  4. 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 defaultnamespace.
  5. 5. 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
  6. 6. 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
  7. 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. 8. 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
  9. 9. 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
  10. 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. 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. 12. 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.
  13. 13. 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
  14. 14. 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.
  15. 15. 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.
  16. 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 servicelifecycle related information) Systems, subsystems Observation and measurement Relationships among the concepts Link to existing knowledge (location)
  17. 17. 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
  18. 18. 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.
  19. 19. 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)
  20. 20. Pseudo-codeFor 0<i<m (vector c1)For 0<j<n (vector c2)if cheEuqivalence(c1[i], c2[j]) assert equivalent;elseif checkRelatedness(c1[i], c2[j]) assertcheckRelationType (c1[i], c2[j]);End ifEnd ifEnd ForEnd for
  21. 21. 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?
  22. 22. Thank you
  23. 23. Linked Open Data~ 50 Billion Statements
  24. 24. 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/
  25. 25. 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
  26. 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. 27. 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"
  28. 28. 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.
  29. 29. 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;
  30. 30. Creating and using linked sensor datahttp://ccsriottb3.ee.surrey.ac.uk:8080/IOTA/
  31. 31. Sensor discovery using linked sensor data

×