semantic modeling notation (scanlon, semtech 2010)
Post on 19-Jan-2015
684 Views
Preview:
DESCRIPTION
TRANSCRIPT
Semantic Modeling Notation
Making Ontologies Human-AccessibleBob Scanlon, SVP Development
25 Jun 2010V2, 30 Jun 2010
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
OntologyOntology
We have this.. We want this..
Or this...
We'll talk about 2 aspects of this problem:
1. Visualization techniques/considerations
2. Reference graphical notation
We'll talk about 2 aspects of this problem:
1. Visualization techniques/considerations
2. Reference graphical notation
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?”
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 we're building it– but we'd really prefer it be a generally-accepted
standard, so we can focus on data integration and analysis
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
2005 2010
Business analysts
Technical users
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 it's 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.
27
Visualization researchDLG2 [2005] DLG2 [2005]
Jambalaya, Protege [2009]Jambalaya, Protege [2009]
OWL2UML/OWLGrEd, Protege [2010]OWL2UML/OWLGrEd, Protege [2010]
OWLPropViz, Protege [2008]OWLPropViz, Protege [2008]OWLVis, Protege [2005]OWLVis, Protege [2005]OntoVis, Protege [2007]OntoVis, Protege [2007]
OntoTrack [2005]OntoTrack [2005]
EzOWL [2006]EzOWL [2006]Growl [~2006]Growl [~2006]
28
Uses and UsersUses and Users
29
Uses of visualization● Collaboration during model development
– Between ontologists and domain SME's● 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 SME's
All of these deal with communication!
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!
31
Target humans...● Model definers
– Ontologists– Domain SME's
● 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
32
Enabling and facilitating
communication
between ontologists and SME's
is critical
for a successful modeling effort.
33
So, to restate our goal today...
We're interested in a ('standardized') way to
visualize the structural aspects of ontologies
to facilitate
ontology modeling and human understanding
34
Ontology VisualizationOntology Visualization
35
==
++
ElementDisplayElementDisplay
StructureLayout
StructureLayout
++ Viewing &NavigationViewing &Navigation
VisualizationVisualization
36
==
++
ElementDisplayElementDisplay
StructureLayout
StructureLayout
++ Viewing &NavigationViewing &Navigation
VisualizationVisualization
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
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
39
General requirementsof 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.
40
Map of the (owl 2) universeConcepts/Categories
(classes)Concepts/Categories
(classes)Roles/Relations
(properties)Roles/Relations
(properties)Instances
(individuals, literals)
Instances(individuals,
literals)
Data types(data ranges,
datatypes)
Data types(data ranges,
datatypes)
SimpleExpressions(defined via declarations)
SimpleExpressions(defined via declarations)
Complex Expressions
(defined via constructors)
Complex Expressions
(defined via constructors)
Axioms
(defined via statements)
Axioms
(defined via statements)
named classnamed class named object propertynamed data propertynamed object propertynamed data property
named individualanonymous individualliteral value
named individualanonymous individualliteral value
named datatypenamed datatype
enumerationBoolean compositions- intersection- union- complementRestrictions (obj,data) - universal, existential- value, local reflexivity- cardinality (qualified)
enumerationBoolean compositions- intersection- union- complementRestrictions (obj,data) - universal, existential- value, local reflexivity- cardinality (qualified)
inverse (anonymous)inverse (anonymous) enumerationBoolean compositions- intersection- union- complementRestrictions- datatype restriction
enumerationBoolean compositions- intersection- union- complementRestrictions- datatype restriction
Class relationships- subclass- equivalent classes- disjoint classes- disjoint unionkey
Class relationships- subclass- equivalent classes- disjoint classes- disjoint unionkey
domain, rangeProperty relationships- subproperty [chained]- equivalent properties- disjoint properties- inverse (obj only)Object property char.- functional, inverse func.- symmetric, asymmetric- reflexive, irreflexive- transitive
domain, rangeProperty relationships- subproperty [chained]- equivalent properties- disjoint properties- inverse (obj only)Object property char.- functional, inverse func.- symmetric, asymmetric- reflexive, irreflexive- transitive
class (rdf:type)Instance equality- same individuals- different individualsProperty assertions- object property, pos- data property, pos- object property, neg- data property, neg
class (rdf:type)Instance equality- same individuals- different individualsProperty assertions- object property, pos- data property, pos- object property, neg- data property, neg
datatype definitiondatatype definitionTBoxTBox RBoxRBox ABoxABox TBoxTBox ??
41
Visualization techniquesdiagram element generation
Formal language model
TranslateTranslate
'Direct' representation Verbose
AbstractAbstract
Abstract representation
May use 'identity' abstraction – get formal representation
To graphical notation
Concise
OWL 2, in this case
42
Graphical notation overviewnotation primitives
ExpressionsExpressions
resource
relation
resource
instance
ExpressionDecoratorsExpressionDecorators
dataobject
complex
Composite ExpressionOperators
Composite ExpressionOperators
ExpressionsExpressions
operator
StatementsStatements
Axiom Connectorsand Decorations
Axiom Connectorsand Decorations
n-ary
binary
unary(decorators)
SpecialSpecial
ontology
i annotation
! deprecated
definition
43
Graphical notation overviewexamples of entities & literals
Primitive Construct
Base Shape Examples Notes
Class Object (class) decorator is optional.
Datatype Type information for literal values.
Individual Object (individual) decorator is optional.
Literal Data values, which may be tied to datatypes.
ObjectProperty
Property that has an individual (object) as its range. Object property indicator is optional.
Data Property
Property that has a datatype as its range.
Ontology
Primitive Construct
Base Shape Examples Notes
Class Object (class) decorator is optional.
Datatype Type information for literal values.
Individual Object (individual) decorator is optional.
Literal Data values, which may be tied to datatypes.
ObjectProperty
Property that has an individual (object) as its range. Object property indicator is optional.
Data Property
Property that has a datatype as its range.
Ontology
“green” “10”^^xsd:int
FredFred
rdf:type = Person
fname = “Fred”
PersonPerson
label = “Person”
fname
“value”
xsd:intxsd:int
minInclusive = 5
hasParent
hasColor
hasParentlabel=”parent”
hasColorlabel=”color”
MyOnthtpp:/revelytix.com/vocab/mydomain/
44
Graphical notation overviewcomposite expression operators
set compositesset composites
complement
U
¬
U
union
intersection
Composite ExpressionOperators
Composite ExpressionOperators
operator
enumerationsenumerations
{ } enumeration
restrictionsrestrictions
value
existential
universal
max cardinality
exact cardinality
intersection
∀
∃
϶Ι
=n
≤n
≥n min cardinality
45
Graphical notation overviewaxiom connectors & decorators
Axiom ConnectorsAxiom Connectors
n-ary
binary
unary(decorators)
n-ary axiom connectorsn-ary axiom connectors
↔
∅U
↔
∅U
↔
∅U
∅
equivalent
disjoint
disjoint union
Κ
≠
=
key
individual equality
individual inequalityunary axiomsunary axioms
f
f
functionalinverse functional
symmetric
asymmetric
transitive
reflexive
irreflexive
binary axiomsbinary axioms
pname property assertion (+)
a
pname
class assertion
property assertion (-)
inverse props.D property domainR property range
46
Graphical notation overviewrepresentation 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'
c1c2
U
{ }a:Anneb:Beauc:Chuck
c1c2
U
c3c4c5
U
47
Visualization techniquesinformation 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 availableNOTE: Additions made based on audience feedback. NOTE: Additions made based on audience feedback.
48
Multiple forms to manage info overloadclass details
Person Person
label “Person” [en] label “Persona” [sp]
asAddress
birthDate ssn
collapsed expanded
i
label and/or IRI
metadata (annotations)
'interned' properties
i
Decorators to expand and contractshown only on-screen, on mouse over.
Decorators to expand and contractshown only on-screen, on mouse over.
49
Abstraction to manage info overloadinterned properties
Person
AddresshasAddress
my:ssnssn
xsd:datebirthDate
Person
hasAddress
birthDate ssn
“externed” properties “interned” properties
50
User interaction to manage info overloadinterning/externing of properties
Person
label “Person” [en] label “Persona” [sp]
hasAddress
birthDate ssn
i
i
Person
label “Person” [en] label “Persona” [sp] birthDate ssn
i
i AddresshasAddress
Person
label “Person” [en] label “Persona” [sp]
hasAddress
birthDate ssn
i
i
Person
label “Person” [en] label “Persona” [sp] birthDate ssn
i
i AddresshasAddress
drag property out(“extern”)
drag property in(“intern”)
51
Abstraction to achieve simplificationclass inheritance relationships
PersonPerson
AnimalAnimal
PersonPerson
AnimalAnimal
is-a subclass
52
Abstraction to achieve simplificationclass-property relationships
Person Address
Person AddressRD
Person AddresshasAddress
PersonhasAddress
Formal
Abstraction 1
Abstraction 2
Abstraction 3
Propertyor classdiagram
Classdiagram
Classdiagram
hasAddress
hasAddress rdfs:domain rdfs:range
('interned')('interned')
53
Diagram constructs for defining abstractions/simplifications
diagram expression 1
diagramexpression
2
diagram expression 2
diagramexpression
1
Similar to substitution mechanism inWang, Xiaoshu and Almeida, Jonas S., Techniques for Ontology Visualization, Chapter 9 in Semantic Web: Revolutionizing Knowledge Discovery in the Life Sciences, 2007
Similar to substitution mechanism inWang, Xiaoshu and Almeida, Jonas S., Techniques for Ontology Visualization, Chapter 9 in Semantic Web: Revolutionizing Knowledge Discovery in the Life Sciences, 2007
54
Diagram expression equivalenceclass inheritance relationships
ClassClass
ClassClass
ClassClass
ClassClass
is-a rdf:type
55
Diagram expression equivalenceclass inheritance relationships
InstanceInstance
ClassClass
IndividualIndividual
ClassClass
a rdf:type
56
Diagram expression equivalenceproperty domain → labeled edge
Person rdfs:domain hasAddress
hasAddressPerson D
Property view
57
Diagram expression equivalenceproperty domain & range → labeled edge
hasAddressPerson D AddressR
Person AddresshasAddress
Class view
58
Diagram expression equivalencenamed-anonymous equivalent type merging
↔
ABC
U
ABC
U
ABC
Class view
ABC
my:smallnum
xsd:intmMaxInclusive = 20
my:smallnum
base = xsd:int
mMaxInclusive = 20
↔
Type view
59
==
++
ElementDisplayElementDisplay
StructureLayout
StructureLayout
++ Viewing &NavigationViewing &Navigation
VisualizationVisualization
60
Presenting ontology structure
● Directed labeled graphs (DLG)– layered hierarchical graphs– '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
We're interested in this
We're interested in this
61
Composition of a diagram
View 1View 1
View 3View 3
View 2View 2
View 3.1View 3.1
● A diagram consists of views
● Views composable● Views have different
'types', which influence layout, etc - class - property - instance - class-instance -
View 3.2View 3.2
62
View types
View Type Classes Properties(1st Class) Instances Inheritance
Class View √
Property View √
Class Inheritance View √ √
Property Inheritance View √ √
Class-Instance View √ √
Instance View ~ √
View Type Classes Properties(1st Class) Instances Inheritance
Class View √
Property View √
Class Inheritance View √ √
Property Inheritance View √ √
Class-Instance View √ √
Instance View ~ √
63
Layout considerations
● Type inheritance – lay out vertically
● Type relationships lay out horizontally
● Type-instance relationships lay out types vertically, with instances horizontally
● Instance graphs not in scope
Inheritance
AA
is-a
BB CC
is-a is-a
64
==
VisualizationVisualization
++
ElementDisplayElementDisplay
StructureLayout
StructureLayout
++ Viewing &NavigationViewing &Navigation
65
User interaction / navigationHow can these diagrams be used?
Presentation
Analysis
Discovery
Presentation
Analysis
Discovery
“you know what is there”
“you know what you are looking for”
“you have no idea what you are looking for”
“you know what is there”
“you know what you are looking for”
“you have no idea what you are looking for”
Ref: Bergeron 1993.Ref: Bergeron 1993.
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
67
Viewing & navigation techniques● Zooming
– geometric– fish-eye – graph remains intact
● Filtering – selective display of info– type-based – depth-based– attribute-based
68
Graphical NotationReference
Graphical NotationReference
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.
70
Graphical notationoverview of notation primitives
ExpressionsExpressions
resource
relation
resource
instance
ExpressionDecoratorsExpressionDecorators
dataobject
complex
Composite ExpressionOperators
Composite ExpressionOperators
ExpressionsExpressions
operator
StatementsStatements
Axiom Connectorsand Decorations
Axiom Connectorsand Decorations
n-ary
binary
unary(decorators)
SpecialSpecial
ontology
i annotation
! deprecated
definition
71
Graphical Notationexpressions
DiagramShape Represents... 'Object'
Representation'Data'
Representation Notes
Type Schema-level, all views
Property Schema-level, property views
Instances Data-level, type views
DiagramShape Represents... 'Object'
Representation'Data'
Representation Notes
Type Schema-level, all views
Property Schema-level, property views
Instances Data-level, type views
These are the building blocks for composite expressions and axioms.
Object-Data decorators optional; lack of decorator always means 'Object' unless context denotes otherwise.
These are the building blocks for composite expressions and axioms.
Object-Data decorators optional; lack of decorator always means 'Object' unless context denotes otherwise.
72
Class expressionsenumeration and set expressions
Class Expression
Connector / Decorator Examples OWL 2 Functional-Style Syntax
enumeration ObjectOneOf(a1...an)
intersection ObjectIntersectionOf(C1...Cn)
union ObjectUnionOf(C1...Cn)
complement ObjectComplementOf(C1...Cn)
Class Expression
Connector / Decorator Examples OWL 2 Functional-Style Syntax
enumeration ObjectOneOf(a1...an)
intersection ObjectIntersectionOf(C1...Cn)
union ObjectUnionOf(C1...Cn)
complement ObjectComplementOf(C1...Cn)
U
¬
U
c1c2c3
U
c1c2c3
¬
c1c2c3
U
{ } { }a:Anneb:Beauc:Chuck
73
Class expressionsgeneral property restrictions
Restriction Connectors Examples OWL 2 Functional-Style Syntax
universal ObjectAllValuesFrom(P C)DataAllValuesFrom(R1...Rn D)
existential ObjectSomeValuesFrom(P C)DataSomeValuesFrom(R1...Rn D)
value(individual, literal)
ObjectHasValue(P a)DataHasValue(R v)
local reflexivity ObjectHasSelf(P)
Restriction Connectors Examples OWL 2 Functional-Style Syntax
universal ObjectAllValuesFrom(P C)DataAllValuesFrom(R1...Rn D)
existential ObjectSomeValuesFrom(P C)DataSomeValuesFrom(R1...Rn D)
value(individual, literal)
ObjectHasValue(P a)DataHasValue(R v)
local reflexivity ObjectHasSelf(P)
∃
Ι
϶ ϶7^^xsd:int
xsd:int∃ xsd:int∃∃
∀∀
Ι
p1
p1
p1
p1
xsd:int
74
Class expressionscardinality property restrictions
Restriction Connector / Decorator Examples OWL 2 Functional-Style Syntax
exact cardinality ObjectExactCardinality(n P)DataExactCardinality(n R)
qualified cardinality ObjectExactCardinality(n P C)DataExactCardinality(n R D)
maximum cardinality ObjectMaxCardinality(n P)DataMaxCardinality(n R)
qualified maximum cardinality
ObjectMaxCardinality(n P C)DataMaxCardinality(n R D)
minimum cardinality ObjectMinCardinality(n P)DataMinCardinality(n R)
qualified minimum cardinality
ObjectMinCardinality(n P C)DataMinCardinality(n R D)
Restriction Connector / Decorator Examples OWL 2 Functional-Style Syntax
exact cardinality ObjectExactCardinality(n P)DataExactCardinality(n R)
qualified cardinality ObjectExactCardinality(n P C)DataExactCardinality(n R D)
maximum cardinality ObjectMaxCardinality(n P)DataMaxCardinality(n R)
qualified maximum cardinality
ObjectMaxCardinality(n P C)DataMaxCardinality(n R D)
minimum cardinality ObjectMinCardinality(n P)DataMinCardinality(n R)
qualified minimum cardinality
ObjectMinCardinality(n P C)DataMinCardinality(n R D)
Note: for convenience, single, simple cardinality restrictions will be displayed as decorations beneath the restriction representation.
=n
=n
≤n
≤n
≥n
≥n
≤2
=5
=5
xsd:int∃ xsd:int∃≤2
≥1
≥1
p1
p1
p1
p1
p1
p1
xsd:int
NOTE: Audience question – do we have an example of a 'simplified' restriction representation? – Not here, but there was some in our prototypes up-front.
NOTE: Audience question – do we have an example of a 'simplified' restriction representation? – Not here, but there was some in our prototypes up-front.
75
Property expressionsobject property expressions
Property Expression Decoration Examples OWL 2 Functional-Style Syntax
inverse (anonymous) ObjectInverseOf(P)
Property Expression Decoration Examples OWL 2 Functional-Style Syntax
inverse (anonymous) ObjectInverseOf(P)
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. 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.
c1 c2[p][ ]
76
Data range expressions
Data Range Expression
Decorator/Connector Examples OWL 2 Functional-Style Syntax
literal enumeration DataOneOf(v1...vn)
data range intersection DataIntersectionOf(D1...Dn)
data range union DataUnionOf(D1...Dn)
data range complement DataComplementOf(D)
datatype restriction (none) DatatypeRestriction(DN f1 v1...fn vn)
Data Range Expression
Decorator/Connector Examples OWL 2 Functional-Style Syntax
literal enumeration DataOneOf(v1...vn)
data range intersection DataIntersectionOf(D1...Dn)
data range union DataUnionOf(D1...Dn)
data range complement DataComplementOf(D)
datatype restriction (none) DatatypeRestriction(DN f1 v1...fn vn)
These axioms define how properties are related to Classes. They must be on a Property Representation View. These axioms define how properties are related to Classes. They must be on a Property Representation View.
U
¬
U
xsd:intminInclusive = 5
{ }“7”^^xsd:int
“11“^^xsd:int
¬ xsd:int
U xsd:integer
xsd:int
{ }
Uxsd:float
xsd:double
77
Class axioms'class-to-class' relationships
Class Characteristic
Decorator/Connector Examples OWL 2 Functional-Style Syntax
subclass SubClassOf(C1,C2)
equivalent class EquivalentClasses(C1…Cn)
disjoint classes DisjointClasses(C1…Cn)
disjoint union DisjointUnionOf(CN C1...Cn)
Class Characteristic
Decorator/Connector Examples OWL 2 Functional-Style Syntax
subclass SubClassOf(C1,C2)
equivalent class EquivalentClasses(C1…Cn)
disjoint classes DisjointClasses(C1…Cn)
disjoint union DisjointUnionOf(CN C1...Cn)
These axioms are all relate two (or more) Classes to each other. They are applicable only on a Class Representation View. These axioms are all relate two (or more) Classes to each other. They are applicable only on a Class Representation View.
is-ais-a c2c1
c1
c2
c3
c1
c2
c3
c1
c2
c3
TBoxTBox
cn
↔
∅U ∅U
∅ ∅
↔
78
Class axiomsclass keys
Feature Connector Examples OWL 2 Functional-Style Syntax
key HasKey(C (P1...Pm) (D1...Dn))
Feature Connector Examples OWL 2 Functional-Style Syntax
key HasKey(C (P1...Pm) (D1...Dn))
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. 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.
C1
p1
ΚΚ
p2Κ
p3
TBox?TBox?
NOTE: Audience feedback – try to stay away from using letters that tie the notation to the EnglishLanguage, and may not be meaningful in all international locales. NOTE: Audience feedback – try to stay away from using letters that tie the notation to the EnglishLanguage, and may not be meaningful in all international locales.
79
Property axioms 'property-to-class' relationships
Property Axiom Decoration Examples OWL 2 Functional-Style Syntax
domain ObjectPropertyDomain(P,C)DataPropertyDomain(D,C)
range ObjectPropertyRange(P,C)DataPropertyRange(D,C)
Property Axiom Decoration Examples OWL 2 Functional-Style Syntax
domain ObjectPropertyDomain(P,C)DataPropertyDomain(D,C)
range ObjectPropertyRange(P,C)DataPropertyRange(D,C)
These axioms relate a Property to a Class. A Property can have more than 1 domain or range. These are applicable only on a Property View. These axioms relate a Property to a Class. A Property can have more than 1 domain or range. These are applicable only on a Property View.
DD
R
c1
Rc1
RBoxRBox
p1
p1
NOTE: Audience feedback – try to stay away from using letters that tie the notation to the EnglishLanguage, and may not be meaningful in all international locales. NOTE: Audience feedback – try to stay away from using letters that tie the notation to the EnglishLanguage, and may not be meaningful in all international locales.
80
Property axioms'property-to-property' relationships
Property Axiom
Decoration/Connector Examples OWL 2 Functional-Style Syntax
subproperty SubObjectPropertyOf(P1,P2)SubDataPropertyOf(P1,D2)
equivalent properties
EquivalentObjectProperties(P1…Pn)EquivalentDataProperties(D1...Dn)
disjoint properties
DisjointObjectProperties(P1…Pn)DisjointDataProperties(D1...Dn)
inverse properties InverseObjectProperties(P1,P2)
Property Axiom
Decoration/Connector Examples OWL 2 Functional-Style Syntax
subproperty SubObjectPropertyOf(P1,P2)SubDataPropertyOf(P1,D2)
equivalent properties
EquivalentObjectProperties(P1…Pn)EquivalentDataProperties(D1...Dn)
disjoint properties
DisjointObjectProperties(P1…Pn)DisjointDataProperties(D1...Dn)
inverse properties InverseObjectProperties(P1,P2)
These axioms are all relate two (or more) Properties to each other. They are applicable only on a Property view. These axioms are all relate two (or more) Properties to each other. They are applicable only on a Property view.
is-a
is-a
RBoxRBox
p1
p1 p2
p2
p1
p2
p3
p1
p2
p3
∅ ∅
↔ ↔
p1 p2inverseOf
typep1 p2
81
Property axioms property 'characteristics' (unary)
Property Characteristic Decoration Examples OWL 2 Functional-Style Syntax
functional FunctionalObjectProperty(P)FunctionalDataProperty(P)
inverse functional InverseFunctionalObjectProperty(P)
symmetric SymmetricObjectProperty(P)
asymmetric AsymmetricObjectProperty(P)
transitive TransitiveObjectProperty(P)
reflexive ReflexiveObjectProperty(P)
irreflexive IrreflexiveObjectProperty(P)
Property Characteristic Decoration Examples OWL 2 Functional-Style Syntax
functional FunctionalObjectProperty(P)FunctionalDataProperty(P)
inverse functional InverseFunctionalObjectProperty(P)
symmetric SymmetricObjectProperty(P)
asymmetric AsymmetricObjectProperty(P)
transitive TransitiveObjectProperty(P)
reflexive ReflexiveObjectProperty(P)
irreflexive IrreflexiveObjectProperty(P)
f
f
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..
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..
f
f
p1
p1
p1
p1
p1
p1p1p1
p1p1p1p1
p1p1p1p1
RBoxRBox
p1
p1
p1
p1
p1
p1
p1
f
f
82
Datatype definition axioms
Property Characteristic Decoration Examples OWL 2 Functional-Style
Syntax
datatype definition DatatypeDefinition(DN D)
Property Characteristic Decoration Examples OWL 2 Functional-Style
Syntax
datatype definition DatatypeDefinition(DN D)
my:smallnummy:smallnum
xsd:intxsd:int
maxInclusive=20maxInclusive=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.
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.
my:smallnummy:smallnum
base = xsd:intbase = xsd:int
maxInclusive=20maxInclusive=20↔ ↔
83
Assertion axioms(axioms about instances)
Assertion Decoration Examples OWL 2 Functional-Style Syntax
class (type) ClassAssertion(C a)
property assertion ObjectPropertyAssertion((PN a1 a2)DataPropertyAssertion(R a v)
negativeproperty assertion
NegativeObjectPropertyAssertion((PN a1 a2)NegativeDataPropertyAssertion(R a v)
Individual equality SameIndividual(a1...an)
Individual inequality DifferentIndividuals(a1...an)
Assertion Decoration Examples OWL 2 Functional-Style Syntax
class (type) ClassAssertion(C a)
property assertion ObjectPropertyAssertion((PN a1 a2)DataPropertyAssertion(R a v)
negativeproperty assertion
NegativeObjectPropertyAssertion((PN a1 a2)NegativeDataPropertyAssertion(R a v)
Individual equality SameIndividual(a1...an)
Individual inequality DifferentIndividuals(a1...an)
ac1
ABoxABox
a
pname
pname
pname
pname
a1
a1
a2
a1
a2
a1 a2
a1 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.
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.
≠
=
≠
=
84
Annotations
Not shown for now...Not shown for now...
85
It's a Wrap!It's a Wrap!
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
87
ReferencesSelect 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.
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: What's the Semantics of “Semantics”?; 2004.
89Thank you for your time and attention!Thank you for your time and attention!
90
Semantic Modeling Notation
Bob Scanlon[ svp development, rscanlon @ revelytix.com ]
Jim Irwin[ svp development, jirwin @ revelytix.com ]
SemTech, 25 June 2010
top related