Knowledge Engineering rediscovered:
   Towards Reasoning Patterns
       for the Semantic Web

            Frank van Harmelen, Annette ten Teije,
                    Vrije Universiteit Amsterdam
                           Holger Wache
            Univeristy of Applied Sciences Northwestern
                             Switzerland

                            Paper at
       http://www.cs.vu.nl/~frankh/postscript/KCAP09.pdf



K-CAP2009                                                  1
Knowledge Engineering rediscovered:
Towards Reasoning Patterns for the Semantic Web


  Lessons from Knowledge Engineering
      – How to build knowledge-based systems
        out of reusable components
        (CommonKADS, Generic Tasks)
      – All based on Newell’s work on
        Knowledge-level / Symbol-level reasoning



  K-CAP2009                                        2
Knowledge Engineering rediscovered:
Towards Reasoning Patterns for the Semantic Web

  • Research question:
      – Can we identify reusable patterns and
        components that can help designers and
        implementers of SW applications?
      – First step towards a methodology for building
        semantic web applications out of reusable
        components
  • Notice:
      – Existing work on reusable ontology patterns,
        but little work on reusable reasoning patterns
  K-CAP2009                                              3
Overview

•   KE best practices: CommonKADS
•   Identify Semantic Web Tasks
•   Validation of those tasks
•   Identify Inferences
•   Quasi-validation of those inferences




K-CAP2009                                  4
Knowledge Categories

    Task Knowledge
    • Goal + method
    • Decomposition
    • Control

    Inference knowledge
    • Functions
    • Roles
    • Domain mapping

    Domain Knowledge
    • Scheme
    • Knowledge
    • Facts
K-CAP2009                  5
Example of inference structure:
    Diagnosis

                   hypothesis   specify   observable




       complaint     select                 obtain




        cover      hypothesis   verify      finding




                                result


K-CAP2009                                              6
Can we identify reusable semantic web
        tasks and inferences?

  • Seven tasks, defined by:
      – Input/output types
      – Definition of functionality
      – Decomposed into inferences
  • Five inferences, defined by:
      – Input/output types
      – Definition of functionality

  K-CAP2009                           7
1. Search task (semi-formal)
Input:     query concept
Knowledge: ontology = schema + instance set
Output:    members of the instance set


• Search:          c x O → I’
• Input:          a query concept c
• Knowledge: T(O) (set of 〈ci,⊆,cj〉) and
                  I(O) (set of 〈i,∈,ck〉)
• Output:         search(c,O) =
  {〈i,∈,c〉|∃cj: 〈cj,⊆,c〉 ∈ T(O) ∧ 〈i,∈,cj〉 ∈ I(O))}
 K-CAP2009                                            8
Is this the only possible
                    definition?
• Other definitions are possible and reasonable
• Alternative:
  O |-- 〈cj,⊆, c〉 ∈ T(O) ∧ O |-- 〈i,∈,cj〉 ∈ I(O))}
• Leads to a typology of search tasks
• Helps implementers:
    – Makes choices explicit
    – Reusable components




K-CAP2009                                        9
Other Tasks
2. Browse:
    – input: a concept
    – knowledge: ontology + instance set
    – output: members of the instance set or concepts
      of the ontology
2. Data integration:
    – input: multiple ontologies with their instance sets
    – output: a single ontology and an instance set
2. Personalisation and recommending
    – input: instance set plus profile
    – knowledge: ontology
    – output: reduced instance set
K-CAP2009                                               10
Other Tasks
5. Web-service selection:
    – input: required functionality
    – Knowledge: ontology + set of instances of
      services
    – Output:
5. Web-service composition:
    – input: required functionality
    – Knowledge: ontology + set of instances of
      services
    – output: compositions of service instances
5. Semantic Enrichment:
    – input: an instance
K-CAP2009                                                 11
    – output: set of triples with the given instance as
Validation of tasks:
            how complete are the 7 tasks?

• We classified all (38) Semantic Web
  Challenge applications of 2005-2007
• 37 applications could be classified
• Often, a single application belongs to
  multiple tasks
• We found no web-service selection,
  but some web-service composition

K-CAP2009                                   12
question answering
                                                                                                                                             web-service compo
  Validation of tasks on Semantic web challenges 2005-2007




                                                                                                                                                                                              semantic enrichme
                                                                                                                   web-service selecti
                                                                          data integration


                                                                                                 Personalization
