Towards an Ontology of Knowledge Engineering


Philippe Martin

University of La Réunion
+ External collaborator of Griffith University and I3S


On deputation to the CNRS ["Délégation au CNRS"]
at the I3S (SPARKS / WIMMICS) from 1/2/2019 to 31/7/2019

www.phmartin.info/slides

Table of Contents

1. Past+Current Research Environments

2. My Research in Knowledge Engineering (KE): knowledge representations (KRs) and tools for KR sharing, integration, retrieval and "fair cooperation" → Systems: for KE With 1-author KBs and Structured documents for KE With N-author KBs with: Ontologies, Command/query languages, Protocols
3. Goal of this Deputation: KEO ("Knowledge Engineering" Ontology) especially its ontology design patterns/rules (ODPs/ODRs)  
4. Examples of Ontology Design Rule (ODR) in KEO

p. 3-4



p. 5
p. 6-8
p. 9
p. 10-16


p. 17

p. 18-29

1. Past+Current Research Environments

1993-1996: PhD thesis at the INRIA - Acacia team (→ Edelweiss, + Kewi → Wimmics)

1997: postdoc at the University of Adelaide, Australia

1998-2007, at Griffith University, Gold coast, Australia 1998-1999: Research Fellow 2000-2003: Senior Research Fellow for the DSTC 2004-2007: Senior Lecturer

1. Past+Current Research Environments

2008: Research Engineer at Eurecom (S.A.), Digital Security team

2009-now: Assoc.Prof. (HDR) at the University of La Réunion

2. My Research in Knowledge Engineering (KE)

2.1. KB Systems for KE With 1-author KBs and Structured documents

2.2. KB System for KE With N-author KBs

2.3. Ontologies

2.4. KRL notations  (KRL concrete syntaxes)

2.5. Command/query languages

2.6. Protocols for N-author-KB sharing or fair cooperation


p. 6-8


p. 9


p. 10

p. 11-13


p. 14-15

p. 16

2. My Research in Knowledge Engineering (KE)

2.1.  KB Systems for KE With 1-author KBs and Structured documents


Goal: supporting the mixing+interlinking+exploitation of KRs with other document elements (→ unlike in RDFa, the KRs are not necessarily hidden)

2. My Research in Knowledge Engineering (KE)

2.1.  KB Systems for KE With 1-author KBs and Structured documents


2. My Research in Knowledge Engineering (KE)

2.1.  KB Systems for KE With 1-author KBs and Structured documents


2. My Research in Knowledge Engineering (KE)

2.2.  KB System for KE With N-author KBs


2. My Research in Knowledge Engineering (KE)

2.3.  Ontologies   (main ones)



2. My Research in Knowledge Engineering (KE)

2.4.  KRL notations  (KRL concrete syntaxes)



2. My Research in Knowledge Engineering (KE)

2.4.  KRL notations  (KRL concrete syntaxes)  Basic OWL2-compatible Example

En: By definition, a flying_bird_with_2_wings is a bird that flies and has two wings. FE: any Flying_bird_with_2_wings is a Bird that is agent of a Flight and has for part 2 Wing. FL: Flying_bird_with_2_wings = ^(Bird agent of: a Flight, part: 2 Wing). // "^" → lambda-abstraction, ... RDF+OWL2 / Turtle: :Flying_bird_with_2_wings owl:intersectionOf (:Bird [a owl:Restriction; owl:onProperty :agent; owl:someValuesFrom :Flight] [a owl:Restriction; owl:onProperty :part; owl:qualifiedCardinality 2; owl:onClass :Wing] ). OWL2 / OWL Functional-Style: EquivalentClasses( :Flying_bird_with_2_wings ObjectIntersectionOf( :Bird ObjectSomeValuesFrom( :agent :Flight ) ObjectExactCardinality( 2 :part :Wing ) ) )

UML_model / UML_concise_notation:   

2. My Research in Knowledge Engineering (KE)

2.4.  KRL notations  (KRL concrete syntaxes)  More Complex Example

