Knowledge Content Objects: a grounded ontology for content management over the semantic web Aldo Gangemi Laboratory for Applied Ontology Istitute of Cognitive Sciences and Technology CNR, Rome [email protected] Ontology application: the state of play | | | | | Ontologies used for any purpose, from domain to task to application (service) modelling Ontology building easier when limited to small communities for small tasks in simple applications, and as a controlled terminology (cf. FOAF) Real world applications are more difficult: medium to large organizations and communities, complex tasks (otherwise why bothering?), not only controlled terminologies, distributed and networked communities, need to manage inconsistency, conflicts, evolution, provenance, severe integration problems Ontologies for humanities pose specific problems, due to typical problem solving (or problem dropping) procedures --- interpretation being a major challenge Just like in human cognition, we need patterns emerging out of complexity Laboratorio di Ontologia Applicata, CNR-ISTC, Roma/Trento Related projects | DOLCE and its extensions: http://dolce.semanticweb.org | | | OntoWordNet: http://www.w3.org/2001/sw/BestPractices/WNET | | | | Migration of WordNet to formal ontology Metokis: http://metokis.salzburgresearch.at | | Reusable reference ontologies, in various logical languages CIDOC2DOLCE: alignment and extension of CIDOC, ask me 6th FP project, just finished, see this presentation W3C Semantic Web Best Practices and Deployment Working Group: http://www.w3.org/2001/sw/BestPractices/ CODePs: see my ISWC2005 paper: Ontology Design Patterns for Semantic Web Content, web page with a repository asap NeOn: http://www.neon-project.org | 6th FP IP project: networked, collaborative ontologies, starts in March Laboratorio di Ontologia Applicata, CNR-ISTC, Roma/Trento How Metokis fits in the OE state of play | Application and content modelling are getting closer | | | | Abstraction step: going “outside the computational box” | | | Ontology patterns used in conceptual modelling Case tools used in ontology engineering KOS being reengineered or at least ported to semantic models Social tasks and knowledge: support for knowledge collectives Computational tasks should become a(n executable) part of a social process of knowledge elicitation, negotiation, and sharing Metokis ontologies are an attempt to fill the modelling gap between social and computational tasks and knowledge | | | | Plan Ontology IO and KCO Ontology Ontology Design Patterns Everything based on the DOLCE foundational layer Laboratorio di Ontologia Applicata, CNR-ISTC, Roma/Trento Modelli di progettazione ontologica | Design pattern:, esempi di risoluzione di problemi generati da analisi dei requisiti | | | | In architettura (Alexander): modelli di progettazione da “buoni esempi” Nel software engineering (Gamma et al.): componenti software sperimentati In ingegneria ontologia? Content Ontology Design Pattern: modelli concettuali, esempi di risoluzione di problemi generati da analisi dei requisiti | | CODeP logici: soluzioni a partire da vincoli logici CODeP concettuali: frammenti di ontologie, ricchi di relazioni e costruitii per soddisfare le necessità degli esperti/utenti di un dominio Laboratorio di Ontologia Applicata, CNR-ISTC, Roma/Trento Modularità: Stratificazione dei moduli Foundational ontology (domain-independent) {Object, Process, Part, Time, Location, Representation, Plan, …} Inherits from Core ontology (specific domain-independent) {Work of art, Painting technique, Author, Artistic period, Plastic art, Interpretation, …} Inherits from Domain ontology {Sculpture,Restoration, Mythical being, Caryatid, Doric order, Armilla, Fresco, …} Laboratorio di Ontologia Applicata, CNR-ISTC, Roma/Trento Criteri di costruzione: Sfingi Laboratorio di Ontologia Applicata, CNR-ISTC, Roma/Trento Quante (e quali) sfingi? class Greek mythical creature individual word “sphinx” instance-of statue lexicalizes lexicalizes sphinx lexicalizes Sphinx metaphorical blending lexicalizes sphinx instance-of English expressed_ according_to lexicalizes Sphinx The Sphinx interpersonal role instance-of represents refers_to “Oedipus and the Sphinx” Aegyptian mythical creature instance-of lexicalizes sphinx *refers_to represented_by subclass-of instance-of metaphorical blending symbolic figure pharaoh plays_role plays_role monument stoney object to be restored * in naïve iconography Laboratorio di Ontologia Applicata, CNR-ISTC, Roma/Trento Quali modelli di progettazione ho usato? | | | | | | | Classe Individuo, istanza_di(individuo, classe) Parola Entità, lessicalizza(parola, entità) Oggetto informativo Individuo, rappresenta(oggetto informativo, individuo) Oggetto informativo Concettualizzazione, esprime(Oggetto informativo, concettualizzazione) Oggetto Ruolo, gioca(oggetto, ruolo) Individuo@spazio1 Individuo@spazio2, fusione_metaforica(individuo@spazio1, individuo@spazio2) !!! Informalmente parlando … in realtà rappresentati in linguaggi logici computabili (KIF, OWL(DL), CL, etc.) Laboratorio di Ontologia Applicata, CNR-ISTC, Roma/Trento Cosa ci faccio? Ex: query su dati semistrutturati (ex. documenti in un Semantic Web) «tell me what works of art from ancient Egypt are related to European works of art that also involve Greek mythology in a same cultural unit» (retrieve (?x1 ?x2) (exists (?y ?z ?k) (and (creation_3 ?x1) (creation_3 ?x2) (non-physical-object ?y) (or (and (represents ?x1 ?y) (origin ?y Classical_Greece)) (exists ?w (and (non-physical-object ?w) (represents ?x1 ?w) (refers-to ?w ?y) (origin ?w Classical_Greece)))) (or (and (represents ?x2 ?y) (origin ?y Classical_Greece)) (exists ?w1 (and (non-physical-object ?w1) (represents ?x2 ?w1) (refers-to ?w1 ?y) (origin ?w1 Classical_Greece)))) (origin ?x1 EGYPTIAN_EMPIRE$EGYPT) (origin ?x2 EUROPE)))) Laboratorio di Ontologia Applicata, CNR-ISTC, Roma/Trento Altri modelli | | | | Oggetto informativo Oggetto fisico, realizzato_da(oggetto informativo, oggetto fisico) Oggetto informativo Dati concreti, codificato_da(oggetto informativo, dati concreti) Oggetto fisico Dati concreti, digitalizzato_da(oggetto fisico, dati concreti) Regolamento situazione, soddisfatto_da(regolamento, situazione) | sse: tutti o alcuni dei ruoli, compiti, parametri, etc. definiti nel regolamento hanno una corrispondenza nella situazione Laboratorio di Ontologia Applicata, CNR-ISTC, Roma/Trento Altri enigmi per le ontologie relative ai beni culturali | | | | Artefatti object-oriented e process-oriented, ex. scultura vs. musica Periodi artistici: intervalli di tempo, eventi, o descrizioni di stili? Autenticità: valutazione basata su criteri locali Interpretazione: | | | entità rappresentate vs. figure simboliche, allusioni, rimandi “intertestuali” significato implicito ed esplicito, della critica e del pubblico Metaphorical blending Laboratorio di Ontologia Applicata, CNR-ISTC, Roma/Trento Riutilizzare l’esistente! | “Magazzini” culturali | | | | Reingegnerizzazione di legacy design patterns Tassonomie e campioni materiali … Elicitazione dei modelli di razionalità degli esperti e degli utenti reali Laboratorio di Ontologia Applicata, CNR-ISTC, Roma/Trento The basic DDPO Design Pattern Laboratorio di Ontologia Applicata, CNR-ISTC, Roma/Trento Information objects: a foundation for content description and KCO [a semiotic ontology design pattern] Laboratorio di Ontologia Applicata, CNR-ISTC, Roma/Trento Formally … • • • • • • • • Class(DnS:information-object complete intersectionOf( DOLCE:social-object restriction(DnS:about allValuesFrom(DOLCE:particular)) restriction(DnS:realized-by someValuesFrom(DOLCE:information-realization)) restriction(DnS:interpreted-by allValuesFrom(Actions:agent)) restriction(DnS:expresses allValuesFrom(DnS:description)) restriction(DnS:ordered-by someValuesFrom(DnS:information-encoding-system)))) | The definition says that information objects (IO): | are ordered by some information encoding system | are realized by some particular (an “information realization”) | can express a description [and, if that description is satisfied by a situation,] | can be about that situation, or some entity in its setting | can be interpreted by agents that internally represent the description expressed by IOs Laboratorio di Ontologia Applicata, CNR-ISTC, Roma/Trento IO pattern for Dante’s Comedy Laboratorio di Ontologia Applicata, CNR-ISTC, Roma/Trento Content objects | “Content” is ambiguous. WordNet (v2.0): | | | | | In KCO ontology, COs realize information objects | | | Depicted object Sum of what is perceived, discovered, or learned What a communication that is about something is about Everything that is included in a collection MP3 file, eBook, JPEG image, QT movie, etc. Either digital (computational objects) or analog (non-digital) Therefore, COs are information realizations Laboratorio di Ontologia Applicata, CNR-ISTC, Roma/Trento Semantic facets of (paid) content objects | | | | | Content descriptions: provides the propositional content that is announced by a digital content on an abstract level. Community descriptions: information about the organisational structure (roles, rights and obligations) by which a content product can be used and information that influences trust such as certificates and brand name information. Business descriptions: describes the business and legal requirements during information and negotiation phases. After a purchase, contracts will be enforced according to mutually agreed rights and obligations. Presentation descriptions: describes the presentation modes to which the information of a content product can be adapted to by rendering and other application-specific means. Trust and Security descriptions: content must be associated with some measure of trust for the end user, and for the content provider, there must be some security features which guarantee that the content will not be illegally copied or otherwise misappropriated. Laboratorio di Ontologia Applicata, CNR-ISTC, Roma/Trento Aligning Knowledge Content Objects with a Foundational Ontology | | | | | A kind of information object in DOLCE! Are physical data structures (realize a frame - a data structure - for content objects), hence they are information realizations Generic KCO: realizes a maximally generic frame (a -unique- ontological schema) Domain-anchored KCO: specializes a generic KCO by realizing an ontological schema about the community and business elements. Furthermore, it commits its instances to a domain specific ontology which can be as broad as desired KCO Prototype (Master Copy): instantiates a domain-anchored KCO (by filling at least some of the schema slots) and contains, at a certain point in time, a particular digital content including all semantic annotations required by the corresponding domainanchored KCO KCO Instance (Copy) : it also instantiates a domain-anchored KCO, but is treated as a “copy” of a prototypical KCO, e.g. generated when a user is granted access to a content object. Depending on the contract, this copy can change over time, through alterations made by the owner. For example, somebody may buy a MIDI backing track for a pop song, in order to modify it, e.g. by adding her own voice to it, or changing some parts Laboratorio di Ontologia Applicata, CNR-ISTC, Roma/Trento KCO (master or copy layer) formalization • • • • • • • • • • • • • • • • • • • • • Class(KCO:KCO complete KCO:physical-data-structure restriction(DnS:realizes someValuesFrom(intersectionOf( KCO:data-structure restriction(KCO:instantiates someValuesFrom(intersectionOf( KCO:data-structure restriction(DnS:realized-by someValuesFrom(KCO:domain-KCO)))))))) restriction(KCO:realizes-frame-for someValuesFrom(KCO:content-object)) restriction(KCO:content someValuesFrom(DOLCE:particular)) restriction(KCO:time-based-rendition someValuesFrom(KCO:script)) restriction(KCO:interaction-based-rendition someValuesFrom(KCO:script)) restriction(KCO:usage-context someValuesFrom(DnS:plan)) restriction(KCO:user-task someValuesFrom(DnS:task)) restriction(KCO:content-user someValuesFrom(unionOf( DnS:organization Collectives:collective DnS:role))) restriction(KCO:contract-semantics someValuesFrom(CommonSenseMapping:contract)) restriction(KCO:negotiation-semantics someValuesFrom(KCO:negotiation-protocol)) restriction(KCO:pricing-semantics someValuesFrom(KCO:pricing-scheme)) restriction(KCO:trust-value someValuesFrom(KCO:trust-region)) restriction(KCO:mappable-to allValuesFrom(KCO:ForeignClass))) Laboratorio di Ontologia Applicata, CNR-ISTC, Roma/Trento Complementary axioms for KCO facets (examples) • • • • • SubClassOf( restriction(KCO:realizes-frame-for someValuesFrom( restriction(DnS:realizes someValuesFrom( restriction(DnS:about someValuesFrom(DOLCE:particular))))) restriction(KCO:content someValuesFrom(DOLCE:particular))) • • • • • SubClassOf( restriction(KCO:realizes-frame-for someValuesFrom( restriction(DnS:realizes someValuesFrom( restriction(DnS:expresses someValuesFrom(DOLCE:particular))))) restriction(KCO:content someValuesFrom(DOLCE:particular))) • • • • • EquivalentClasses( restriction(KCO:user-task someValuesFrom(DnS:task)) restriction(KCO:usage-context someValuesFrom(intersectionOf( DnS:Plan restriction(DnS:defines someValuesFrom(DnS:task))))) Laboratorio di Ontologia Applicata, CNR-ISTC, Roma/Trento Foundational Ontology is-defined-in information object realises CD: Content Description CO: Community Semantics BS: Business Semantics PR: Presentation Semantics SD: KCO Self-Description AC: Access Semantics CD CO BS KCO Structure SD PR AC Laboratorio di Ontologia Applicata, CNR-ISTC, Roma/Trento Foundational is-defined-in Ontology Domain Ontology realises CD: Content Description CO: Community Semantics BS: Business Semantics PR: Presentation Semantics SD: KCO Self-Description AC: Access Semantics information object Domain-Model CD CO BS KCO Structure SD PR AC Laboratorio di Ontologia Applicata, CNR-ISTC, Roma/Trento Foundational is-defined-in Ontology information object CD: Content Description CO: Community Semantics BS: Business Semantics PR: Presentation Semantics SD: KCO Self-Description AC: Access Semantics realises Domain Ontology Domain-Model CD CO BS KCO Structure SD PR AC Laboratorio di Ontologia Applicata, CNR-ISTC, Roma/Trento Foundational is-defined-in Ontology information object CD: Content Description CO: Community Semantics BS: Business Semantics PR: Presentation Semantics SD: KCO Self-Description AC: Access Semantics realises Domain Ontology Domain-Model CD CO BS KCO Structure SD AC Laboratorio di Ontologia Applicata, CNR-ISTC, Roma/Trento PR KCCA architecture Applications / Interaction layer GUI KCO API KCO Operations Env. API API extensions KCCA Services Business semantics KCCA Registry Domain-specific Services Community description Presentation description KCCA Manager Applic-spec. Services KCCA Propositional content ... Reasoning Services Task Services Reasoning Engine Task Execution Env. KCTP Services Ser DSer Send Rec Network Resource Integration S. V V C C W Laboratorio di Ontologia Applicata, CNR-ISTC, Roma/Trento Metokis service taxonomy Laboratorio di Ontologia Applicata, CNR-ISTC, Roma/Trento PRESENTATION LAYER APPLICATION LAYER COMMUNICATING WITH OTHER KCCA NODES Response KCTP Message HTTP Message HTTP Message Request KCTP Message KCTP Message RDF Model HTTP Sender/Receiver Servlet HTTP Message Serializer KCTP Message RDF Model HTTP Message HTTP Sender/Receiver De-Serializer KCTP Message Check/ Get / Register KCCA Service Local System Registry KCTP Router KCCA Service KCTP Message KCTP Message |_S1_| |_S2_| |_S3_|…………………...|_SN_| SERVICES CONTAINER Repository Services KCO Services Registry Services METOKIS WORLD METOKIS REPOSITORY API WRAPPER DATABASE DATABASE Components in KCCA/KCTP. KCTP Handler consists of KCTP Router, HTTP Sender Receiver, HTTP Sender Receiver Servlet, De-Serializer and Serializer. Laboratorio di Ontologia Applicata, CNR-ISTC, Roma/Trento KCO in the real World | Three layers | Content The actual content of the KCO | Human readable (e.g. contract.pdf, salzburg.jpg) | Machine readable (e.g. config.xml, rss_newsfeed.xml, ...) | Analog content (e.g. A book located at urn:room3:shelf2:loc43) | | Content Description Layer Access, format and encoding information (MM-Facet) | Provides a referable placeholder to any content or content segment | | Semantic Layer | The actual knowledge of the KCO Laboratorio di Ontologia Applicata, CNR-ISTC, Roma/Trento KCO in the real World | This layering holds for all facets | ! That means that each facet may include content, e.g.: The contract facet may include the human readable contract.pdf as content in addition to the semantic statements in the semantic layer of the facet | The propositional content facet provides a semantic description of the domain, but the current and approved XML-Document can still be used | Even the MM-Metadata facet may include a MPEG7 or Dublin Core File in addition to the semantic statements part of this facet | Laboratorio di Ontologia Applicata, CNR-ISTC, Roma/Trento KCO in the real World | Advantages of this approach | KCOs do not break existing Applications Content of the KCO provides compatibility to existing components (Even tasks provided by humans) | Newly developed XML-Standards can be used in combination with KCOs | | Seamless migration to Semantic Web Technologies It’s not necessary to provide a “complete” ontological description of the problem domain | Concentration on some key requirements is possible | Steadily improvement of the semantic description based on feedback and future requirements | Laboratorio di Ontologia Applicata, CNR-ISTC, Roma/Trento