51
1 Introduction to ODPs - Aldo Gangemi (~30 mins including 10 mins of questions) How to document and evaluate/choose ODPs - Karl Hammar (~30 min including 10 mins of questions) Methods to reuse ODPs - Valentina Presutti (~30 min including 10 mins of questions) Break Examples in the Chess domain - Pascal Hitzler (~45 min) Examples in CH and/or eGov - Giorgia Lodi (~45 min) Intro to WebProtégé XDP plugin - Karl Hammar (~15 min) Hands-on - All tutors available for support (~2h30mins) Agenda

Ontology Design Patterns for Linked Data Tutorial at ISWC2016 - Introduction

Embed Size (px)

Citation preview

1

• Introduction to ODPs - Aldo Gangemi (~30 mins including 10 mins of questions)

• How to document and evaluate/choose ODPs - Karl Hammar (~30 min including 10 mins of questions)

• Methods to reuse ODPs - Valentina Presutti (~30 min including 10 mins of questions)

• Break

• Examples in the Chess domain - Pascal Hitzler (~45 min)

• Examples in CH and/or eGov - Giorgia Lodi (~45 min)

• Intro to WebProtégé XDP plugin - Karl Hammar (~15 min)

• Hands-on - All tutors available for support (~2h30mins)

Agenda

Introduction to ODPs

Aldo Gangemi

1LIPN, Paris Nord University, CNRS UMR7030, France2Semantic Technology Lab, ISTC-CNR, Rome, Italy

ODP Tutorial, Kobe

3

• Assumption: some experience in ontology and (linked) data design, predicate logic, RDF, OWL

• Summary• Basics of ontology design and patterns• Examples of knowledge patterns• Examples of procedural patterns• Anti-patterns• eXtreme Design• An exercise with role modelling• Experimental support

Outline

quality, patterns: methods rather than methodologies

The role of competency questions in enterprise engineering M Grüninger, MS Fox - Benchmarking—Theory and Practice, 1995 - Springer

Modelling ontology evaluation and validation A Gangemi, C Catenacci, M Ciaramita, J Lehmann - 2006 - Springer

Evaluating ontological decisions with OntoClean N Guarino, C Welty - Communications of the ACM, 2002 - dl.acm.org

Ontology design patterns A Gangemi, V Presutti - Handbook on ontologies 2nd ed., 2009 - Springer

Ontology Design Patterns

An ontology design pattern is a reusable successful solution to a recurrent modeling

problem

Visitwww.ontologydesignpa/erns.org

6

• Different classifications

• Basically, two main types• Alexandrian (or procedural) patterns• Minskyan (or knowledge) patterns

• Alexandrian patterns concern primarily the methods

• Minskyan patterns concern primarily the reusable models

Pattern types

7

• Modeling problems with CPs have two main components: a domain and some requirements.

• A same domain can have many requirements (e.g. different scenarios in a clinical information context)

• A same requirement can be found in different domains (e.g. different domains with a same “expert finding” scenario)

• A typical way of capturing requirements (and part of domain terminology) is by means of competency questions

Components of ODP modelling

8

Maximal ontology design requirements:What are we talking about, and why?

Generic Competency Questions Specific Modelling Use CaseWho does what, when and where? Production reports, schedules

Which objects take part in a certain event? Resource allocation, biochemical pathwaysWhat are the parts of something? Component schemas, warehouse management

What’s an object made of? Drug and food composition, e.g. for safety (comp.)What’s the place of something? Geographic systems, resource allocation

What’s the time frame of something? Dynamic knowledge basesWhat technique, method, practice is being used? Instructions, enterprise know-how database

Which tasks should be executed in order to achieve a certain goal? Planning, workflow managementDoes this behaviour conform to a certain rule? Control systems, legal reasoning services

What’s the function of that artifact? System descriptionHow is that object built? Control systems, quality check