Application                                                           Use Cases




                                                             browse
                                                search
ArnetMiner (2007)                           x            x            x
Cantabria (2007)                            x            x            x
CHIP (2007)                                              x                                   x
COHSE (2006)                                x            x                                                                                                                                x
Collimator (2006)                                                                                                                                                                         x
CONFOTO (2005)                                           x                                                                                                                                x
Dartgrid (2006)                             x                         x
Dbin (2006)                                                           x                      x                                                                   ~
DORIS (2007)                                x                                                                                                                                             x
DynamicView (2005)                          x                                                                                                                                             x
EachWiki (2007)                                                                                                                                                                           x
EKOSS (2006)                                x
eMerges (2006)                                                        x
Falcon-S (2006)                             x            x
Foafing the Music (2006)                                                                     x
FungalWeb (2005)                            x                         x
Geospatial Semantic Web Services (2006)                                                                                                  x
GroupMe (2007)                                                                                                                                                                            x
iFanzy (2007)                                                         x                      x                                                                                            x
Int.ere.st (2007)                                        x
JeromeDL(2007)                                           x                                                                                                                                x
MediaWatch (2007)                           x                         x                                                                                                                   x
mle (2007)                                               x                                                                                                                                x
MultimediaN E-Culture (2006)                x            x                                                                                                                                x
Notitio.us (2007)                                        x                                                                                                                                x
Oyster (2005)                               x
Paperpuppy (2006)                                        x
Personal Publication Reader (2005)                                    x                      x                                                                                            x
Potluck (2007)                                           x            x
Revyu (2007)                                                          x                                                                                                                   x
RKB Explorer (2007)                                                   x
Semantic MediaWiki (2006)                                                                                                                                                                 x
SemClip (2007)                                                        x
      K-CAP2009
SMART (2007)                                                                                                                                                     x                        13
swse (2007)                                 x                         x
Web Services Execution Environment (2005)                                                                                                x
wwwatch (2007)                                           x            x
Five Primitive Inferences

1. Realisation:
    – Given an instance, find the concepts of
      which it is a member
    – Instance x Ontology → concept (o |-- i ∈ c)
1. Subsumption:
    – Determining whether one concept is a
      subset of another
    – C1 x C2 x Ontology → boolean
      (Ontology |-- C1 ⊆ C2)
K-CAP2009                                      14
Five primitive inferences
3. Mapping:
  – Finding correspondence relation between two concepts
  – Concept x Concept → relation
3. Retrieval:
  – Inverse of realisation: which instances belong to a
    given concept
  – Concept → instances (i ∈ c)
3. Classification:
  – Determining where a given class should be placed in a
    subsumption hierarchy
  – Concept x hierarchy → <C1,C2>
    (c1 ⊆ concept ⊆ c2)
  K-CAP2009                                               15
Decomposing Tasks in
               Basic Inferences
Example:
Search =
 Classification: locate the query
 concept in the ontology in order to find
 its direct sub- or super-concepts
 +
 Retrieval: to determine the instances of
 those sub- and super-concepts, which
 form the answers to the query.

K-CAP2009                               16
Inference structure
                 for Search


      C        Classify   Subconcepts



      T

                           Retrieve
       I


                           Instances


K-CAP2009                               17
Decomposing Tasks in
              basic Inferences (2)
Example 2:
Personalisation (eg. based on previously bought
  items) =
  Realisation: to obain the concepts that
  describe these items
  +
  Classification: to find closely related
  concepts
  +
  Retrieval: to obtain instances of such related
  concepts, since these instances might of be
  interest to the user
K-CAP2009                                      18
Inference structure
               for Personalisation


   Iprofile   realise   concepts   classify   subconcepts




    T

                                               Retrieve

  Idata



                                               Instances
K-CAP2009                                                   19
Quasi-Validation of inferences
Task types                      Primitive inference steps
                  realisation    Subsumption      mapping   retrieval
                                 &
                                 classification
search                                 x                        x
browse                 x               x                        x
Data                   x               x             x
integration
personalisation        x               x                        x
service                                x                        x
selection
Service                                x
composition
Semantic
 K-CAP2009                                                              20
enrichment
Conclusion

• First step towards a methodology for
  building semantic web applications out
  of reusable components:
  tasks and inferences
