ontologies and owl with some notes on xml schema, e-r diagrams and uml in 15 minutes
DESCRIPTION
Ontologies and OWL with some notes on XML Schema, E-R Diagrams and UML in 15 minutes. Dave Thau University of Kansas [email protected]. XML Schema Fiesta!. Yahoo!. Darwin Core ABCD SDD TCS Linnean Core And more to come. Yippee!. < >. < >. < >. < >. XML Schema Is Good For. - PowerPoint PPT PresentationTRANSCRIPT
Ontologies and OWLwith some notes on
XML Schema, E-R Diagrams and UML
in 15 minutes
Dave ThauUniversity of Kansas
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:
ConceptsPropertiesInstances
hasColor
BodyPart
Color
Mesosoma Pronotum
brown
hasPartPronotum
Of Ant #100
MesosomaOf
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
BodyPart
Color
Pronotum MesosomahasPart Trunkequivalent
ONTOLOGY 1 ONTOLOGY 2
Segment
What trunk colors doI know about?
isColored
Hueequivalent
equivalent
Meso ofAnt #100 Trunk of
Ant #210
BrownRed
Ontologies and XML Schema
Mapping Standards
DarwnCoreSchema
DarwnCoreSchema
ABCDSchema
ABCDSchema
LinneanCoreSchema
LinneanCoreSchema
mappings. Not so good! n!(n-2)!
12
Mapping Standards
DarwnCoreschema
DarwnCoreschema
ABCDschema
ABCDschema
LinneanCoreschema
LinneanCoreschema
mappings. Better! n
Specimenschema
Specimenschema
Deriving XML Schema From Ontologies
DarwnCoreOntology
DarwnCoreOntology
ABCDOntology
ABCDOntology
LinneanCoreOntology
LinneanCoreOntology
SpecimenOntology
SpecimenOntology
DarwnCoreSchema
DarwnCoreSchema
ABCDSchema
ABCDSchema
LinneanCoreSchema
LinneanCoreSchema
Mapping Using OWL
Mapping Using XLink?Maybe extendingXML type Elements?
Ontology Analogy
From “The Relations Between Ontologies and XML SchemaKlein, Fensel, van Harmelen and Horricks, 2001http://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)