What’s the design of that artifact? Project assistants, cataloguesHow did that phenomenon happen? Diagnostic systems, physical modelsWhat’s your role in that transaction? Activity diagrams, planning, organizational models

What that information is about? How is it realized? Information and content modelling, computational models, subject directoriesWhat argumentation model are you adopting for negotiating an agreement? Cooperation systems

What’s the degree of confidence that you give to this axiom? Ontology engineering tools

Good news: competency questions and modelling solutions can be generalised and morphed (à la foundational ontology)

An ontology design pattern describes a formal expression that can be exemplified, morphed, instantiated, and expressed in order to solve a domain modelling problem

• owl:Class:_:x rdfs:subClassOf owl:Restriction:_:y• Inflammation rdfs:subClassOf (localizedIn some BodyPart)

• Colitis rdfs:subClassOf (localizedIn some Colon)

• John’s_colitis isLocalizedIn John’s_colon

• “John’s colon is inflammated”, “John has got colitis”, “Colitis is the inflammation of colon”

Layered pattern morphisms

LogicalPattern(MBox)

GenericContentPattern (TBox)

SpecificContentPattern (TBox)

DataPattern (ABox)

exemplifiedAs morphedAs instantiatedAs LinguisticPattern

expressedAs

Logic Meaning Reference Expression

expressedAs

Abstraction

Peter Clark, Bruce Porter: Knowledge Patterns, KR (2000)Aldo Gangemi, Valentina Presutti: Ontology Design Patterns. Handbook on Ontologies 2nd ed. (2009)

10

Examples#1 Knowledge patterns

• Temporal indexing pattern – (R(a,b))+t sentence indexing

• quads, external time stamps

– R(a,b)+t relation indexing• reified n-ary relations (3D frames)

– R(a+t,b+t) individual indexing• fluents, 4D, tropes, “context slices” (4D frames)

– tR name nesting• ad hoc naming of binary relations

• More indexes for additional arguments

Alternative temporal n-ary patterns

A Multi-dimensional Comparison of Ontology Design Patterns for Representing n-ary Relations. A Gangemi, V Presutti. SOFSEM 2013: 86-105

An Empirical Perspective on Representing Time. A Scheuermann, E Motta, P Mulholland, A Gangemi and V Presutti. K-CAP 2013

Formal Unifying Standards for the Representation of Spatiotemporal Knowledge. P. Hayes, Advanced Decision Architectures Alliance, 2004

A reusable ontology for fluents in OWL. C Welty, R Fikes, S Makarios. FOIS, Springer, 2006

12

• Radiolaria are found as zooplankton since the Cambrian

• Quad• dbr:Radiolaria :foundAs dbr:Zooplankton dbr:Cambrian .

• Situation• :find_1 :theme dbr:Radiolaria ; :habitat dbr:Zooplankton ; :since

dbr:Cambrian .

• Fluent• dbr:Radiolaria_1 :foundAs dbr:Zooplankton_1 ; :since dbr:Cambrian

.

• Ad hoc naming• dbr:Radiolaria :foundAsInCambrian dbr:Zooplankton .

In LD practice

13

• Chad Smith was the drum player of Red Hot Chili Peppers when they recorded their album Stadium Arcadium from September 2004 to December 2005

• A person plays a certain role in a band during an album recording, taking place during a certain time interval

• PlaySituation(person, musicianrole, band, album, timeinterval)

– Quinary relation, needs adaptation to OWL• Methods: reification, reuse of a generic knowledge pattern, binary projections, identification constraint

n-ary relation / SituationConcretescenario

Abstractedscenario

FOLformaliza7on

14

• PlaySituation ∈ owl:Class

• PlaySituation ⊑ sit:Situation

• personPlaying ⊑ (PlaySituation ⨉ Person)

• playsRole ⊑ (PlaySituation ⨉ MusicianRole)

• inBand ⊑ (PlaySituation ⨉ Band)

• forAlbum ⊑ (PlaySituation ⨉ Album)

