semantic iot semantic inter-operability practices - part 1

31
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

Upload: iotest

Post on 19-Jan-2015

249 views

Category:

Education


4 download

DESCRIPTION

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

TRANSCRIPT

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, Prote ́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

Thank you

Linked Open Data

~ 50 Billion Statements

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