Collaborative Ontology Building with Wiki@nt Preliminary Report Jie Bao and Vasant Honavar Artificial Intelligence Researc...
Outline <ul><li>Overview </li></ul>
Motivation <ul><li>Ontology construction is a  collaborative process   </li></ul><ul><ul><li>direct  cooperation  among do...
[email_address] <ul><li>Wiki : a kind of collaborative documentation writing/website building tool </li></ul><ul><li>@nt =...
Ants for ontology <ul><li>Without  SHOE  how can you be a  RACER ? </li></ul><ul><li>Without  Sesame  how can you make  OI...
Proposed Approach Wiki Engine for  Collaborative Editing Underlying Language to support modularity and reconciliation Brow...
Outline <ul><li>Overview </li></ul><ul><li>Ontology Language Extension </li></ul>
Ontology Language Extension  - to support modularity <ul><li>POWL: package-based ontology language </li></ul><ul><li>Packa...
Interface
Ontology Language Extension - to handle inconsistency <ul><li>A |= t, but {A,B} !|= t </li></ul><ul><ul><li>A: DisjointCla...
Example with P and O constructors <ul><li>Two packages </li></ul><ul><li>(2d)  defeats  the general rule (1g). </li></ul>
Outline <ul><li>Overview </li></ul><ul><li>Ontology Language Extension </li></ul><ul><li>Wiki@nt Architecture </li></ul>
[email_address] <ul><li>Using wiki to edit  OSHOQP (D) ontology.  </li></ul><ul><ul><li>An ontology module is composed of ...
<ul><li>http://boole.cs.iastate.edu:9090/wikiont </li></ul>
Architecture  – Wiki Engine <ul><li>Provides a web interface for ontology editor  </li></ul><ul><li>Translates the Wiki@nt...
Architecture  – Wiki Engine/Markup Script <ul><li>We defined a set of markup script tags as the syntax of the ontologies i...
Script Example <ul><li>; [test..AnonymousClass107|#107]</li></ul><ul><li>* [test..AnonymousClass107|107] [owl..allValuesFr...
Architecture  – Wiki Engine/Modularization <ul><li>An  ontology  could be composed by several packages, and one package co...
Architecture  – Wiki Engine/Inconsistency <ul><li>Inconsistency among modules should be resolved when integrating the modu...
Architecture  – Wiki Engine/Memory Mgmt <ul><li>While most of the popular ontology editors have in-memory model for edited...
Architecture    – Wiki Engine/Transaction Mgmt <ul><li>Wiki@nt denies the write-access of agents to a page and related pag...
Architecture  –  Agent Management <ul><li>Each participant in Wiki@nt is considered as an agent.  </li></ul><ul><li>Each a...
Architecture  – Ontology I/O <ul><li>We can export wiki pages as a single ontology file, or read an ontology file into Wik...
Outline <ul><li>Overview </li></ul><ul><li>Ontology Language Extension </li></ul><ul><li>Wiki@nt Architecture </li></ul><u...
Future work <ul><li>Better transaction management </li></ul><ul><li>What is “sufficient” local model in reasoning? For mem...
Thank you ! <ul><li>Contact: </li></ul><ul><ul><li>Jie Bao </li></ul></ul><ul><ul><li>215 Atanasoff Hall, Iowa State Unive...
Backups
@ntHill – Whole Picture Ontology Repository [email_address] P-OWL Human Expert Email list Newsgroup Forum Blog Wiki P2P no...
Upcoming SlideShare
Loading in …5
×

Collaborative Ontology Building with Wiki@nt

1,568 views

Published on

Published in: Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,568
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
21
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • My name it Jie Bao from Iowa State University, United States . I’m glad to have this opportunity to introduce wikiont, the Collaborative Ontology Building tool we have designed.
  • The first question to many of our audience is that why bother to have a new ontology editing tool since there are already many of them? The answer is simple, those existing tools still have their own limitations. First of all, by its very nature, ontology construction is a collaborative process. It involves either direction cooperation … and indirect cooperation… Thus, the whole process of ontology building, or say knowledge modeling includes two important sub-processes The first subprocess is knowledge integration… The second subprocess is knowledge reconciliation… In another word, ontology construction is more a team work other than a personal work. However, existing ontology editors … Wikiont is our tentative solution to overcome such limitations.
  • The name of Wiki@nt may look a little kind of weird. Let me have a little explanation. The first part of the name is ‘wiki’. I think most of you have used or heard of wiki. Wiki is a kind… The second part of wiki@nt actually is the sum of two words, ‘ont’ for ontology, and ‘ant’ for the little collaborative bug. So the name of Wiki@nt reveals that it is a col…
  • May this small poem better explains the idea behind Wiki@nt…
  • This is the overall architecture of [email_address] , the collaborative ontology building environment The heart of Wiki@nt is the wiki engine . A usual wiki engine supports a script language, the editing of such script language, translating from the script language to HTML, version control, page locking, page storage, navigation, and user management. In additional to those features, Wiki@nt engine also provide the translation between ontology and the script language, the composition and decomposition of ontology from/into small ‘packages’, improved transaction management, and memory management. Underlying Language used by Wiki@nt is based on an extension to OWL, with two additional constructors: O (partial order on axioms) and P (localized axioms in package). A web browser based user interface is provided, to enable users to edit the ontology on the fly. A RPC communication interface is also reserved for software agents. In general, all participants involved are called ‘agent’ and constitute an Agent Community Ontologies are saved in a set of wiki packages in the form of files or database. We use Jena to build in-memory ontology model only when it is needed, such as in query and reasoning. Usually only a partial model is dynamically loaded. The ontology could be imported from or exported to external ontology files, such as an OWL file.
  • Now let’s briefly introduce the underlying language we used. Due to limited time, I will only introduce the very basic idea of the language. You can see the unabridged version of this paper to get details. They are the reference 4 and 5 in the reference list, as technique reports of ISU Computer science department. The first extension is ‘package’. Package aims to provide a mechanism for knowledge integration. Package is … A term is defined… The constructor of package is called P.
  • Here is the summary of all constructors we used in Package-extended ontology language. Delta P is the domain of all packages. Delata I T is the domain of all names of classes, properties and instances.
  • The second extension is ‘partial order’ over axioms. Partial order is aimed to provide a mechanism for knowledge reconciliation. Inconsistencies could arose when two or more packages are brought together. For example, we know dog is a carnivore animal and plant is disjoint from animal. We model this knowledge in module A. However, we also know a sick dog may sometimes eats grass, a kind of plant. This is modeled in module B. This two modules will be inconsistent without proper reconciliation. We use defeasible logic to extend OWL. This approach is proposed by Heymans on SHOW(D) DL. And the constructor is called O. A partial order is assigned on axioms….
  • There is an example of ontology wirh P and O constructors. We have two packages. Package 1 tells us that Dog, Animal and eats are public terms in this package, Dog is a Carnivore and also a Pet. Carnivore is Animal that only eats Animal; billy is a Dog. Package 2 tells us that Plant is public in this package, Plant is disjoint to Animal in package 1. SickDog is a Dog and some of them may eat Plant. This two packages are inconsistent. However, if we define a partial order over axioms, such as 2d &gt;(stronger) than 1g, the inconsistency could be resolved.
  • With the new language in hand. We now try to use a wiki to edit the ontology. Some basic idea in designing Wiki@nt include: … .. (the three things)
  • This is the web interface of Wiki@nt. You can access it from the given URL.
  • The heart of Wiki@nt is the wiki engine. The wiki engine is an extension of standard wiki engine. It will … ..
  • Ontologies in wiki@nt is represented in a script language.
  • A ontology written is such script language are organized in this way.
  • Collaborative Ontology Building with Wiki@nt

    1. 1. Collaborative Ontology Building with Wiki@nt Preliminary Report Jie Bao and Vasant Honavar Artificial Intelligence Research Laboratory Computer Science Department Iowa State University Ames IA USA 50010 {baojie,honavar}@cs.iastate.edu
    2. 2. Outline <ul><li>Overview </li></ul>
    3. 3. Motivation <ul><li>Ontology construction is a collaborative process </li></ul><ul><ul><li>direct cooperation among domain experts, and software agents </li></ul></ul><ul><ul><li>indirect cooperation through reuse of published ontologies. </li></ul></ul><ul><li>Integration: different participants have only partial knowledge of the domain, and hence can contribute part of the ontology. </li></ul><ul><ul><li>Modularity helps! </li></ul></ul><ul><li>Reconciliation: Semantic mismatches and logical inconsistencies between independently developed ontologies are unavoidable. </li></ul><ul><li>Existing ontology editors (Protégé, OilEd…) are mostly focused on stand-alone ontology development rather than collaborative construction of ontologies. </li></ul><ul><ul><li>How about KAON, OntoEdit, WebODE, CODE ? Lack of modularity </li></ul></ul>
    4. 4. [email_address] <ul><li>Wiki : a kind of collaborative documentation writing/website building tool </li></ul><ul><li>@nt = Ont + Ant </li></ul><ul><ul><li>Ont for ontology </li></ul></ul><ul><ul><li>Ant to denote a type of collaborative agent </li></ul></ul><ul><li>[email_address] : a collaborative ontology editor with wiki </li></ul>
    5. 5. Ants for ontology <ul><li>Without SHOE how can you be a RACER ? </li></ul><ul><li>Without Sesame how can you make OIL ? </li></ul><ul><li>Semantic Web is a plan of good </li></ul><ul><li>But without ontology it’s only a nil. </li></ul><ul><li>Everyone adds a small piece of brick </li></ul><ul><li>It takes the labor of many to make the Rome real. </li></ul><ul><li>Let’s create ontology hand in hand </li></ul><ul><li>Just like ants build their hill. </li></ul>
    6. 6. Proposed Approach Wiki Engine for Collaborative Editing Underlying Language to support modularity and reconciliation Browser-based Editor Agent Community Dynamic loading of Partial Model Serialization
    7. 7. Outline <ul><li>Overview </li></ul><ul><li>Ontology Language Extension </li></ul>
    8. 8. Ontology Language Extension - to support modularity <ul><li>POWL: package-based ontology language </li></ul><ul><li>Package is an ontology module with clearly defined access interface </li></ul><ul><li>Each term is defined in a package and has its scope </li></ul><ul><ul><li>Eg: public, private </li></ul></ul><ul><li>Constructor P (Bao and Honavar 2004) </li></ul>
    9. 9. Interface
    10. 10. Ontology Language Extension - to handle inconsistency <ul><li>A |= t, but {A,B} !|= t </li></ul><ul><ul><li>A: DisjointClasses(Plant,Animal) </li></ul></ul><ul><ul><li>A: SubClassOf( Dog , Carnivore ) </li></ul></ul><ul><ul><li>A: SubClassOf( Carnivore, Animal) restriction(eats allValueFrom(Animal)) -t </li></ul></ul><ul><ul><li>B: SubClassOf( Grass , Plant ) </li></ul></ul><ul><ul><li>B:SubClassOf( SickDog, Dog) restriction(eats someValueFrom(Grass)) </li></ul></ul><ul><li>This can be resolved with defeasible axioms </li></ul><ul><ul><li>Partial orders are assigned to axioms; stronger axioms can defeat weaker axioms. </li></ul></ul><ul><li>Constructor O ( Heymans 2002) </li></ul>
    11. 11. Example with P and O constructors <ul><li>Two packages </li></ul><ul><li>(2d) defeats the general rule (1g). </li></ul>
    12. 12. Outline <ul><li>Overview </li></ul><ul><li>Ontology Language Extension </li></ul><ul><li>Wiki@nt Architecture </li></ul>
    13. 13. [email_address] <ul><li>Using wiki to edit OSHOQP (D) ontology. </li></ul><ul><ul><li>An ontology module is composed of one or more wiki pages; </li></ul></ul><ul><ul><li>Multiple users can edit the same content, with wiki version control, transaction management and memory management. </li></ul></ul><ul><ul><li>An ontology is saved into or loaded from a set of wiki pages and managed by an ontology repository. </li></ul></ul>
    14. 14. <ul><li>http://boole.cs.iastate.edu:9090/wikiont </li></ul>
    15. 15. Architecture – Wiki Engine <ul><li>Provides a web interface for ontology editor </li></ul><ul><li>Translates the Wiki@nt script to HTML code to be shown in the web browser. </li></ul><ul><li>Manages the storage of wiki pages, in plain file or database. </li></ul><ul><li>Provides version control. </li></ul><ul><li>Provides transaction management. </li></ul><ul><li>Provides memory management. </li></ul><ul><li>Compose/Decompose ontology <-> package </li></ul><ul><li>Based on JSPWiki engine </li></ul>
    16. 16. Architecture – Wiki Engine/Markup Script <ul><li>We defined a set of markup script tags as the syntax of the ontologies in Wiki@nt. </li></ul><ul><li>The syntax is an extension to OWL to support package and partial order on axioms. </li></ul><ul><li>Wiki markup script is a human readable syntax equivalent to the N-Triple syntax. Each axiom is assigned a URI </li></ul><ul><ul><li>Eg: [animal:Dog] [rdfs:subClassOf][animal:Carnivore] </li></ul></ul><ul><ul><li>Shown as </li></ul></ul><ul><li>‘ P’ and ‘O’ axioms can be presented in triple syntax. </li></ul><ul><ul><li>[term_uri] [powl:public][pkg_uri] </li></ul></ul><ul><ul><li>[uri1][wiki:stronger][uri2] </li></ul></ul>
    17. 17. Script Example <ul><li>; [test..AnonymousClass107|#107]</li></ul><ul><li>* [test..AnonymousClass107|107] [owl..allValuesFrom] [camera..BodyWithNonAdjustableShutterSpeed]</li></ul><ul><li>* [test..AnonymousClass107|107] [owl..onProperty] [camera..body]</li></ul><ul><li>* [test..AnonymousClass107|107] [rdf..type] [owl..Restriction]</li></ul><ul><li>; camera..Large-Format</li></ul><ul><li>* [camera..Large-Format] [rdf..type] [owl..Class]</li></ul><ul><li>* [camera..Large-Format] [rdfs..subClassOf] [test..AnonymousClass107|107]</li></ul><ul><li>* [camera..Large-Format] [rdfs..subClassOf] [camera..Camera]</li></ul>http://boole.cs.iastate.edu:9090/wikiont/Wiki.jsp?page=camera..Large-Format
    18. 18. Architecture – Wiki Engine/Modularization <ul><li>An ontology could be composed by several packages, and one package could be reused by multiple ontologies. </li></ul><ul><li>A package is a logic module for an ontology, usually from a single author. </li></ul><ul><li>A block is a set of related axioms inside a package, and will be physically mapped to a wiki page. </li></ul><ul><li>In Wiki@nt, we choose axiom groups as ontology blocks. Each axiom group contains triples with same subject. </li></ul><ul><ul><ul><li>For example,the axiom groups in Animal Ontology package(1) will be Dog , Carnivore , eats , and billy . </li></ul></ul></ul>Ontology Package Block/WikiPage axiom
    19. 19. Architecture – Wiki Engine/Inconsistency <ul><li>Inconsistency among modules should be resolved when integrating the modules. </li></ul><ul><li>We assume each package should be consistent. </li></ul><ul><li>A partial order can be specified on </li></ul><ul><ul><li>package level, eg. [Package1] [wiki:stronger][Package2], </li></ul></ul><ul><ul><li>axiom level, eg.[Package1:1g][wiki:stronger][Package2:2d] . </li></ul></ul><ul><li>Default defeating rules </li></ul><ul><ul><li>Local-first : a local package axiom defeats axiom from imported package </li></ul></ul><ul><ul><li>Higher-first : social order of the author, eg. administrator defeats common user </li></ul></ul>
    20. 20. Architecture – Wiki Engine/Memory Mgmt <ul><li>While most of the popular ontology editors have in-memory model for edited ontology, Wiki@nt doesn't. </li></ul><ul><ul><li>An in-memory model limits the scalability of the system </li></ul></ul><ul><ul><li>In-memory model implicitly assumes the existence of a global ontology, requires monotonicity. </li></ul></ul><ul><li>We store ontology as a set of separated, possibly distributed blocks in Wiki@nt. </li></ul><ul><ul><li>Each block is serialized to a wiki page when it's not being actively edited, and is loaded into memory only when it's needed. </li></ul></ul><ul><ul><li>A (local or remote) partial ontology model is dynamically loaded into local memory during an editing or reasoning process, from a set of pages. </li></ul></ul>
    21. 21. Architecture – Wiki Engine/Transaction Mgmt <ul><li>Wiki@nt denies the write-access of agents to a page and related pages if it is locked by some other agents. </li></ul><ul><ul><li>If a class is under editing/lock, its superclasses in the class hierarchy and its instances will be locked. </li></ul></ul><ul><ul><li>If a property is under editing/lock, its superproperties in the property hierarchy will be locked. </li></ul></ul><ul><ul><li>If a concept, property or instance is under editing/lock, all other concepts, properties or instances in the same wikipage(axiom group) will be locked. </li></ul></ul><ul><ul><li>If a package is locked, all packages that import it will be locked. </li></ul></ul><ul><li>Locking is propagated by recursively applying these rules. </li></ul>
    22. 22. Architecture – Agent Management <ul><li>Each participant in Wiki@nt is considered as an agent. </li></ul><ul><li>Each agent is assigned different privileges, such as ontology administrator and package manager. </li></ul><ul><li>An agent can become an editor of an existing ontology module or create a new module. </li></ul><ul><li>RPC interface is reserved for software agents. </li></ul>
    23. 23. Architecture – Ontology I/O <ul><li>We can export wiki pages as a single ontology file, or read an ontology file into Wiki Ontology Repository. </li></ul><ul><li>The relevant portion of an ontology is extracted or assembled from the wiki pages. </li></ul><ul><li>Each loaded ontology is assigned a unique name, eg. http://mydomain.org/animal/ </li></ul><ul><li>Reduce to standard OWL </li></ul><ul><ul><li>Package could be eliminated by adding a prefix to its axioms, eg: package1.Dog </li></ul></ul><ul><ul><li>Defeated axioms will be removed </li></ul></ul>
    24. 24. Outline <ul><li>Overview </li></ul><ul><li>Ontology Language Extension </li></ul><ul><li>Wiki@nt Architecture </li></ul><ul><li>Closing Remarks </li></ul>
    25. 25. Future work <ul><li>Better transaction management </li></ul><ul><li>What is “sufficient” local model in reasoning? For memory management </li></ul><ul><li>Better policy to assign partial order over axioms </li></ul><ul><li>Better graphic, interactive UI </li></ul><ul><ul><li>Java/Applet client </li></ul></ul><ul><ul><li>Plugins for Protégé ? </li></ul></ul><ul><li>More formal versioning representation </li></ul><ul><li>A reasoner over P+O+OWL </li></ul><ul><li>Scalability test </li></ul><ul><li>Many others…… </li></ul>
    26. 26. Thank you ! <ul><li>Contact: </li></ul><ul><ul><li>Jie Bao </li></ul></ul><ul><ul><li>215 Atanasoff Hall, Iowa State University </li></ul></ul><ul><ul><li>Ames IA 50010 USA </li></ul></ul><ul><ul><li>[email_address] </li></ul></ul><ul><ul><li>1-515-441-0491, 1-515-294-7331 </li></ul></ul><ul><ul><li>http://www.cs.iastate.edu/~baojie </li></ul></ul><ul><li>More Information: </li></ul><ul><li>Bao, Jie and Honavar, Vasant (2004) Ontology Language Extensions to Support Localized Semantics, Modular Reasoning, and Collaborative Ontology Design and Ontology Reuse . Technical Report, Computer Sicence, Iowa State University. </li></ul><ul><li>Bao, Jie and Honavar, Vasant (2004) Collaborative Ontology Building with Wiki@ nt - A multi-agent based ontology building environment . Technical Report, Computer Science, Iowa State University. </li></ul>
    27. 27. Backups
    28. 28. @ntHill – Whole Picture Ontology Repository [email_address] P-OWL Human Expert Email list Newsgroup Forum Blog Wiki P2P node Semantic RSS-aware Channel Semantic RSS-aware Channel Semantic RSS-aware Channel Agents: Ontology Mining Browser Ontology Alignment <ul><li>Version Control </li></ul><ul><li>Redundancy Check </li></ul><ul><li>Conflict Check </li></ul><ul><li>Cross Validation </li></ul>A B C D

    ×