• recordingTime ⊑ (PlaySituation ⨉ tim:TimeInterval)

• PlaySituation hasKey[playsRole, forAlbum, inBand, recordingTime, personPlaying]

(Intensional)reifica7on

Binaryprojec7on

Iden7fica7onconstraint

KnowledgepaCernspecializa7on

n-ary relation / Situation

15

• I want to represent that a car is composed of several parts• part of – transitive property

• I also want to represent that each part can have “direct” components

• e.g. the turbine is a component of the engine

• The turbine is a component of the engine, hence it is part of the car, but not as “direct” component

Transitive Reduction

16

direct componency still inherits partonymy, but not transitivity

Direct components in a car

partOf

partOf partOf

17

• Transitive part-of

• Object vs. Event (3D+1)

• Situation

• Judgment communication

• Structure, Function, Process (GO)

• Linnaean taxonomy

• Invoicing

• Resource abundance observation

• Trajectory

• Control flow

• …

More OWL Patterns

18

Examples#2 Procedural patterns

19

Procedural patterns• Precise

– Classification – Subsumption – Inheritance – Materialization – Rule firing – Constructive query

• Approximate – Fuzzy classification – Information extraction (NER, RE) – Similarity induction (e.g. alignment) – Taxonomy induction – Relevance detection – Latent semantic indexing

• Thesaurus to SKOS • Relational DB to RDF

• WordNet RDB to OWL • XML to RDF

• FrameNet XML to RDF • Microformat to RDF • NER entities to ABox • NLP to RDF

Reasoning patterns

Alignment patterns

Reengineering patterns

20

• Partonomies or subject classifications as subsumption hierarchies• *City subClassOf Country• City subClassOf (partOf some Country)• *City subClassOf Geography• City broader Geography (e.g. in SKOS)

• Linguistic disjunction as class disjointness• Dead or alive

• *Dead or Alive• Dead disjointWith Alive

• Linguistic conjunction as class disjunction• Pen and paper

• *Pen and Paper• Pen or Paper | Collection subClassOf (hasMember some Paper ; some Pen)

A catalogue of OWL ontology antipatterns. Roussey, Corcho, Vilches-Blázquez, ACM, 2009.

A user oriented owl development environment designed to implement common patterns and minimise common

errors. Horridge, Rector, Drummond, Springer, 2004.

Anti-patterns (1/2)

21

• Causality as entailment• Kaupthing bank behavior caused Iceland crisis

• *KaupthingBankBehavior subClassOf IcelandCrisis• (since KBB “entails” IC)

• KaupthingBankBehavior isCauseOf IcelandCrisis

• Expressions as instances of the class representing their meaning• *dog(word) rdf:type Dog• dog(word) expresses Dog (with punning)

• Multiple domains or ranges of properties as intersection• *hasInflammation rdfs:domain Epithelium ; Endothelium• hasInflammation rdfs:domain (Epithelium or Endothelium)

• Collection membership as set membership• *John_Coltrane rdf:type Miles_Davis_Group

• (since JC ∈ Miles_Davis_Group)

• John_Coltrane memberOf Miles_Davis_Group

Anti-patterns (2/2)

eXtreme Design (XD)

Imagine we have to model the following

• Giovanni Sartor is the judge in the trial Berlusconi #57 that is held at Ravenna’s court during September and October 2030

23

Analyze the sentence, detect the modeling issues, and match to the CPs

• Giovanni Sartor is the judge in the trial “Berlusconi #57” that is held at Ravenna’s court during September and October 2030

• A person plays a role

24

Analyze the sentence, detect the modeling issues, and match to the CPs

• Giovanni Sartor is the judge in the trial “Berlusconi #57” that is held at Ravenna’s court during September and October 2030

• A person plays a role

25

Analyze the sentence, detect the modeling issues, and match to the CPs