• Attempt at a knowledge level
  description of semantic web reasoning
• Enables analysis and reuse at a higher
  level of abstraction.
K-CAP2009                                  21
Next steps

• Further investigation of set of inferences
  and tasks:
    – E.g. Right level of inferences (too DL-driven?)
    – E.g. More complex task definitions
• Model real applications as inference
  structures.


K-CAP2009                                        22
Our hope is that you will...

 Iprofile   realise   concepts   classify       subconcepts   describe your
 T
                                                              application at this level
                                                 Retrieve
                                                              of abstraction!
Idata


                                                 Instances




                                            C                 Classify    Subconcepts



                                            T

                                                                           Retrieve

                                            I



K-CAP2009                                                                  Instances    23

Knowledge Engineering rediscovered, Towards Reasoning Patterns for the Semantic Web

  • 1.
    Knowledge Engineering rediscovered: Towards Reasoning Patterns for the Semantic Web Frank van Harmelen, Annette ten Teije, Vrije Universiteit Amsterdam Holger Wache Univeristy of Applied Sciences Northwestern Switzerland Paper at http://www.cs.vu.nl/~frankh/postscript/KCAP09.pdf K-CAP2009 1
  • 2.
    Knowledge Engineering rediscovered: TowardsReasoning Patterns for the Semantic Web Lessons from Knowledge Engineering – How to build knowledge-based systems out of reusable components (CommonKADS, Generic Tasks) – All based on Newell’s work on Knowledge-level / Symbol-level reasoning K-CAP2009 2
  • 3.
    Knowledge Engineering rediscovered: TowardsReasoning Patterns for the Semantic Web • Research question: – Can we identify reusable patterns and components that can help designers and implementers of SW applications? – First step towards a methodology for building semantic web applications out of reusable components • Notice: – Existing work on reusable ontology patterns, but little work on reusable reasoning patterns K-CAP2009 3
  • 4.
    Overview • KE best practices: CommonKADS • Identify Semantic Web Tasks • Validation of those tasks • Identify Inferences • Quasi-validation of those inferences K-CAP2009 4
  • 5.
    Knowledge Categories Task Knowledge • Goal + method • Decomposition • Control Inference knowledge • Functions • Roles • Domain mapping Domain Knowledge • Scheme • Knowledge • Facts K-CAP2009 5
  • 6.
    Example of inferencestructure: Diagnosis hypothesis specify observable complaint select obtain cover hypothesis verify finding result K-CAP2009 6
  • 7.
    Can we identifyreusable semantic web tasks and inferences? • Seven tasks, defined by: – Input/output types – Definition of functionality – Decomposed into inferences • Five inferences, defined by: – Input/output types – Definition of functionality K-CAP2009 7
  • 8.
    1. Search task(semi-formal) Input: query concept Knowledge: ontology = schema + instance set Output: members of the instance set • Search: c x O → I’ • Input: a query concept c • Knowledge: T(O) (set of 〈ci,⊆,cj〉) and I(O) (set of 〈i,∈,ck〉) • Output: search(c,O) = {〈i,∈,c〉|∃cj: 〈cj,⊆,c〉 ∈ T(O) ∧ 〈i,∈,cj〉 ∈ I(O))} K-CAP2009 8
  • 9.
    Is this theonly possible definition? • Other definitions are possible and reasonable • Alternative: O |-- 〈cj,⊆, c〉 ∈ T(O) ∧ O |-- 〈i,∈,cj〉 ∈ I(O))} • Leads to a typology of search tasks • Helps implementers: – Makes choices explicit – Reusable components K-CAP2009 9
  • 10.
    Other Tasks 2. Browse: – input: a concept – knowledge: ontology + instance set – output: members of the instance set or concepts of the ontology 2. Data integration: – input: multiple ontologies with their instance sets – output: a single ontology and an instance set 2. Personalisation and recommending – input: instance set plus profile – knowledge: ontology – output: reduced instance set K-CAP2009 10
  • 11.
    Other Tasks 5. Web-serviceselection: – input: required functionality – Knowledge: ontology + set of instances of services – Output: 5. Web-service composition: – input: required functionality – Knowledge: ontology + set of instances of services – output: compositions of service instances 5. Semantic Enrichment: – input: an instance K-CAP2009 11 – output: set of triples with the given instance as
  • 12.
    Validation of tasks: how complete are the 7 tasks? • We classified all (38) Semantic Web Challenge applications of 2005-2007 • 37 applications could be classified • Often, a single application belongs to multiple tasks • We found no web-service selection, but some web-service composition K-CAP2009 12
  • 13.
    question answering web-service compo Validation of tasks on Semantic web challenges 2005-2007 semantic enrichme web-service selecti data integration Personalization Application Use Cases browse search ArnetMiner (2007) x x x Cantabria (2007) x x x CHIP (2007) x x COHSE (2006) x x x Collimator (2006) x CONFOTO (2005) x x Dartgrid (2006) x x Dbin (2006) x x ~ DORIS (2007) x x DynamicView (2005) x x EachWiki (2007) x EKOSS (2006) x eMerges (2006) x Falcon-S (2006) x x Foafing the Music (2006) x FungalWeb (2005) x x Geospatial Semantic Web Services (2006) x GroupMe (2007) x iFanzy (2007) x x x Int.ere.st (2007) x JeromeDL(2007) x x MediaWatch (2007) x x x mle (2007) x x MultimediaN E-Culture (2006) x x x Notitio.us (2007) x x Oyster (2005) x Paperpuppy (2006) x Personal Publication Reader (2005) x x x Potluck (2007) x x Revyu (2007) x x RKB Explorer (2007) x Semantic MediaWiki (2006) x SemClip (2007) x K-CAP2009 SMART (2007) x 13 swse (2007) x x Web Services Execution Environment (2005) x wwwatch (2007) x x
  • 14.
    Five Primitive Inferences 1.Realisation: – Given an instance, find the concepts of which it is a member – Instance x Ontology → concept (o |-- i ∈ c) 1. Subsumption: – Determining whether one concept is a subset of another – C1 x C2 x Ontology → boolean (Ontology |-- C1 ⊆ C2) K-CAP2009 14
  • 15.
    Five primitive inferences 3.Mapping: – Finding correspondence relation between two concepts – Concept x Concept → relation 3. Retrieval: – Inverse of realisation: which instances belong to a given concept – Concept → instances (i ∈ c) 3. Classification: – Determining where a given class should be placed in a subsumption hierarchy – Concept x hierarchy → <C1,C2> (c1 ⊆ concept ⊆ c2) K-CAP2009 15
  • 16.
    Decomposing Tasks in Basic Inferences Example: Search = Classification: locate the query concept in the ontology in order to find its direct sub- or super-concepts + Retrieval: to determine the instances of those sub- and super-concepts, which form the answers to the query. K-CAP2009 16
  • 17.
    Inference structure for Search C Classify Subconcepts T Retrieve I Instances K-CAP2009 17
  • 18.
    Decomposing Tasks in basic Inferences (2) Example 2: Personalisation (eg. based on previously bought items) = Realisation: to obain the concepts that describe these items + Classification: to find closely related concepts + Retrieval: to obtain instances of such related concepts, since these instances might of be interest to the user K-CAP2009 18
  • 19.
    Inference structure for Personalisation Iprofile realise concepts classify subconcepts T Retrieve Idata Instances K-CAP2009 19
  • 20.
    Quasi-Validation of inferences Tasktypes Primitive inference steps realisation Subsumption mapping retrieval & classification search x x browse x x x Data x x x integration personalisation x x x service x x selection Service x composition Semantic K-CAP2009 20 enrichment
  • 21.
    Conclusion • First steptowards a methodology for building semantic web applications out of reusable components: tasks and inferences • Attempt at a knowledge level description of semantic web reasoning • Enables analysis and reuse at a higher level of abstraction. K-CAP2009 21
  • 22.
    Next steps • Furtherinvestigation of set of inferences and tasks: – E.g. Right level of inferences (too DL-driven?) – E.g. More complex task definitions • Model real applications as inference structures. K-CAP2009 22
  • 23.
    Our hope isthat you will... Iprofile realise concepts classify subconcepts describe your T application at this level Retrieve of abstraction! Idata Instances C Classify Subconcepts T Retrieve I K-CAP2009 Instances 23