En: On March 21st 2016, John Doe believed that in 2015 and in the USA, at least 78% of adult healthy carinate birds were able to fly. FL: [ [ [ [ [at least 78% of Adult Healthy Carinate_bird can be agent of: a Flight ] place: USA ] time: 2015 ] believer: John_Doe ] time: 2016-03-21 ]. IKLmE / Turtle: [rdf:value [rdf:value [rdf:value [rdf:value [rdf:value [rdf:value [:agent_of [a :Flight] ]; pm:q_ctxt [quantifier "78to100pc"; rdf:type :Adult, :Healthy, :Carinate_bird ] ]; pm:ctxt [:modality :Physical_possibility] ]; pm:ctxt [:place :USA] ]; pm:ctxt [:time "2015"] ]; pm:ctxt [:believer :John_Doe] ]; pm:ctxt [:time 2016-03-21] ]. En: In 2016, John was a student. FL: [John type: Student] time: 2016]. IKLmE / Turtle: [rdf:value [owl:sameAs John; rdf:type :Student]; pm:ctxt [:time "2016"] ]. //or: [:id "John"; rdf:type :Student; pm:ctxt [:time "2016"] ].

2. My Research in Knowledge Engineering (KE)

2.5.  Command/query languages

2. My Research in Knowledge Engineering (KE)

2.5.  Command/query languages


2. My Research in Knowledge Engineering (KE)

2.6.  Protocols (sets of KB editing rules)
                        for N-author-KB sharing or fair cooperation


3. Goals of this Deputation


4. Examples of Ontology Design Rule (ODR) in KEO

Example of general ODR for KR organization (ODR explained in following slides) Criteria: at-least-minimal KB organization for scalable KR Sharing ODR: "each object (in the KB) must be defined as either comparable or un-comparable to any other object, at least via specialization relations" Name: Spec-comparability





Any such ODR is automatically checkable and hence can be used

4. Examples of Ontology Design Rule (ODR) in KEO


Examples of other ODRs, still for comparability and hence KR organization

4. Examples of Ontology Design Rule (ODR) in KEO

4.1. Spec-comparability – What? 4.2. Spec-comparability For Terms – How? Why?   4.3. Spec-comparability For Statements – What? Why? How?  



p. 21-22

p. 23-26
p. 27-29


Statement: set of connected relations, i.e. a logic formula, e.g. 1 relation or 1 relation with a meta-statement that contextualizes it Term: information object that is not a statement, e.g. a type or an individual that is not a statement

4.1. Spec-comparability – What?

An (information) object specializes another when it represents more information.

An object (type, statement, ...) is comparable to another (via specialization relations) if one of the 2 objects specializes the other or is equivalent to it, e.g. `O1 is subtype of O2´ or `O1 => O2´.

not comparable (in a KB) = "not known to be comparable" or "known to be un-comparable" (in a KB) An object is (at least weakly) un-comparable to another if, from what has been asserted, none of the 2 objects can specialize the other, e.g. ` not `O1 => O2´   and   not `O2 => O1´ ´ → the relation types comparable and un-comparable are exclusive, i.e. disjoint → un-comparable => different An object is strongly un-comparable to another if they are uncomparable and cannot have common specializations, e.g. `O1 has for exclusion O2´ or ` `O1 => not O2´ and `O2 => not O1´ ´

4.1. Spec-comparability – What?

Spec-comparability: from each object, there is an inferred or explicit relation to each of - its closest generalizations or equivalent objects, and - its closest uncomparable siblings in the (unique) specialization hierarchy
Spec-genus&minimal-differentia_comparability: Spec-comparability + at least 1 other "sufficient difference" wrt. each direct generalization and sibling
Spec-genus&full-differentia_comparability: Spec-comparability + at least 1 "necessary&sufficient difference" wrt. each direct generalization and sibling

Part-comparability

4.2. Spec-comparability For Terms – How? Why?

How (the easiest way): relating each type to all its equivalent types and its closest specializations via sets such as

4.2. Spec-comparability For Terms – How? Why?

How: Basic example in FL:
$ default_creator: PhM.
Thing = owl#Thing, exclusion: owl#Nothing, > p{ (Situation > p{ (Process = Perdurant) State } ) (Entity > p{ Spatial_entity (Non-spatial_entity > p{ (Attribute > e{ Characteristic Measure } ) (Non-spatial_entity_that_is_not_an_attribute > Description_content-or-instrument-or-container ) } ) } ) } p{ Type Individual } v_p{ Atomic_thing Composite_thing }.

4.2. Spec-comparability For Terms – How? Why?

Why:


4.2. Spec-comparability For Terms – How? Why?

Why:

4.3. Spec-comparability For Statements – What? Why? How?

What? Example (with "⇒" referring to the logical derivation): `at least 1 Bird `at least 50% of Bird can be agent of can be agent of a Flight´ a Flight´ `1 Bird `Tweety can be `each Bird can be agent of a Flight can be agent of that has for duration agent of a Flight´ at least 0.5 Hour´ a Flight´ # `Tweety cannot be # `Tweety is agent of a Flight that agent of a Flight´ has for duration at least 0.5 Hour´

