ontology engineering: ontology use

Download Ontology Engineering: Ontology Use

Post on 11-Nov-2014




7 download

Embed Size (px)




  • 1. Ontology UseCourse Ontology Engineering

2. Overview Ontology use: tools Query languages Rule languages Ontology applications Sample application in biomedicine2 3. QUERIES AND RULES3 4. Limitations of ontology languages All formal languages are bounded What you can say depends on whichgrammatical constructs are allowed by design What you can say is called expressivity Design factors include Necessity for use cases Human comprehension of the language Computational complexity Correspondence to formal frameworks Interoperability with other languages And many more 4 5. Limitations of ontology languages UML Class diagrams, OWL, etc.can describe static knowledge Some reasoning is possible in these languages Subsumption, class membership Transitivity, connectivity Some reasoning falls outside of their scope Arithmetic Probabilistic reasoning Rich logical statements (First Order Logic, etc.)5 6. Examples Property chain (can be modelled in OWL2) Given childOf and brotherOf, define the class Uncle Example definition IF X childOf Y AND Y brotherOf U THEN U in Uncle Individual comparison Given hasBoss and hasWife, define the class of peoplewhose boss is not their wife Example definition IF X hasBoss Y AND X hasWife Z AND Y Z THEN X in NoBossWife6 7. Examples Arithmetic Given height and width, define the class of peoplethat are wider than tall (BodyBuilder) Example definition: IF X height H AND X width W AND W > H THEN X in BodyBuilder Ordering Given hasPrice and the class Basket, define that thecheapest purchase is a FreeItem How do you sort at all? 7 8. Queries Ontology query languages exist to Verify facts on a knowledge base Retrieve matching statements Build new statements Basic constructs of OWL ontology queries URIs and values in triples Variables URI and value constraints and more depending on the language Standard query language for OWL: SPAQL 8 9. SPARQL SELECT Returns all, or a subset of, the variables bound in a querypattern match. CONSTRUCT Returns an RDF graph constructed by substitutingvariables in a set of triple templates. ASK Returns a Boolean indicating whether a query patternmatches or not. DESCRIBE Returns an RDF graph that describes the resources found.9 10. Finding uncles with SELECTSELECT ?uFROM{?x :childOf ?y.?u :brotherOf ?y} 10 11. Creating uncles with CONSTRUCTCONSTRUCT{?u rdf:type :Uncle}WHERE{?x :childOf ?y.?u :brotherOf ?y} 11 12. Verifying uncles with ASKASKASK{{?x :childOf ?y.:Yves :childOf ?y.?u :brotherOf ?y :Olivier :brotherOf ?y}}12 13. Get information about uncles withDESCRIBEDESCRIBE orDESCRIBE ?uWHERE{?x :childOf ?y.?u :brotherOf ?y} 13 14. (Feigenbaum)14 15. Bodybuilders in SPARQL Make a SPARQL CONSTRUCT query to classifybodybuildersIF X height H AND X width W AND W > HTHEN X in BodyBuilder Hint: You have to use inside the WHERE clauseCONSTRUCT { } WHERE { FILTER ( ) }15 16. Queries versus Ontologies Ontologies exist, but queries have to be fired SPARQL queries can not return variables. SPARQL queries close the world, but can notcheck if something is not true, except on datavalues Answers of queries are not part of the ontology,even for CONSTRUCT queries You can make the answers part by Adding the answers to your ontology Using rules 16 17. Rules Four types of rules Derivation or deduction rules If A is true, then B is also true. Transformation rules If you find A, then produce B. Integrity constraints A is always true, or fail. Reaction or Event-Condition-Action rules When A: If A > B then do C. Not every rule language supports all types of rules Examples of rule languages:Prolog, CLIPS (Jess), SWRL, N3 Rules17 18. Example rules in N3 Uncles in N3{ ?x :childOf ?y. ?u :brotherOf ?y } => { ?u :uncleOf ?x } Non-bossy wife in N3{ ?x :hasBoss ?b. ?x :hasWife ?w. ?b log:notEqualTo ?w } => { ?x a :NoBossWife }. BodyBuilders in N3{ ?x :height ?h. ?x :width ?w. ?w math:greaterThan ?h } => { ?x a :BodyBuilder }.18 19. OWL in N3 The consequences of N3 rules are part of theontology Can you write (parts of) OWL in N3? Yes, for example:{?p rdf:type owl:TransitiveProperty. ?x ?p ?o. ?s ?p ?x}=> {?s ?p ?o}. Another example, instances of disjoint classes:{?a owl:disjointWith ?b. ?x a ?a. ?y a ?b }=> {?x owl:differentFrom ?y}. 19 20. ONTOLOGY APPLICATIONS20 21. Sample applications inbiomedicine Based on paper & presentation by Nigam Shah& Barry Smith, Ontologies for biomedicine how to make and use themhttp://www.bioontology.org/wiki/index.php/Ontolo21 22. Use patterns for ontologies Reference for naming things Representation of encyclopedic knowledge Specification of information models Specification of data exchange formats Representation of semantics of data forinformation integration Computer reasoning with data 22 23. MeSH: Medical Subject Headings 23 24. Using MeSH for finding literature24 25. Gene Ontology: concepts inmicrobiology 25 26. Use of the Gene Ontology to annotate scientific articles26 27. NCI ontology: required usage forcancer research projects 27 28. Encyclopedic knowledge: FMAFoundational Model of Anatomy28 29. FMA-based image annotation LARALV RVRAA 29 30. BBC Programmes Ontology30 31. Used for sharing program metadata 31 32. Music ontology = basis MusicBrainz32 33. Music ontology 33 34. Enriching metadata with concepts 34 35. 35 36. Semantic search results36