Ontologies and OWL

snufflevoicelessInternet και Εφαρμογές Web

22 Οκτ 2013 (πριν από 3 χρόνια και 9 μήνες)

109 εμφανίσεις

Ontologies and OWL

with some notes on

XML Schema, E
-
R Diagrams and
UML

in 15 minutes

Dave Thau

University of Kansas

thau@learningsite.com

XML Schema Fiesta!


Darwin Core


ABCD


SDD


TCS


Linnean Core


And more to come


< >

< >

< >

< >

Yippee!

Yahoo!

XML Schema Is Good For


Describing the format of documents


How elements nest


Which elements are necessary


The order in which they may appear


What attributes an element can have


Describing the element types


Ensuring valid syntax

XML Schema Not Made For


Semantics


When are two things the same?


How do two concepts relate?


How do I know what kind of thing this is?


These matter in:


SDD terminologies


Schema mapping

Erect hairs on mesosoma

Erect hairs on trunk

Same Idea, Different Names

Taxonomic Concept
Schema v0.80

SDD v0.91b11

Publication

SourcePublication

DatePublished

PublicationDate

Rank

RankLevel

Ontologies


An ontology defines a common vocabulary for
researchers who need to share information in a domain



It includes machine
-
interpretable definitions of basic
concepts in the domain and relations among them.



Ontologies enable reuse of domain knowledge



They assist mediation between heterogeneous data
sources


XML documents among them.



Example Ontology




Ontologies have:


Concepts

Properties

Instances




hasColor

Body

Part

Color

Mesosoma

Pronotum

brown

hasPart

Pronotum

Of

Ant #100

Mesosoma

Of

Ant #100

OWL


W3C Standard Web Ontology Language



OWL builds on RDF and RDFS which can be
represented using XML



Vocabulary designed to describe concepts and
relationships between them



Based on Description Logics, varieties of
predicate logic, so supports reasoning


Some Handy OWL Terms


Relationships between classes


equivalentClass


subClassOf


Intersection, union, complement, disjunction



Relationships between instances


sameAs, differentFrom



Properties of properties


Cardinality


Transitive, Symmetric


allValuesFrom, someValuesFrom


Functional, InverseFunctional



Relationships between properties


subPropertyOf


inverseOf


samePropertyAs

OWL Example

<owl:Class rdf:ID=”ParasiticHost”>


<rdfs:subClassOf

rdf:resource=” http://ecofax.org/ontologies#Host”/>


<rdfs:subClassOf>



<owl:Restriction>




<owl:onProperty>





<owl:ObjectProperty rdf:about=”#hasParasite”/>




</owl:onProperty>





<owl:minCardinality rdf:datatype=”&xsd:int”>






1




</owl:minCardinality>



</owl:Restriction>


</rdfs:subClassOf>

</owl:Class>


<owl:ObjectProperty rdf:ID=”hasParasite”>


<rdfs:domain rdf:resource=”#parasiticHost”/>


<rdfs:range rdf:resource=“http://ecofax.org/ontologies#Parasite”/>

</owl:ObjectProperty>

Reconciling Ontologies

hasColor

Body

Part

Color

Pronotum

Mesosoma

hasPart

Trunk

equivalent

ONTOLOGY 1

ONTOLOGY 2

Segment

What trunk colors do

I know about?

isColored

Hue

equivalent

equivalent

Meso of

Ant #100

Trunk of

Ant #210

Brown

Red

Ontologies and XML Schema

Mapping Standards

Darwn

Core

Schema

ABCD

Schema

Linnean

Core

Schema

mappings. Not so good!

n!

(n
-
2)!

1

2

Mapping Standards

Darwn

Core

schema

ABCD

schema

Linnean

Core

schema

mappings. Better!

n

Specimen

schema

Deriving XML Schema From
Ontologies

Darwn

Core

Ontology

ABCD

Ontology

Linnean

Core

Ontology

Specimen

Ontology

Darwn

Core

Schema

ABCD

Schema

Linnean

Core

Schema

Mapping Using OWL

Mapping Using XLink?

Maybe extending

XML type

Elements?

Ontology Analogy

From “The Relations Between Ontologies and XML Schema

Klein, Fensel, van Harmelen and Horricks, 2001

http://www.cs.man.ac.uk/~horrocks/Publications/download/2001/etai01.pdf

Why bother?


Ontologies can add semantics to XML schema
elements and attributes


Semantics are necessary for interoperability
between different schemata


Nailing down your data model before
implementation is a good idea


Don’t build a building w/o blueprints


Make sure you know what you need


Make sure you know how things relate

UML


UML is an graphical notation for software
development


Good for describing object
-
oriented design


UML
can sort
-
of

be used to model OWL


However:


Properties in OWL are first class citizens


not true of
associations in UML


OWL has built
-
in descriptions like subProperty,
sameAs, transitive


UML may be MMTT in this case


Conclusion


XML Schema is great for
describing document structure


Not great for interoperability
between systems using different
schemata


If we can’t live in perfect harmony,
need to reconcile schemata


That’s what ontologies are for


Schemata can be derived from
ontologies


We can have both!

Ontology Tools I Know and Love


Specification
--

http://www.w3.org/TR/owl
-
features/




Protege

--

http://protege.standford.edu/


The XML Spy of ontology editors


Nice viewer for OWL




Pellet

--

http://www.mindswap.org


My current favorite Description Logic reasoner for
OWL



Jena2

--

http://jena.sourceforge.net


Java based OWL reasoner and parser


SWI
-
Prolog

--

http://www.swi
-
prolog.org/


Has modules for semantic web support (rdf, rdfs, owl)