4.3. Spec-comparability For Statements – What? Why? How?

Why?

4.3. Spec-comparability For Statements – What? Why? How?

How? Basic example of the use of "correction and/or comparability" relations between beliefs: "Birds fly" (acc. agent_1) has for specialization (acc. Agent_2) `every Bird is agent of a Flight´ that has for corrective_specialization (acc. Agent_3) `every Healthy Adult Carinate_bird can be agent of a Flight´ __[<= "birds are not constantly flying, ratites do not fly, and young/unhealthy birds may not be able to fly"].


Advantages:









Annexes

A.4.3. Spec-comparability For Statements – What? Why? How?

How? Another example of the use of specialization/correction relations between beliefs, this time fully in FL and more "argumentation structure" oriented:

"every Semantic Web KRL should at least have an XML notation" <= AND{ "XML is a standard", "the Semantic Web is for KR-based information-sharing", ("for information sharing, standard languages should be used"

corrective_specialization: "for information sharing, standard languages should be used if translators from the used language to standard languages are not readily available to applications" __[author: A2]
) }__[author: A1], <= "an XML-based notation supports the use of URIs and Unicode" __[author: A1,
<!= "most KR notations have or can easily be adapted to support the use of URIs and Unicode" __[author: A2]
].
With no other arguments/objections, the first sentence is automatically instance of Unsuccessfully-supported_phrase (→ if needed, it can be filtered out in query results).

A.4.3. Spec-comparability For Statements – What? Why? How?

"every Semantic Web KRL should at least have an XML-based notation" corrective_negation: ("a Semantic Web KRL does not need to have an XML-based notation" <= AND{ "the Semantic Web is for KR-based information-sharing", ("an XML-based notation is less adapted than (at least some) other notations for KR-based information sharing" <= AND{ "an XML-based notation is hard to read and write", ("an XML-based notation is technically not relevant for KR exploitation" <= AND{ "inference engines do not use XML data structures internally", "XML tools can hardly exploit KRs" } ) } ) } ) __[author: A2]. In the previous slide, all the arguments for the 1st sentence have been contradicted. Thus, in this slide, a correction for the 1st sentence can be given. If the arguments given for this correction are not contradicted, this correction is instance of Successfully-supported_phrase and the 1st sentence is instance of Successfully-contradicted_phrase.

A.4.3. Spec-comparability For Statements – What? Why? How?

A.4.3. Spec-comparability For Statements – What? Why? How?

A.4.2. Spec-comparability For Terms – How? Why?

What about "views"?

A.4.2. Spec-comparability For Terms – How? Why?

How – One basis for the organization of KEO: the distinction between description content/instrument/container any Description_process has for input 0..* Thing //e.g. a Situation or a Cat, as it is perceived by someone and for instrument 0..* Description_instrument //e.g. terms and a Language and for output 0..* Abstract_description_instrument //e.g. a Statement, a Function and for output 0..* Concrete_description_instrument. //e.g. a String, a Graphic any Description_instrument is description_instrument of the Thing_actually_described_by_a_description-instrument, //e.g. a mental concept of a cat has for attribute 0..* Description-instrument_attribute //e.g. High-levelness, Translatability, and is object of 0..* Storage // Well-formedness that has for output 0..* Description_container //e.g. a File that has for physical_support 1..* Physical_entity //e.g. some Paper or a Disk and is input of 0..* Information-Technology_task. Thing_actually_described_by_a_description-instrument = Description_content. any Description_content //e.g. the mental concept of a Cat has for attribute 0..* Description-content_attribute. //e.g. Concistency, Completeness wrt. ... any Information-Technology_task //e.g. accessing/exploiting KRs has for attribute 0..* IT-task_attribute //e.g. Accessibility, Security, Performance and for input 1..* Description_instrument and for instrument 1..* Description_instrument //e.g. (the Software of) a Web_server and for output 1..* Description_instrument.