Editor's Notes

  • #2 This paper is more an idea, then technical result.
  • #3 ‘ 90 systematic analysis of task types and corresponding problem solving methods. (Chandrasekaran) We will use the CommonKADS terminology: Newell: shift from symbol level (implementation) to the more abstract knowledge level. Abstract knowledge level is identifying generic task-types, reusable problem solving methods, reusable inference steps, Result: libraries of reusable components for knowledge based systems CommonKADS is wide common used method for this. Most of current description of SW reasoning are on the symbol level and in this paper we try to propose knowledge-level description of SW reasoning. As we know: reusability as advantages like; quality of design decrease the costs by reusing tried-and-tested design patters and component implementations Most of current description of SW reasoning are on the symbol level and in this paper we try to propose knowledge-level description of SW reasoning.
  • #4 Web has put lots of emphasis on the reusability of knowledge in the form of ontologies. This results in ontology patterns. Yesterday we had a talk about “ontology design patterns”. NOT: reasoning patterns. We try to do this. Such methodology should leads to: 1) libraries of reusable design patterns and implementations 2) also for understandig the current semantic web applications (types, and relations between them)
  • #6 First: domain knowledge, then Inference knowledge, then task. Inference knowledge the primitives for the task knowledge. Reusable components: task + inferences
  • #7 Inferences structure most important that we use for identifying reusable components
  • #8 Task and inferences are the reusable components.
  • #9 The first task that we identified is semantic search. Search: query: set of keywords (SW: query is concept description) match this concept to ontology, instance set is organised following this ontology. 