• Giovanni Sartor is the judge in the trial “Berlusconi #57” that is held at Ravenna’s court during September and October 2030

• A person plays a role

26

• To represent objects and the roles they play.

Analyze the sentence, detect the modeling issues, and match to the CPs

• Giovanni Sartor is the judge in the trial “Berlusconi #57” that is held at Ravenna’s court during September and October 2030

• The execution of some procedure

27

Analyze the sentence, detect the modeling issues, and match to the CPs

• Giovanni Sartor is the judge in the trial “Berlusconi #57” that is held at Ravenna’s court during September and October 2030

• The execution of some procedure

• To distinguish procedures from their concrete executions.

28

Analyze the sentence, detect the modeling issues, and match to the CPs

• Giovanni Sartor is the judge in the trial “Berlusconi #57” that is held at Ravenna’s court during September and October 2030

• A time period

29

Analyze the sentence, detect the modeling issues, and match to the CPs

• Giovanni Sartor is the judge in the trial “Berlusconi #57” that is held at Ravenna’s court during September and October 2030

• A time period

• To represent time intervals, their start/end dates, and any dates falling into the period

30

Analyze the sentence, detect the modeling issues, and match to the CPs

• Giovanni Sartor is the judge in the trial “Berlusconi #57” that is held at Ravenna’s court during September and October 2030

• A person plays a role in a trial, held at a court during a time period

• How can we relate them together?

31

Analyze the sentence, detect the modeling issues, and match to the CPs

• Giovanni Sartor is the judge in the trial “Berlusconi #57” that is held at Ravenna’s court during September and October 2030

• A person plays a role in a trial, held at a court during a time period

• To represent a situation, a set of circumstances in a defined setting

32

33

Ontology design for roles: an exercise in

flexibility

34

• Definition: something (of a certain type) can play a role at a certain time, place, in a certain way, with something else, etc.

• Example: John Coltrane was the sax player in the Miles Davis Quintet during the recording of the Kind of Blue album (for the tracks So What, Freddie Freeloader, All Blues) for Columbia Records. Recording sessions took place at Columbia's 30th Street Studio in New York City on March 2 and April 22, 1959

• FOL: role(x,y,z,…)

• DL? OWL?

The Role Relation

35

• Role as class

• Role as individual

• Role as property

• Role as time-indexed situation (n-ary reification pattern)

• Role as trope (or qua-entity)

Role patterns

36

• role(x,y,z,…)

• →• role(x)

• John_Coltrane ∈ SaxPlayer• (additional axioms)

• John_Coltrane ∈ Person• SaxPlayer ⊑ Person• SaxPlayer ≣ Person ⨅ ∃plays.Sax

• (alt) SaxPlayer ≣ Person ⨅ ∃plays.{Sax}• Sax ⊑ Instrument || Sax ∈ Instrument

• …

Role as class

Notice the type reification, more frequently used with products, substances, etc.

37

Role as individual

• role(x,y,z,…)

• →• hasRole(x,role)

• (John_Coltrane, SaxPlayer) ∈ hasRole

• (additional axioms)

• John_Coltrane ∈ Person

• SaxPlayer ∈ Role

• SaxPlayer ∈ hasRole⁻(isRoleOf) ⨅ ∃plays.Sax

• (alt) SaxPlayer ≣ Person ⨅ ∃plays.{Sax}

• Sax ⊑ Instrument || Sax ∈ Instrument

• ∃hasRole.SaxPlayer ⊑ ∃plays.Sax

38

Pattern combination

• SaxPlayer ≣ ∃hasRole.SaxPlayer

39

Role as property

• role(x,y,z,…)

• →

• role(x,z)

• (John_Coltrane, Sax) ∈ player

• (additional axioms)

• John_Coltrane ∈ Person

• Sax ∈ Instrument

• player ⊑ Person X Instrument

Notice the type reification

40

Role as time-indexed situation• role(x,y,z,…)

• →

