Successfully reported this slideshow.

Semantic Modeling Notation (Scanlon, SemTech 2010)

1,196 views

Published on

Semantic Modeling Notation
Making Ontologies Human-Accessible

Presented at SemTech 2010 conference
25 June 2010

Published in: Technology
  • Be the first to comment

Semantic Modeling Notation (Scanlon, SemTech 2010)

  1. 1. Semantic Modeling NotationMaking Ontologies Human-Accessible Bob Scanlon, SVP Development 25 Jun 2010 V2, 30 Jun 2010
  2. 2. 2
  3. 3. 3
  4. 4. 4
  5. 5. 5
  6. 6. 6
  7. 7. 7
  8. 8. 8
  9. 9. 9
  10. 10. 10
  11. 11. 11
  12. 12. 12
  13. 13. 13
  14. 14. 14
  15. 15. 15
  16. 16. 16
  17. 17. 17
  18. 18. 18
  19. 19. 19
  20. 20. 20
  21. 21. 21
  22. 22. We have this.. We want this.. OntologyOr this... Well talk about 2 aspects of this problem: 1. Visualization techniques/considerations 2. Reference graphical notation 22
  23. 23. Why are we talking about this?● Visualization is critical to understanding complex things “a picture is worth 1000 words”● Ontologies are complex things⇒ Visualization is critical to understanding ontologies “I have an ontology, what do I have?” “I want an ontology, how do I build one?” 23
  24. 24. and...● We have a contract with the U.S. Department of Defense (DoD) to – build domain models using RDF & OWL – integrate data from many sources using a SPARQL-based federation engine and rules – analyze & report on the federated data ● in terms of the domain model● So, we and our customers need ontology visualization, and were building it – but wed really prefer it be a generally-accepted standard, so we can focus on data integration and analysis 24
  25. 25. The BPMN analogy● Helped drive uptake of BPM● Goal: intuitive notation that can represent complex semantics● Goal: to support both business stakeholders and technical users Business analysts Technical users 2005 2010 25
  26. 26. Why not UML?● Non-intuitive and verbose representation* – BPMN also went with a non-UML solution● Not flexible enough to handle ontologies – First-class properties vs embedded attributes – Complex relationships of OWL axioms – Types and instances mixed● General-purpose, so its complex* – Only need structural representation – Stereotyping, profiles – not widely used*● UML tools expensive, not integrated w/ semantic tools * For non-techs. Our goal is to lift ontology visualization beyond the realm of only technical ontologists – to enable business analysts, as was done with BPMN. 26
  27. 27. Visualization research 2 OWL2UML/OWLGrEd,DLG [2005] 2 OntoTrack [2005] Protege [2010]OntoVis, Protege [2007] OWLVis, Protege [2005] OWLPropViz, Protege [2008]Growl [~2006] EzOWL [2006] Jambalaya, Protege [2009] 27
  28. 28. Uses and Users 28
  29. 29. Uses of visualization● Collaboration during model development – Between ontologists and domain SMEs● Documentation and dissemination of models – For users, managers, etc● Basic understanding of the domain – For everyone!● Building and editing of a model – For ontologists and domain SMEs All of these deal with communication! 29
  30. 30. The human element● An ontology is – an engineering artifact – a social agreement● Therefore it must – be human understandable – facilitate communication and collaboration – be buildable by non-technical people● To do this we need – pictures! 30
  31. 31. Target humans...● Model definers – Ontologists – Domain SMEs● Managers / Governance Parties – To understand a domain – To approve of changes to domain representation● Application developers – To write queries and views – To understand the terms and relationships in the domain● Domain users – To analyze data in their domain – Using applications written in terms of the model 31
  32. 32. Enabling and facilitating communicationbetween ontologists and SMEs is criticalfor a successful modeling effort. 32
  33. 33. So, to restate our goal today...Were interested in a (standardized) way tovisualize the structural aspects of ontologies to facilitateontology modeling and human understanding 33
  34. 34. Ontology Visualization 34
  35. 35. Visualization = Element Display Structure + Layout + Viewing & Navigation 35
  36. 36. Visualization = Element Display Structure + Layout + Viewing & Navigation 36
  37. 37. Diagram element display● How should each ontology construct be represented? – graphical notation introduction● How can we abstract and simplify using clustering/collapsing of elements? – show properties under classes & instances – show properties as labeled edges rather than nodes – collapse complex nodes until user drills in 37
  38. 38. Benefits of a (standardized) graphical notation● Uniform means of representing an ontology in all tools – Makes exchange of information between systems flow better – interoperability● Formalizes how people visualize models – Ties into language better, which allows...● A means to graphically edit models – More intuitive than editing text representations – Dovetails with the whole collaborative modeling idea 38
  39. 39. General requirements of a graphical notation● Concise – minimal footprint, maximal info/sq in● Complete – OWL 2, OWL 1, RDF/S, RDF● Consistent – representations in different diagrams and contexts● Simple – to use; uncluttered; hand-drawable● Extensible – can be used for other ontology languages, or as core set evolve● Intuitive – matches what people “expect”● Multi-modal – can auto-gen diagrams or manually build custom views NOTE: Last item added based on audience feedback. NOTE: Last item added based on audience feedback. 39
  40. 40. Map of the (owl 2) universe Concepts/Categories Roles/Relations Instances Data types (individuals, (data ranges, (classes) (properties) literals) datatypes)Simple named class named class named object property named object property named individual named named datatype named datatypeExpressions named data property named data property anonymous individual anonymous individual(defined via declarations)(defined via declarations) literal value value enumeration enumeration inverse (anonymous) inverse (anonymous) enumeration enumeration Boolean compositions Boolean compositions Boolean compositions Boolean compositionsComplex - intersection - intersection - intersection - intersectionExpressions - union - union - union - union - complement - complement - complement - complement(defined via Restrictions (obj,data) Restrictions Restrictions Restrictions constructors) - universal, existential - universal, existential - datatype restriction - datatype restriction - value, local reflexivity - value, reflexivity - cardinality (qualified) - cardinality (qualified) TBox RBox ABox TBox ? Class relationships Class relationships domain, range domain, range class (rdf:type) class datatype definition datatype - subclass subclass Property relationships Property relationships Instance equality Instance equality - equivalent classes equivalent classes - subproperty [chained] - subproperty [chained] - same individuals same individualsAxioms - disjoint classes - equivalent properties - different individuals disjoint classes - equivalent properties different individuals - disjoint union disjoint union - disjoint properties - disjoint properties Property assertions Property(defined via key - inverse (obj only) - inverse (obj only) - object property, pos object property, pos statements) Object property char. Object property char. - data property, pos data property, pos - functional, inverse func. - object property, neg - functional, inverse func. object property, neg - symmetric, asymmetric - data property, neg - symmetric, asymmetric data property, neg - reflexive, irreflexive - reflexive, irreflexive - transitive - transitive 40
  41. 41. Visualization techniquesdiagram element generation Formal language model OWL 2, in this case To graphical notation Translate Direct representation Verbose May use identity abstraction – Abstract get formal representation Abstract representation Concise 41
  42. 42. Graphical notation overview notation primitivesExpressions Expressions Expression Composite Expression Decorators Operators resource object operator data relation i annotation complex instance ! deprecatedStatements Special Axiom Connectors and Decorations ontology n-ary definition binary (decorators) unary 42
  43. 43. Graphical notation overview examples of entities & literalsPrimitive Base Examples NotesConstruct Shape Person Object (class) decorator isClass Person label = “Person” optional. fname xsd:int Type information for literalDatatype xsd:int values. minInclusive = 5 Fred Object (individual) decorator isIndividual “value” Fred rdf:type = Person optional. fname = “Fred” Data values, which may be tiedLiteral “green” “10”^^xsd:int to datatypes. hasParent Property that has an individualObject hasParent (object) as its range. ObjectProperty label=”parent” property indicator is optional.Data hasColor Property that has a datatype as hasColorProperty label=”color” its range. MyOntOntology htpp:/revelytix.com/vocab/mydomain/ 43
  44. 44. Graphical notation overview composite expression operatorsComposite Expression restrictions Operators ∀ universal operator ∃ existential ϶ value set composites Ι intersection U intersection =n exact cardinality U union ≤n max cardinality ¬ complement ≥n min cardinality enumerations {} enumeration 44
  45. 45. Graphical notation overview axiom connectors & decoratorsAxiom Connectors n-ary axiom connectors n-ary ↔ equivalent ∅ disjoint binary binary axioms ∅U disjoint union(decorators) unary a class assertion Κ key pname property assertion (+) = individual equality unary axioms pname property ≠ individual inequality f functional assertion (-) f inverse functional inverse props. D symmetric property domain R asymmetric property range transitive reflexive irreflexive 45
  46. 46. Graphical notation overview representation of complex classes● Two types of complex class expressions – composites – nested arbitrarily deep ● Set constructors ● Restrictions – enumerations● Always anonymous (except when we use abstraction)● Decorated to indicate complex c1 U a:Anne c1 c2 U {} b:Beau c2 c3 c:Chuck U c4 c5 46
  47. 47. Visualization techniques information overload management● Information hiding (static or interactive) – collapse/expand complex class, abstractions – hide/show neighborhood properties – allow user to manually build custom model● Abstraction (static or interactive) – allow interning of properties under class/instance● De-cluttering (static or interactive) – allow for duplicates of same construct – use rdfs:labels or local names in place of IRIs when available NOTE: Additions made based on audience feedback. NOTE: Additions made based on audience feedback. 47
  48. 48. Multiple forms to manage info overload class details Decorators to expand and contract to expand and contract shown only on-screen, on mouse over. over. Person Person label and/or IRI i label “Person” [en] metadata (annotations) i label “Persona” [sp] asAddress birthDate interned properties ssn collapsed expanded 48
  49. 49. Abstraction to manage info overload interned properties “externed” properties “interned” properties hasAddress Address Person birthDate hasAddress Person xsd:date birthDate ssn ssn my:ssn 49
  50. 50. User interaction to manage info overload interning/externing of properties Person Person i label “Person” [en] i label “Person” [en] hasAddress i label “Persona” [sp] i label “Persona” [sp] Address hasAddress birthDate birthDate ssn drag property in (“intern”) ssn Person Person i label “Person” [en] i label “Person” [en] hasAddress i label “Persona” [sp] i label “Persona” [sp] Address hasAddress birthDate birthDate drag property out ssn ssn (“extern”) 50
  51. 51. Abstraction to achieve simplification class inheritance relationships Animal Animal subclass is-a Person Person 51
  52. 52. Abstraction to achieve simplification class-property relationshipsFormal Person rdfs:domain hasAddress rdfs:range AddressAbstraction 1 R Property D Person hasAddress Address or class diagramAbstraction 2 hasAddress Class Person Address diagramAbstraction 3 Person Class (interned) hasAddress diagram 52
  53. 53. Diagram constructs fordefining abstractions/simplifications diagram expression 1 diagram diagram expression expression 1 2 diagram expression 2 Similar to substitution mechanism in Wang, Xiaoshu and Almeida, Jonas S., Techniques for Ontology Visualization, Chapter 9 in Semantic Web: Revolutionizing Knowledge Discovery in the Life Sciences, 2007 53
  54. 54. Diagram expression equivalence class inheritance relationships Class Class rdf:type is-a Class Class 54
  55. 55. Diagram expression equivalence class inheritance relationships Class Class rdf:type a Individual Instance 55
  56. 56. Diagram expression equivalence property domain → labeled edge Person rdfs:domain hasAddress Property view D Person hasAddress 56
  57. 57. Diagram expression equivalenceproperty domain & range → labeled edge D R Person hasAddress Address Class view hasAddress Person Address 57
  58. 58. Diagram expression equivalencenamed-anonymous equivalent type merging ABC ABC ↔ A U B A C U B C Class view my:smallnum my:smallnum ↔ base = xsd:int mMaxInclusive = 20 xsd:int mMaxInclusive = 20 Type view 58
  59. 59. Visualization = Element Display Structure + Layout + Viewing & Navigation 59
  60. 60. Presenting ontology structure● Directed labeled graphs (DLG) Were interested in – layered hierarchical graphs this – neighborhood graph● Layout accounts for: – Hierarchical nature of terms – 1-M nature of class-property relations● Some other considerations: – Cloning constructs to reduce link tangles – Incremental adjustments when user adds to, removes from, or shifts items on diagram 60
  61. 61. Composition of a diagram ● A diagram consists of views View 3.1 View ● Views composableView 1 ● Views have different types, which influence layout, etc - class View 3 - property - instance View 3.2 View - class-instanceView 2 - 61
  62. 62. View types PropertiesView Type Classes (1st Class) st Instances InheritanceClass View √Property View √Class Inheritance View √ √Property Inheritance View √ √Class-Instance View √ √Instance View ~ √ 62
  63. 63. Layout considerations● Type inheritance – Inheritance lay out vertically● Type relationships lay out horizontally is-a● Type-instance relationships A lay out types vertically, with is-a is-a instances horizontally B C● Instance graphs not in scope 63
  64. 64. Visualization = Element Display Structure + Layout + Viewing & Navigation 64
  65. 65. User interaction / navigation How can these diagrams be used?Presentation “you know what is there”Analysis “you know what you are looking for”Discovery “you have no idea what you are looking for”Ref: Bergeron 1993. 65
  66. 66. Information management (on a diagram being viewed)● Show/hide details● Show/hide inheritance● Show/hide related properties – By type, etc● Show inferred vs asserted axioms● Filtering – to remove non-essential features● Highlighting – to focus on essential features, in context● Faceted search● Navigation – changing context 66
  67. 67. Viewing & navigation techniques● Zooming – geometric – fish-eye – graph remains intact● Filtering – selective display of info – type-based – depth-based – attribute-based 67
  68. 68. Graphical Notation Reference 68
  69. 69. General requirementsof a graphical notation ● Concise ● Complete ● Consistent ● Simple ● Extensible ● Intuitive ● Multi-modal NOTE: Last item added based on audience feedback. NOTE: Last item added based on audience feedback. 69
  70. 70. Graphical notation overview of notation primitivesExpressions Expressions Expression Composite Expression Decorators Operators resource object operator data relation i annotation complex instance ! deprecatedStatements Special Axiom Connectors and Decorations ontology n-ary definition binary (decorators) unary 70
  71. 71. Graphical Notation expressionsDiagram Object Data Represents... NotesShape Representation Representation Schema-level, Type all views Schema-level, Property property views Data-level, Instances type viewsThese are the building blocks for composite expressions and axioms.Object-Data decorators optional; lack of decorator always means Object unless contextdenotes otherwise. 71
  72. 72. Class expressions enumeration and set expressionsClass Connector / Examples OWL 2 Functional-Style SyntaxExpression Decorator a:Anneenumeration {} {} b:Beau ObjectOneOf(a1...an) c:Chuck c1intersection U U c2 ObjectIntersectionOf(C1...Cn) c3 c1union U U c2 ObjectUnionOf(C1...Cn) c3 c1complement ¬ ¬ c2 ObjectComplementOf(C1...Cn) c3 72
  73. 73. Class expressions general property restrictionsRestriction Connectors Examples OWL 2 Functional-Style Syntax p1 ObjectAllValuesFrom(P C)universal ∀ ∀ DataAllValuesFrom(R1...Rn D) p1 ObjectSomeValuesFrom(P C)existential ∃ ∃ ∃ xsd:int xsd:int DataSomeValuesFrom(R1...Rn D)value p1 ObjectHasValue(P a)(individual, literal) ϶ ϶ 7^^xsd:int DataHasValue(R v)local reflexivity Ι Ι p1 ObjectHasSelf(P) 73
  74. 74. Class expressions cardinality property restrictions Connector /Restriction Examples OWL 2 Functional-Style Syntax Decorator ObjectExactCardinality(n P)exact cardinality =n =5 p1 DataExactCardinality(n R) p1 ObjectExactCardinality(n P C)qualified cardinality =n =5 DataExactCardinality(n R D) ObjectMaxCardinality(n P)maximum cardinality ≤n ≤2 p1 DataMaxCardinality(n R)qualified maximum p1 ObjectMaxCardinality(n P C) cardinality ≤n ≤2 ∃ xsd:int DataMaxCardinality(n R D) xsd:int ObjectMinCardinality(n P)minimum cardinality ≥n ≥1 p1 DataMinCardinality(n R)qualified minimum p1 ObjectMinCardinality(n P C) cardinality ≥n ≥1 DataMinCardinality(n R D)Note: for convenience, single, simple cardinality NOTE: Audience question – do we have an example of a simplified NOTE: Audience question – do we have an example of a simplifiedrestrictions will be displayed as decorations restriction representation? – Not here, but there was some in our restriction representation? – Not here, but there was some in ourbeneath the restriction representation. prototypes up-front. prototypes up-front. 74
  75. 75. Property expressions object property expressionsProperty Decoration Examples OWL 2 Functional-Style SyntaxExpressioninverse [p] [ ] c1 c2 ObjectInverseOf(P)(anonymous) There is only a single property expression, for defining an anonymous property as an inverse of an existing property. This must be on a Class Representation View. 75
  76. 76. Data range expressionsData Range Decorator/ Examples OWL 2 Functional-Style SyntaxExpression Connectorliteral “7”^^xsd:int {} {} DataOneOf(v1...vn) enumeration “11“^^xsd:intdata range U xsd:integer DataIntersectionOf(D1...Dn) U intersection xsd:intdata range xsd:float U U DataUnionOf(D1...Dn) union xsd:doubledata range complement ¬ ¬ xsd:int DataComplementOf(D)datatype xsd:int (none) DatatypeRestriction(DN f1 v1...fn vn) restriction minInclusive = 5 These axioms define how properties are related to Classes. They must be on a Property Representation View. 76
  77. 77. Class axioms TBox class-to-class relationshipsClass Decorator/ Examples OWL 2 Functional-Style SyntaxCharacteristic Connector is-asubclass is-a c1 c2 SubClassOf(C1,C2) c1equivalent class ↔ ↔ c2 EquivalentClasses(C1…Cn) c3 c1disjoint classes ∅ ∅ c2 DisjointClasses(C1…Cn) c3 cn c1disjoint union ∅U ∅U c2 DisjointUnionOf(CN C1...Cn) c3 These axioms are all relate two (or more) Classes to each other. They are applicable only on a Class Representation View. 77
  78. 78. Class axioms TBox? class keysFeature Connector Examples OWL 2 Functional-Style Syntax p1 Κkey Κ C1 HasKey(C (P1...Pm) (D1...Dn)) p2 Κ p3 NOTE: Audience feedback – try to stay away from using letters that tie the notation to the English NOTE: Audience feedback – try to stay away from using letters that tie the notation to the English Language, and may not be meaningful in all international locales. Language, and may not be meaningful in all international locales. This axiom defines the object and/or data properties that are the keys for a Class. It is applicable on any of: Class, Property, and Data Range Views. 78
  79. 79. Property axioms RBox property-to-class relationshipsProperty Decoration Examples OWL 2 Functional-Style SyntaxAxiom D ObjectPropertyDomain(P,C)domain D p1 c1 DataPropertyDomain(D,C) R ObjectPropertyRange(P,C)range R p1 c1 DataPropertyRange(D,C) NOTE: Audience feedback – try to stay away from using letters that tie the notation to the English NOTE: Audience feedback – try to stay away from using letters that tie the notation to the English Language, and may not be meaningful in all international locales. Language, and may not be meaningful in all international locales. These axioms relate a Property to a Class. A Property can have more than 1 domain or can domain or range. These are applicable only on a Property View. 79
  80. 80. Property axioms RBox property-to-property relationshipsProperty Decoration/ Examples OWL 2 Functional-Style SyntaxAxiom Connector is-a p1 p2 SubObjectPropertyOf(P1,P2)subproperty is-a p1 type SubDataPropertyOf(P1,D2) p2 p1equivalent EquivalentObjectProperties(P1…Pn)properties ↔ ↔ p2 EquivalentDataProperties(D1...Dn) p3 p1disjoint DisjointObjectProperties(P1…Pn)properties ∅ ∅ p2 DisjointDataProperties(D1...Dn) p3 p1inverse p2 inverseOf InverseObjectProperties(P1,P2)properties p1 p2 These axioms are all relate two (or more) Properties to each other. They are applicable only on a Property view. 80
  81. 81. Property axioms RBox property characteristics (unary)Property Decoration Examples OWL 2 Functional-Style SyntaxCharacteristic f f FunctionalObjectProperty(P)functional f p1 p1 FunctionalDataProperty(P) f finverse functional f p1 p1 InverseFunctionalObjectProperty(P)symmetric p1 p1 SymmetricObjectProperty(P)asymmetric p1 p1 AsymmetricObjectProperty(P)transitive p1 p1 TransitiveObjectProperty(P)reflexive p1 p1 ReflexiveObjectProperty(P)irreflexive p1 p1 IrreflexiveObjectProperty(P) These axioms define characteristics of properties. They are all unary operators. They are realized as decorations on a Property construct, on a Property view, or optionally as decorators on a binary relation on a Class view.. 81
  82. 82. Datatype definition axiomsProperty OWL 2 Functional-Style Decoration ExamplesCharacteristic Syntax my:smallnum my:smallnum my:smallnum my:smallnum ↔ base = xsd:int base = xsd:intdatatype definition ↔ DatatypeDefinition(DN D) maxInclusive=20 maxInclusive=20 xsd:int xsd:int maxInclusive=20 maxInclusive=20 There is only 1 axiom related to datatypes. This axiom can be used to define a new named datatype in terms of an existing datatype with additional facet restrictions. This must be on a type-level diagram – either a Class diagram or a Datatype diagram. 82
  83. 83. Assertion axioms ABox (axioms about instances)Assertion Decoration Examples OWL 2 Functional-Style Syntax a aclass (type) a1 c1 ClassAssertion(C a) pname ObjectPropertyAssertion((PN a1 a2)property assertion pname a1 a2 DataPropertyAssertion(R a v)negative pname pname NegativeObjectPropertyAssertion((PN a1 a2) NegativeObjectPropertyAssertion((PN a1 a2)property assertion a1 a2 NegativeDataPropertyAssertion(R a v) NegativeDataPropertyAssertion(R a v) a1Individual equality = = SameIndividual(a1...an) a2 a1Individual inequality ≠ ≠ DifferentIndividuals(a1...an) a2 These axioms are all related to instances. The class (type) and property assertions are the common RDF-style axioms. These all must be on either a Class view or an Instance view. 83
  84. 84. AnnotationsNot shown for now... 84
  85. 85. Its a Wrap! 85
  86. 86. Key takeaways● Visualization is critical to – Collaborative ontology development – Communication & understanding – The widespread adoption of OWL● The community needs to get behind – A formal graphical notation 86
  87. 87. References Select visualization papers● Wang, Xiaoshu and Almeida, Jonas S.; Techniques for Ontology Visualization; Chapter 9 in Semantic Web: Revolutionizing Knowledge Discovery in the Life Sciences; 2007.● Krivov, Serguei, et al; On Visualization of OWL Ontologies; Chapter 10 in Semantic Web: Revolutionizing Knowledge Discovery in the Life Sciences; 2007.● Katifori, Akrivi, et al; Ontology Visualization Methods – A Survey; ACM Computing Surveys; 2007.● Gaines, Brian R.; An Interactive Visual Language for Term Subsumption Languages; IJCAI 1991.● Bergeron, D.; Visualization Reference Models; 1993. 87
  88. 88. References UML-related papers● Brockmans, S., et al; Visual Modeling of OWL DL Ontologies Using UML; ISWC, 2004.● Kiko, K. and Atkinson, C.; A Detailed Comparison of UML and OWL; 2008.● Xu, Wei, et al; Modelling emergency response processes: Comparative study on OWL and UML; 2008.● Harel, D. and Rumpe, B.; Meaningful Modeling: Whats the Semantics of “Semantics”?; 2004. 88
  89. 89. Thank you for your time and attention! 89
  90. 90. Semantic Modeling Notation Bob Scanlon [ svp development, rscanlon @ revelytix.com ] Jim Irwin [ svp development, jirwin @ revelytix.com ] SemTech, 25 June 2010 90

×