matching members are returned. Make choice of what you mean with search. There are other possibilities.
  • #11 (KORTER) Browse: also concepts returned and then repeating the same action. Difference with search: its output can be either a se of instances (as in search), or a set of concepts (that can be used for repeating the same action (thus further browsing). Again: alternative definitions like: Returning neighbourhood of the concept (sub and super concepts) Wider neighbourhood, so indirect sub and super concepts Deducing neighbourbood, (using entailment in stead of element of (=explicitly know relations) Data integration: multiple instances sets organised in their own ontologie and construct a single merge instance set organised in a single, merged terminology. Typically: - all input instances are part of the output (again different task definitions are possibe) output terminoloy consists of all the input terminologies enriched with relationsships between elements of the different ontologies, For instance using “same-as” relation. often no perfect 1-1 matching between ontologies Personalisation: typically large instance set as input. Profile can be either set of instances (previous bought items) or set of concepts (news-casting sites typically use general categories of interest, so concepts) Returning a data set based on this profile. Here again different definitions: eg. Using Profile with instances OR Profile with concepts.
  • #12 Web-service selection: searching for active components instead of static obects (text, images etc) Concept c is now a description of the functionality of a web-service. (notice relation with search) Web-service composition: more difficult then web-service selection (notice relation with search) Notice much harder, because \\elem and \\subsumption is harder to compute because now we have functionality description. Web service composition: even more difficult then web-service selection. Output is a control flow of web-services. Semantic Enrichment: This task is annotating obects (images, documents) with meta-data.
  • #13 Notice: this is more validating the task types, and not the proposed definitions (many more are possible/required). Almost all application can be classified. 37 applications classified: The single missing application (SMART 2007) can best be described as “question answering”. This is indeed a valid and reusable task. We were not able to come up with a reasonably formal definition of this task. NiET NOEMEN: Single application, multiple tasks: example Multimedian: search, browsing, enrichment Also: search and browse are often together in an application. This observation is also known from the KE. To our suprise we found no webservice selection.
  • #14 This table is in the paper.
  • #15 Tasks will be decomposed in primitive inferences. Now, I will give the primitive inferences. Primitive we mean inference that can be used for composing a task. So a task can be decomposed into primitive inferences. (CommonKADS terminology) Notice we give five basic inferences, these could be different.
  • #16 Mapping relation can be: Equivalence - subsumption - overlap - disjointness Notice: classsification and mapping can be considered as repeated subsumption checks. So these 5 basic tasks could also be chosen differently. It is more the idea of having basic inferences (not minimal set, but useful in practice) Now we have primitive inferences and tasks. I will show for two tasks how these can be decomposed into inferences.
  • #21 Classification is the iterated version of subsumption. Therefore in one column. Semantic enrichment can not be defined based on these reasoning tasks. Reason: usually in reasoning the input facts are assumed to be given, while semantic enrichement deals with constructing these input facts. EVENTUEEL OVERSLAAN
  • #23 Question Answering: input: query; knowledge: ontology + instance set + background knowledge; output: answer Vergelijk/gebruik van de kads-inferences