Successfully reported this slideshow.
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,578 views

Published on

Published in: Technology, Education
  • Be the first to comment

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

×