• situation(s) ⋀ r1(s,x) ⋀ r

2(s,y) ⋀ r

3(s,z) ⋀ r

4(s,t) ⋀ ∀s’((r

1(s’,x) ⋀ r

2(s’,y) ⋀ r

3(s’,z) ⋀ r

4(s’,t)) ↔ s = s’ )

• JohnColtraneAtKindOfBlueSessions ∈ Situation

• (JohnColtraneAtKindOfBlueSessions, John_Coltrane) ∈ r1

• (JohnColtraneAtKindOfBlueSessions, Player) ∈ r2

• (JohnColtraneAtKindOfBlueSessions, Sax) ∈ r3

• (JohnColtraneAtKindOfBlueSessions, March.2.1959) ∈ r4

• (JohnColtraneAtKindOfBlueSessions, April.22.1959) ∈ r4

• Situation ≣ ≥1r1 ⨅ ≥1r

2 ⨅ ≥1r

3 ⨅ ≥1r

4

• (additional axioms)

• John_Coltrane ∈ Person

• Player ∈ Role

• Sax ∈ Instrument

• March.2.1959 ∈ Date

Notice the relation reification Notice the

projections

Notice the key (id constraint)

41

Role as trope /qua-entity

• role(x,y,z,…)

• →• hasTrope(x,q) ⋀ hasRole(q,r) ⋀ hasInstrument(r,i)

• JohnColtraneAsSaxPlayer ∈ Trope

• (John_Coltrane, JohnColtraneAsSaxPlayer) ∈ hasTrope

• (JohnColtraneAsSaxPlayer, Player) ∈ hasRole

• (additional axioms)

• hasTrope o hasRole o hasInstrument ⊑ plays

• John_Coltrane ∈ Person

• Sax ∈ hasInstrument

• SaxPlayer ∈ Role

• Sax ∈ Instrument

Notice the property chain: rel1 o rel2 o rel3

A trope is a “slice” of an object

In principle, a trope can be used instead of a situation by adding axioms and keys to q (but has a different intensional intuition, see

slide about time-indexing patterns)

42

Experimental evidence

43

• Content patterns improve the quality of ontologies – Experiments with master and PhD students – Quality measured in terms of

• task-coverage • error-freedom • subjective perception of smooth and good design

Blomqvist E., Gangemi A., Presutti V. Experiments in Pattern-based Ontology Design, Proceedings of KCAP09, Los Angeles, ACM Press, 2009

Experimental evidence (I)

44

• eXtreme Design method further improves quality and also improves coverage of the proposed requirements– Experiment with 7 designer pairs (PhD students)

Blomqvist E., Gangemi A., Daga E., Presutti V.. Experimenting with eXtreme Design. P. Cimiano and S: Pinto (eds.): Proceedings of the Conference on Knowledge Engineering

and Knowledge Management (EKAW2010), LNCS, Springer, 2010

Experimental evidence (II)

45

• ODP-based ontology learning improves results

• Ontologies are better in terms of cohesion, consistency, functional quality, etc.

• Experiment with OntoCase applied to Text2Onto ontology learning

Eva Blomqvist, ISWC2009

Experimental evidence (III)

Paulheim, H. and Gangemi, A. Serving DBpedia with DOLCE – More than Just Adding a Cherry on Top. Proceedings of ISWC2015, the Thirteenth International Semantic Web Conference, LNCS, Springer, 2015

Experimental evidence (IV)

Pattern induction from data: centrality discovery in datasets

mo:Track

mo:MusicAr.st

mo:Playlist

mo:Torrent

mo:ED2K

tags:Tag

mo:Record

foaf:maker

rdfs:Literal

dc:6tle

dc:datemo:image

dc:descrip6on

mo:track

tags:taggedWithTag

mo:available_as

mo:available_as

mo:available_as

Extrac.ngCoreKnowledgefromLinkedData.PresuQ,Aroyoetal.,COLD2011.