Home

Browser for Ontologies - Institut für Informatik

image

Contents

1. Wikipedia The Free Encyclopedia Ontology computer science Mai 2005 URL http en wikipedia org wiki Ontology 28computer science 29 Wikipedia The Free Encyclopedia Semantic web Mai 2005 URL http en wikipedia org wiki Semantic Web Jeff Heflin OWL Web Ontology Language Use Cases and Requirements February 2004 URL http www w3 org TR 2004 REC webont req 20040210 Jeff Heflin and James Hendler A Portrait of the Semantic Web in Action IEEE Intelligent Systems 16 2 54 59 2001 61 62 11 12 13 BIBLIOGRAPHY Ian Horrocks F Patel Schneider Peter and Frank van Harmelen From SHIQ and RDF to OWL The making of a web ontology language Journal of Web Seman tics 1 1 7 26 2003 ISSN 1570 8268 URL http www cs man ac uk horrocks Publications download 2003 HoPH03a pdf L McGuinness Deborah and Frank van Harmelen OWL Web Ontol ogy Language Overview February URL http www w3 org TR 2004 REC owl features 20040210 Michael K Smith Chris Welty and L McGuinness Deborah OWL Web Ontology Language Guide February 2004 URL http www w3 org TR 2004 REC owl guide 20040210
2. lt DOCTYPE rdf RDF lt IENTITY rdfs http www w3 org 2000 01 rdf schema gt lt ENTITY xsd http www w3 org 2001 XMLSchema gt lt ENTITY cartoon http www iam unibe ch spescha cartoons gt lt ENTITY owl http www w3 org 2002 07 owl gt lt ENTITY story http www iam unibe ch spescha story gt lt ENTITY rdf http www ws org 1999 02 22 rdf syntax ns gt lt rdf RDF xmlns rdf http www w3 org 1999 02 22 rdf syntax ns xmlns rdfs http www w3 org 2000 01 rdf schema 17 22 27 32 37 42 47 52 48 APPENDIX A EXAMPLE ONTOLOGIES xmlns xsd http www w3 org 2001 XMLSchemaf xmlns cartoon gt http www iam unibe ch spescha cartoons xmlns http www iam unibe ch spescha cartoons xmlns owl http www w3 org 2002 07 owl xmlns story http www iam unibe ch spescha story xml base http www iam unibe ch spescha cartoons gt lt owl Ontology gt lt Author Daria Spescha gt lt owl versionInfo gt v 1 0 lt owl versionInfo gt lt rdfs comment gt A basic ontology about cartoons lt rdfs comment gt lt owl imports rdf resource http www iam unibe ch spescha story gt lt owl Ontology gt lt Annotations gt 1 Classes gt lt owl Class rdf about Cartoon gt rdfs subClassOf rdf resource amp story Story gt lt
3. AddPropertyDialog AAA d AddPropertyDialog Q actionPerformed 6 selectProperty Figure B 1 Class Diagram for package ch unibe ontoBrowser dialogs 95 56 APPENDIX B UML DIAGRAMS xinterfaces OntoloqyChangeListener ontology Change interfaces O ResourceChangeListener B resourcelhanged 9 ResourceChangeEvent po d ResaourcechangeEvent 9 OntologyChangeEvent o ANNOTATION ADDED int o ANNOTATION REMOVED int o CLASS ADDED int o CLASS _REMOWED int a change OntologyResource o INDIVIDUAL ADDED int o INDIVIDUAL REMOVED int o PROPERTY ADDED int o PROPERTY REMOVED int o type int gd OntalagyChangeEvent df OntalagyChangeEvent Figure B 2 Class Diagram for package ch unibe ontoBrowser event 57 O org jgraph graph DefaultEdge O org jgraph graph DefaultGraphCell OntologyEdge O Vertex amp OntologyEdge df Vertex Object e OntologyEdge Object setBounds int int int int connect Vertex Vertex setBackgroundColor Color getConnectionSetForEdge ConnectionSet setBorderColor Color d ClassVertex ExtendedClassResource 9 setColor Color e setBorder Border getClassResource ExtendedClassResource e setEndArrow nt setOpaque boolean setClassResource ExtendedClassResource setBeginArrow int setEditable boolean setUserObject Object setStyle int getDefaultPort
4. a isSet boolean d OntologyGraphModel df LoopEdgeview Object insertEdge OntologyEdge 9 OntologyGraph unset removeEdge OntologyEdge O setDeltas int int O removeEdges List O layoutVertices O insertVertex Vertex graphChanged GraphModelEvent insertVertices List O insertFinished CommitEvent removeVertex Vertex setModel OntologyGraphModel clear fiter CellFilter 6 e e KE e addCommitListener CommitListener O showAlIl commitlnsert getToolTipText MouseEvent String get VisualistionFor ExtendedPropertyResource List savelmage File String refreshEdgeNamed String refresh VertexNamed String get amp xiomEdges Vertex AxiomEdge interfaces filters CellFilter hide Vertex boolean O hide OntologyEdge boolean O AxiomEdgeFilter LoopEdgeFilter AbstractCellFilter O PropertyEdgeFilter 1 eee df AxiomEdgeFilter df LoopEdgeFiter amp AbstractCelfiter OntologyGraph df PropertyEdgeFilter O hide OntologyEdge boolean hide OntologyEdge boolean hide Vertex boolean hide OntologyEdge boolean toStrina String toStrina String hide OntologyEdge boolean toStrina String hide Vertex boolean hide Vertex boolean toString String hide Vertex boolean O EdgesBetweenSelectedFilter O SelectedVerticesFilter O SelectedEdgesFilter O SelectedConnectedVerticesFilter d Ed
5. Links two properties If a P is inverse to Q and in OWL the statement P a b is defined then Q b a is inferred owl FunctionalProperty A functional property is a global cardinality constraint for a property every individ ual can be assigned at maxi mum one value with this prop erty owl InverseFunctionalProperty A inverse functional property is a global cardinality con straint for a property every individual can be reached from at maximum one subject with this property owl SymmetricProperty If P is a symmetric property and P a b is defined then P b a is inferred owl TransitiveProperty If P is a transitive property and P a b and P b c are de fined then P a c is inferred Table 2 3 OWL Syntax for Properties A good introduction to the semantic web in general and especially OWL is 1 For detailed information about OWL and the OWL syntax see the different W3C Recommen dations 12 13 2 and 9 12 CHAPTER 2 THEORETICAL BASICS RestrictionConstraint DL Lite DL Full hasValue fa Y Y Property Type Restrictions allValuesFrom VR C Y Y someValuesFrom IR C Y Y Restricted Cardinality minCardinality gt nR 0 1 maxCardinality lt nR 0 1 cardinality gt nRN lt nR 10 1 Table 2 4 Constraints for OWL Restrictions on a Property 2 3 knOWLer knOWLer is a system for processing ontolog
6. LosAngelesTimes gt ComicStripSeries rdf about CalvinAndHobbes gt lt cartoon hasEpisode rdf resource first CH gt lt story mainCharacter rdf resource Calvin gt story mainCharacter rdf resource Hobbes gt 152 story writtenBy rdf resource Watterson gt lt story hasCharacter rdf resource Moe gt cartoon appearedIn rdf resource LosAngelesTimes gt lt ComicStripSeries gt story Person rdf about Watterson gt 157 lt rdfs label gt Bill Watterson lt rdfs label gt lt story Person gt lt rdf Description rdf about Calvin gt lt rdf type rdf resource amp story Character gt lt rdf type rdf resource amp story Person gt 162 lt rdf Description gt lt rdf Description rdf about Hobbes gt lt rdf type rdf resource amp story Character gt lt rdf type rdf resource amp story Tiger gt lt story hasFriend rdf resource Calvin gt 167 lt rdf Description gt Episode rdf about firstCH gt lt cartoon episodeNo gt 1 lt cartoon episodeNo gt lt cartoon first Appearance gt 11 18 1985 lt cartoon firstAppearance gt lt rdfs comment gt The first episode of Calvin And Hobbes lt rdfs comment gt 172 lt Episode gt lt BadGuy rdf about Moe gt lt story hasEnemy rdf resource Calvin gt lt BadGuy gt lt rdf RDF gt 52 A 2 APPENDIX A EXAMPLE ONTOLOGIES Asterix amp Obelix Graphs 5
7. Port OntologyCellViewFactory setEndFil boolean O setBeginFill boolean f OntologyCellViewFactory setLabel amp longEdge boolean createVertexView Object Vertex View setLabelPosition Point createEdgeView Object EdgeView o setWidth float IndividualVertex ExtendedindividualResource amp isLoop boolean getindividualResource ExtendedindividualResource L setindividualResource ExtendedindividualResource visyalizes setUserObject Object Pd Fi O OntoEdgeView O CollapsedLoopEdge O AxiomEdge Y SUBCLASS int Y EQUIVALENT int Y DISJOINT int Y SAME AS int V DIFFERENT FROM int a type int O PropertyEdge renderer EdgeRenderer d CollapsedLoopEdge d CollapsedLoopEdge OntologyList setList OntologyList getList OntologyList addPropertyResource ExtendedPropertyResource removePropertyResource ExtendedPropertyResource setUserObject Object equals Object boolean d PropertyEdge ExtendedPropertyResource Q setPropertyResource ExtendedPropertyResource O getPropertyResource ExtendedPropertyResource equals Object boolean setUserObject Object amp OntoEdgeView Object O getHandle GraphContext CellHandle amp AxiomEdge int equals Object boolean LoopEdgeView G OntologyGraphModel a deltaX int vertices Hashtable a delta int a edges List
8. 02 22 rdf syntax ns gt lt ENTITY lt ENTITY lt ENTITY lt ENTITY owl http www w3 org 2002 07 owl lt lt ENTITY lt ENTITY lt rdf RDF xmlns rdf http www w3 org 1999 02 22 rdf syntax ns xmlns rdfs http www w3 org 2000 01 rdf schema xmlns xsd http www w3 org 2001 XMLSchema xmlns cartoon gt http www iam unibe ch spescha cartoons xmlns owl http www w3 org 2002 07 owl xmlns story http www iam unibe ch spescha story xmlns http www iam unibe ch spescha story xml base http www iam unibe ch spescha story gt lt owl Ontology gt lt Author Daria Spescha gt lt owl versionInfo gt v 1 0 lt owl versionInfo gt lt rdfs comment gt A basic ontology about stories lt rdfs comment gt lt owl Ontology gt lt Annotations gt gt Classes gt lt owl Class rdf about Story gt 45 32 3T 42 47 52 57 62 67 72 APPENDIX A EXAMPLE ONTOLOGIES lt owl Class rdf about Character gt lt owl Class rdf about Person gt lt rdfs subClassOf rdf resource Being gt lt owl Class gt lt owl Class rdf about ZLanguage gt lt owl Class rdf about Film gt rdfs subClassOf rdf resource Story gt lt owl Class gt lt owl Class rdf about Novel gt rdfs subClassOf rdf resource Story gt lt owl Class gt lt owl
9. Links two individuals States v Y that the individuals refer to the same thing ow differentFrom Links two individuals States v Y that the individuals refer to dif ferent things owl AllDifferent Requires owl distinctMembers X Y A short form for owl differentFrom to de clare that all elements listed in owl distinctMembers are pairwise disjoint Table 2 2 OWL Syntax for Individuals Axiom DL Semantic Lite DL Axiom Full owl ObjectProperty roles R Defines a property for linking v d individuals to individuals owl DatatypeProperty Defines a property for linking v Y individuals to data values owl AnnotationProperty N A Defines a new annotation for v Y owl OntologyProperty resources or ontologies rdfs subPropertyOf C Links two properties Defines v Y a hierarchy for properties OWL Syntax for Properties 2 24 OWL WEB ONTOLOGY LANGUAGE BY W3C 11 Axiom DL Axiom Semantic Lite DL Full rdfs domain Links a property with a class Restricts the domain for a property In statement with this property the subject will be inferred to be an instance of the domain rdfs range Links a property with a class Restricts the range for a prop erty In statement with this property the object will be in ferred to be an instance of the range owl equivalentProperty Links two properties owl inverse0f 2 1
10. obelix gt story gt Asterix And Obelix lt story title gt lt story translatedTo xmlns story http www iam unibe ch s lt story translatedTo xmlns storys http www iam unibe ch s lt story mainCharacter xmlns storys http www iam unibe ch lt story mainCharacter xmlns story http www iam unibe ch lt story title xmlns storys http www iam unibe ch spescha C3 Transitive lt comic hasBooklet xmlns comic http www iam unibe ch spe scha comicStrips rdf resource Asterix1 gt L Symmetric Bookletseries Functional Inverse Functional a Detail View for a Property b OWL View of a property Figure 3 2 Different views of a property To connect classes and individuals the classes of an individual are shown whenever the cursor is over the vertex The actions available for this view are described in detail in Section 1 3 4 If a graph has grown too big it is possible to hide the vertices and edges visible by different criterias For example it is possible to hide all axiom edges and show only the properties The filter to apply to the graph can be selected on top of the graph frame On pressing the button Filter the vertices and edges are filtered Several filters can be applied consecutively The hidden elements can be made visible again by the button Show AI 3 3 2 The Navigation On the left of ALOE there is the navigation panel with a tab for each resource type classes in
11. one owl onProperty and one or more constraints see 2 4 ow subClassOf Links two classes Defines a special ization or type hierarchy owl equivalentClass Different names for the same type same elements owl disjointWith ANB L Links two classes The two classes don t have common instances owl oneOf ieu 69 Class defined as enumeration of ob jects owl intersectionOf Links a class with a list of classes The class contains the elements which are in the intersection of the other classes Sa a gu RR owl unionDf Links a class with a list of classes The class contains the elements which are in either of the classes owl complementOf aC Links two classes The classes are disjoint and each element is an in stance of either of them owl Thing The universal class owl Nothing The empty class Table 2 1 OWL Syntax for Classes 10 CHAPTER 2 THEORETICAL BASICS Axiom DL Semantic Lite DL Axiom Full rdf Description individuals Defines a new individual Y Y a Classname Defines an individual as an instance of class Classname equivalents to combining rdf Description and rdf type rdf type C a Links an individuals to a class v Defines a individual as an in stance of the class Propertyname P a b Defines a statement for the prop v erty Propertyname owl sameAs
12. rdfs comment gt Cartoons are special stories they are painted lt rdfs comment gt lt owl Class gt lt owl Class rdf about CartoonSeries gt rdfs subClassOf rdf resource Cartoon gt lt owl Class gt lt owl Class rdf about ComicStripSeries gt lt rdfs subClassOf rdf resource CartoonSeries gt lt rdfs subClassOf gt lt owl Restriction gt lt owl onProperty rdf resource hasEpisode gt lt owl minCardinality rdf datatype amp xsd nonNegativelnteger gt 1 lt owl minCardinality gt lt owl Restriction gt lt rdfs subClassOf gt lt rdfs comment gt Some cartoons appear as comic strip series in newspapers like Calvin And Hobbes lt rdfs comment gt lt owl Class gt lt owl Class rdf about BookSeries gt lt rdfs subClassOf rdf resource CartoonSeries gt lt rdfs subClassOf gt lt owl Restriction gt lt owl onProperty rdf resource hasBook gt lt owl minCardinality rdf datatype amp xsd nonNegativelnteger gt 1 lt owl minCardinality gt lt owl Restriction gt lt rdfs subClassOf gt 57 62 67 72 77 82 87 92 A 1 ASTERIX amp OBELIX ONTOLOGIES 49 lt rdfs comment gt Some cartoons appear as books such as Asterix and Obelix lt rdfs comment gt lt owl Class gt lt owl Class rdf about BookEpisode gt lt rdfs subClassOf rdf resource Episode gt lt owl Class gt lt owl Class rdf about Episode gt lt
13. seeAlso isDefinedBy versioninfo Change J Done Figure 3 7 Editing a Class are always anonymous The only manipulations allowed are addition and removal of con straints When adding a constraint the dialog shown in Figure 1 8 is opened The user can select the type of the restriction and the value depending on the selection of the type E O O O Add Restriction Constraint Restriction type cardinality ES Restriction value 1 ES Ok Cancel Figure 3 8 Dialog for adding a restriction constraint 3 4 4 Editing a Property Each property should have at least one class in the domain and the range When manipu lating the domain and the range it must be taken into account that they are interpreted as the intersection of the classes and not as the union of them if there is more than one When a superproperty is being added it must be of the same type as the property currently edited In other words a DatatypeProperty cannot be the superproperty of an ObjectProperty and vice versa It is also checked whether the domain and range 22 CHAPTER 3 USER MANUAL respectively of the subproperty are in the domain and the range of the superproperty or whether they are subclasses of a class of the domain and the range If this is not the case a warning appears The restrictions of a property transitive symmetric functional and inverse functional can be switched on and off with the checkboxes If symmetric is
14. the ontology ontologies currently edited are supposed to be saved 24 CHAPTER 3 USER MANUAL 3 7 Example In this section I demonstrate the usage of ALOE by creating an example ontology step by step Therefore I want to develop an ontology about cartoons based on an ontology about stories The full OWL sources of the example ontologies can be found in Appendix A Figure 1 10 shows the classes of the ontology I want to extend translatedTo hasEnemy Figure 3 10 The ontology about stories First I want to model the fact that cartoons are a kind of stories Therefore I create a new class named Cartoon in the new namespace http www iam unibe ch spescha cartoons and add Story as superclass After inserting a comment I m done with this class As there are cartoons appearing as a series either as book like Asterix amp Obelix or as a stripe in a newspaper like Calvin and Hobbes I create CartoonSeries as a subclass of Cartoon in the same namespace and BookSeries and ComicStrip as subclasses of CartoonSeries A booklet series consists of several booklets Thus I first make a class Book Then I generate the property hasBook as an ObjectProperty In the edit mask for hasBook I add BookSeries as domain and Book as range and select it to be an inverse 3 7 EXAMPLE 25 functional property Now I create the ObjectProperty belongsToSeries with Book as domain and BookSeries as range As this is the opposite of hasBook I add
15. to save my ontology I make some annotations for the resource and define prefixes for the namespaces http www iam unibe ch spescha cartoons is the default namespace of this ontology and also the only one I want to export The resulting OWL file is available in the Appendix A 1 26 CHAPTER 3 USER MANUAL Chapter 4 Implementation This chapter describes the implementation of ALOE In a short form the libraries used in addition to knOWLer are introduced The package structure and design principles are explained as well and some examples are presented The source code is well documented with Javadoc comments More details on the implementation can be found in the generated API specification on the supplemented CD ROM 4 1 Libraries Used 4 1 1 JGraph JGraph is a Java library for graph drawing with Swing JGraph started as diploma thesis at the ETH Zurich and is available as open source under the LGPL license JGraph is pure Java and can be used in any Swing application It is designed using the Model View Controller pattern of Swing JGraph offers the ability to drag and drop export the graphs route the edges and to zoom to name just a few Furthermore the layout of the edges and vertices is fully customizable The auxiliary library JGraph Addons contains useful features like layout algorithms and different shapes for the vertices ALOE employs JGraph and JGraph Addons for the graph view of the resources JGraph is used in versio
16. ALOE A Graphical Editor for OWL Ontologies Masterarbeit der Philosophisch naturwissenschaftlichen Fakult t der Universit t Bern vorgelegt von Daria Spescha 2005 Leiter der Arbeit Prof Dr Gerhard J ger Institut f r Informatik und angewandte Mathematik Abstract Existing ontology editors are either too complex or do not offer enough functionality Thus the goal of this diploma thesis was the development of an easy to use graphical browser and editor for ontologies ALOE is an ontology editor written in Java and based on knOWLer an ontology management system It enables the user to edit ontologies in OWL format without having to change the source code This diploma thesis describes the use and development of ALOE Acknowledgements I would like to thank Professor G J ger for his supervision of my diploma thesis Special thanks also go to Dr Thomas Studer for his support and motivation Furthermore many thanks to Iulian Ciorascu and Claudia Ciorascu from the Uni versity of Neuch tel Switzerland for their support with and for the customisation and enhancements to knOWLer I like to thank Norbert Kottmann and Marco Robertini for proofreading and everyday support Finally Dm grateful to everyone who supported me Contents 1 Introduction 5 1 1 Structure of This Thesis ien eere gee er Saeed at nd 5 2 Theoretical Basics 7 24 The Semantic Web ais See RS De etie DA er de Rods Y 2 2 OWL Web Ontology
17. Class rdf about Being gt lt owl Class rdf about Animal gt lt rdfs subClassOf rdf resource Being gt lt owl Class gt lt owl Class rdf about Dog gt rdfs subClassOf rdf resource Animal gt lt owl Class gt lt owl Class rdf about Tiger gt lt rdfs subClassOf rdf resource Animal gt lt owl Class gt I Properties lt owl ObjectProperty rdf about hasFriend gt rdf type rdf resource amp owl SymmetricProperty gt lt rdfs range rdf resource Character gt lt rdfs domain rdf resource Character gt lt owl ObjectProperty gt lt owl ObjectProperty rdf about originalLanguage gt rdf type rdf resource amp owl FunctionalProperty gt lt rdfs range rdf resource Language gt lt rdfs domain rdf resource Story gt lt owl ObjectProperty gt lt owl ObjectProperty rdf about translatedTo gt lt rdfs range rdf resource Language gt lt rdfs domain rdf resource Story gt lt owl ObjectProperty gt lt owl ObjectProperty rdf about mainCharacter gt lt rdfs range rdf resource Character gt lt rdfs domain rdf resource Story gt lt rdfs subPropertyOf rdf resource hasCharacter gt lt owl ObjectProperty gt lt owl ObjectProperty rdf about writtenBy gt lt rdfs range rdf resource Person gt lt rdfs domain rdf resource Story gt lt owl ObjectProper
18. Classes P Properties Forms individuals gt Metadata SUBCLASS 4 ma CLASS EDITOR pols Y For Project amp For Class Story instance of owl Class SS E X A R Name SameAs DifferentFrom O Annotations C owl Thing Story G Property Val v Story D rdfs comment This repres Cartoon rdfs comment This represents a story Asserted Inferred PI Properties Dj Ze DI title multiple String Asserted Condition Y EJ vo 91 u NECESSARY amp SUFFICIENT NECESSARY d e Logic View Properties View AL Figure 5 1 OWL view of Prot g 5 2 SWOOP 35 5 2 SWOOP Characteristics Name SWOOP Developer MINDSWAP Research Group University of Maryland College Park License LGPL Homepage http www mindswap org 2004 SWOOP Supported Languages OWL Version 22 1 Comment SWOOP looks like a common web browser and has an intuitive user interface The application lets the user load several ontologies and switch between them Like ALOE it has a list with all resources on the left hand side but the resources are shown as a hierarchical tree SWOOP offers four different perspectives of the resources including the OWL XML Syntax and one called Concise Format The latter enables the editing of resources with add and remove buttons as well as wizards for adding a relation It is also possible to navigate from one resource t
19. Details Opens the detail view for the resource as described in 1 3 1 Show OWL Representation Shows the OWL XML preview for the resource Edit Opens the edit wizard as explained in Section 1 4 For individuals the following additional actions are available Show Classes Displays in the class graph all classes the individual is an instance of 3 4 CREATING AND EDITING RESOURCES 19 Show Related Displays all individuals related to the selected individual either by a property instance or by an axiom As classes are the most complex resources they offer the greatest number of possibilities for navigating through the ontology Show Superclasses Shows all direct superclasses in the class graph Show Subclasses Displays all direct subclasses Show All Properties Presents in the class graph all properties the selected class is in the domain or range of Show All Related Is a subsumption of the three above actions and displays also all equivalent classes Show Instances Poses all direct instances of this class in the individual graph List Instances Presents all direct instances of the selected class in a list 3 4 Creating and Editing Resources 3 4 1 Creating a Resource Resources can be created with a wizard The wizard is accessible either from the but tons in the toolbar or from the menu Edit Each resource needs a namespace and a name The user can either choose an existing namespace or type a new URI The pair nam
20. Language by W3C nenn 7 2 0 En OW DG sea xu Og SE AE EA A A a 12 3 User Manual 13 B Starten arx ute e ee en AE pos 13 adu Ee ei ie aca AE EO Ga Ta rg uxo ra VHS Sede a 13 3 1 2 Installation and Starting a2 E sad Sk dd A ee eve sek 13 AS EE KG oe SE Er MED GSE 14 3 2 an Ontology ve A acier ME dm atv ES ev HOO a 15 3 3 Browsing an Existing Ontology zia ea ante ran 15 3 3 1 Views for the Resources 15 3 3 2 The Navigation Res ee REESE Gi 16 3 3 3 Search for Resources Guia o acere ded eere diee ke FA dedo A 16 3 3 4 Navigating through the Resources Lav 18 3 4 Creating and Editing Resources ua aa far am au 19 3 4 1 Creating a Resource rl rl El En 19 Add VB ere 55 d ege SG axe ET NG a bee ag 19 3 4 3 Editing a Class ow ho Bw de B kr Se a Ee UC e ai 20 3 4 4 Editing a Property rk a ser Eo AS 21 3 45 Editing an Individual 22 3 5 Deleting Resources ae a SET E A A ae 23 BG a O ee co ou rear REOR Les 23 D Examples xeu Ela ge ee rn Se A a aso n 24 4 Implementation 27 Al Bras Used va TET jr er MER 27 Al JORD Ls RA Na eo FASEN he Del TR 2T CN NZD ct ee at St u HERE DE dies Mares SEE 27 AD DCMS M 6 07 a r e 4 3 Implementation Examples Comparison with Other Ontology Editors Bor Pro slet STAS ce SSRS ERE SS ous 52 SNOOP V u tore GAR dee Sh
21. ble to SHOE OIL and DAML OIL and is based on Description Logic It adopts and extends the XML syntax of the Resource Description Framework RDF also released as a W3C Recommendation For the design principles behind OWL read 11 d 8 CHAPTER 2 THEORETICAL BASICS OWL provides three sublanguages which are decreasingly expressive OWL Full has the maximum expressiveness However it misses guarantees for computa tional completeness and decidability One main difference to OWL DL is the ability to treat classes as individuals OWL DL provides maximal expressiveness for computational completeness and decid ability Its expressiveness corresponds to the one of Description Logic DL Due to its computational properties it is intended for reasoners The main constraint of OWL DL with respect to OWL Full is the disjointness of classes properties individuals and datatypes OWL Lite has the ability to express hierarchical information and some easy constraints For creating a vocabulary for a field OWL offers mainly three types of resources classes properties and individuals To assure uniqueness of resource identifiers each re source can be assigned a name with the attributes rdf ID or rdf about and a namespace OWL uses namespaces as identifiers for ontologies so each ontology should have one unique namespace Thus references to other ontologies and resources defined elsewhere are pos sible A class can be used as a representat
22. can handle several ontologies at the same time It is possible to load an additional ontology to the current one in order to extend it or in order to edit it in parallel Furthermore the resources which should be saved can be specified by the namespace 6 2 Further Work Finally I want to present some ideas for useful extensions to ALOE e Queries It would be useful to have an interface for composing queries and presenting the result Reasoner A reasoner explaining the inferred facts would be valuable for experienced users As mistakes are made very easily an Undo functionality would be useful At the moment the colours used for instances and classes are fixed It would be nice to be able to select these colours and set them as preferences Syntax highlighting for the OWL view would make the OWL Syntax more readable As JGraph offers many features for editing graphs it would be nice to connect re sources by dragging edges from one vertex to another one Appendices 12 17 22 27 Appendix A Example Ontologies A 1 Asterix amp Obelix Ontologies A 1 1 Story Ontology lt xml version 1 0 encoding UTF 8 lt lt DOCTYPE rdf RDF gt rdfs http www w3 org 2000 01 rdf schema gt xsd http www w3 org 2001 XMLSchemaft gt cartoon http www iam unibe ch spescha cartoons gt story http www iam unibe ch spescha story gt rdf http www w3 org 1999
23. ddition the relations between the resources are accessible in the graph view It is also possible to look at the details of several resources at the same time and compare them Graphical The graph view offers a very intuitive graphical representation of an ontology Visibility All axioms available in OWL Lite are visible in the detail view or in the OWL view All properties relations and so on can be edited in the edit mask Navigation Related resources can be displayed in the graph with different commands which let the user select the kind of relations he wants to see Furthermore the details of all related resources can be viewed in the detail view of a resource Huge Ontologies ALOE lets the user select the resources which are to be displayed in the graph view Therefore it is easy to concentrate on one part of the ontology and even huge ontologies can be handled The separation of classes and individuals prevents the graphs from getting too complex If the graph gets too big anyhow the vertices and edges can be filtered by different criteria and afterwards reshown Al 42 CHAPTER 6 CONCLUSION AND FURTHER WORK Furthermore there is a mechanism to impede that too many resources are inserted to the graph by accident see section 1 3 3 ALOE is able to handle for example the Wordnet ontology see http taurus unine ch knowler wordnet html Though it takes a while until the ontology is loaded into knOWLer Moreover ALOE
24. dividuals and properties All resources are either displayed as a list or as a tree see Figure 1 3 2 It is possible to switch between the two views with the radio button at the top of the panel A resource can be displayed in the appropriate graph cf 1 3 1 either by a double click or by a click of the right mouse button command click on mac and selecting Show in the pop up menu The pop up menu for the right click on a resource offers also the possibility to show its details or to edit it 3 3 3 Search for Resources ALOE provides the possibility to search for individuals or classes by name The resources found are shown in the respective graph The easiest way to find a resource is by typing part of the name in the text input in the toolbar selecting the type classes or individuals and 3 8 BROWSING AN EXISTING ONTOLOGY 17 000 Individuals 2 n 7 Elements Select a Filter D Elter gt gt G r i Y Properties Select a Filter Hd Show All 7 7 fr os In tra Q Slate dTo 7o translatedTo BEI quad ong e ES hasFrieng Figure 3 3 Graph view of the w6 Ontology w6 the six wh questions pressing the search button If the field is empty a dialog asks for an input Furthermore there is the Advanced Search for more sophisticated search criteria It is accessible either from the toolbar button or from the menu Nav
25. e Figure B 5 Class Diagram for package ch unibe ontoBrowser view 60 APPENDIX B UML DIAGRAMS Bibliography 1 2 Grigoris Antoniou and Frank van Harmelen A Semantic Web Primer The MIT Press 2004 ISBN 0 262 01210 3 Sean Bechhofer Frank van Harmelen Jim Hendler Ian Horrocks L McGuin ness Deborah Peter F Patel Schneider and Lynn Andrea Stein OWL Web On tology Language Reference February 2004 URL http www w3 org TR 2004 REC owl ref 20040210 Tim Berners Lee James Hendler and Ora Lassila The Semantic Web Scientific American 284 5 35 43 2001 Claudia Ciorascu Iulian Ciorascu and Kilian Stoffel knOWLer Ontological Support for Information Retrieval Systems In Proceedings of 26th Annual International ACM SIGIR 2003 Conference Workshop on Semantic Web Toronto Canada August 2003 URL http taurus unine ch knowler sigir2003 pdf Iulian Ciorascu Claudia Ciorascu and Kilian Stoffel Scalable Ontology Imple mentation Based on knOWLer In Proceedings of 2nd International Semantic Web Conference ISWC2003 Workshop on Practical and Scalable Semantic Systems Florida USA October 2003 URL http km aifb uni karlsruhe de ws psss03 proceedings stoffel et al pdf David De Roure R Jennings Nicholas and R Shadbolt Nigel The Semantic Grid A Future e Science Infrastructure In F Berman A J G Hey and G Fox editors Grid Computing pages 437 470 John Wiley 2003 ISBN 0470853190
26. e searchindividuals ERROR IE getOWLReference searchlndividuals O canBelnstanceOf getOntologyManager O getAllProperties O canBelnverse newAnonymousRestriction canBeSuperproperty O searchProperties canBeSymmetric Q Restriction O searchProperties O getRestrictionsOn getOWLRepresentation getRestrictionsond amp Restriction getClassDefinition isValidStatement numberOfRestrictions getProperty O canBeSameAs o sanesa on BD OWL Configuration O getindividual canBeDifferentFrom getRestrictionType getClassesByNamespace O gelLastExplication O getRestrictionConstraintAt a imports String Q resourceExists canBeRenamed O isValueTypeRestriction 2 comment String getlndividualsByNamespace isResourceTypeRestriction a label String getPropertiesByNamespace getRestrictionvalueAt a versioninfo String _ 9 newClass getProperty a seeAlso String newClass LiteEditManager restrictionvalue a priorversion String newAnonymousClass g restrictionType a backwardCompatiblewith String O retrieveProperties O ExtendedClient getRestrictionConstraints a incompatiblevyith String newlndividual a author String newProperty amp ExtendedClient newPropertyO d ExtendedCliert newPropertyQ newAnnotationProperty createExOntologym e 5 eExOntologyMenegerQ O Annotation gelRdfNSQ getXMLSchemaNS d Annotati
27. eal with the contents Therefore documents should be supplemented with additional mark ups containing meta information For the realization of this idea vocabularies for the meta information so called ontologies would be required An ontology is a document or file that formally defines the relations among terms 3 It is the product of an attempt to formulate an exhaustive and rigorous conceptual schema about a domain An ontology is typically a hierarchical data structure containing all the relevant entities and their relationships and rules within that domain e g a domain ontology 7 In other words an ontology formalizes the concepts of the real world and defines the core glossary of a field Webpage owners can then use this vocabulary to tag their documents In combination with given rules agents can execute reasoning tasks about the information and provide the additional knowledge to the user For a more detailed introduction to the vision of the Semantic Web see 3 and 10 2 2 OWL Web Ontology Language by W3C To be able to generate the meta tags mentioned above and the vocabularies a special language called ontology language is required At present different ontology languages exist as several institutions created their own language Among others also the W3C developed a language the Web Ontology Language OWL for which the W3C Recommendations were released in February 2004 OWL tries to be as conform as possi
28. ed Compo nents interested in those changes must implement the corresponding interface and can register as listeners to the events This mechanism is used to synchronize the different views and to keep track of the changes unibe ontoBrowser graph holds the classes used for the graph view Most of these classes are subclasses of JGraph They either extend the functionality of JGraph with convenience methods or they customize the behaviour and the layout for ALOE unibe ontoBrowser log includes the class Logger which is responsible for writing the log file It implements the singleton pattern All information which needs to be logged should be written to the log file with the help of this class unibe ontoBrowser model consists of all classes and interfaces which are responsible for modelling the OWL resources One part of the classes in this package subclass the resource classes of knOWLer They extend the functionaliy of knOWLer by adding convenience methods and some basic reasoning Furthermore it contains the interface EditManager together with an implementation EditManager defines an interface for basic validity checks for changes All methods return an integer indicating whether the change is alright alright implying additional facts or would lead to an inconsistent state ch unibe ontoBrowser test contains unit tests for some of the classes of the model OntologyTestSuite is responsible for creating the test suite with all unit te
29. ed resources are presented as a graph Therfor classes and individuals are represented as vertices properties and axioms as edges To easily distinguish between properties and axioms they are displayed in different colors the former are black and the latter grey Classes and individuals are shown in separate graph frames whereas properties can be found in both but with a different semantic If two classes are linked with a property it means that the source class is in the domain and the target class in the range of the property If two individuals are connected by a property this is a property instance that is it is a statement of the form subject predicate object 16 CHAPTER 3 USER MANUAL eoo OWL AsterixAndObelix lt BookletSeries xmlns http www iam unibe ch spescha comics trips xmlns rdf http www w3 org 1999 02 22 rdf syntax ns rdf about AsterixAndObelix gt lt story originalLanguage xmlns story http www iam unibe c h spescha story rdf resource amp story French gt lt story translatedTo xmlns story http www iam unibe ch s pescha story rdf resource amp story English gt een Property Details mainCharacter x pescha story rdf resource amp story German ID mainCharacter x i pescha storyf rdf resource Latin gt Namespace http www iam unibe ch spescha story Domains Story Ranges Character spescha story rdf resource Asterix gt spescha story rdf resource
30. electing Delete in the popup menu for a resource in the graph view If other resources depend on the resource to delete an error message is shown explaining which resources depend on it and that it cannot be deleted For example a property cannot be deleted if there is a restriction on it If the resource to delete is referenced by other resources a warning is displayed 3 6 Saving an Ontology An ontology can be saved in OWL format First a file must be chosen to write to Then a dialog for configuring the ontology header and the namespaces is displayed Values for all available annotations for an ontology can be defined Additionally the name of the author can be given It will be inserted as a comment as OWL does not provide an author annotation Furthermore a prefix for each namespace must be defined This prefix will be used as an abbreviation for the namespace as indicated in the OWL XML syntax definition Also one namespace must be chosen as the default namespace If constructs from other ontologies are referenced the namespace defining these ontologies should be imported Asa namespace usually identifies an ontology ALOE allows the export of selected namespaces Only the definitions of the resources in the selected namespace s will be saved Resources in other namespaces will just be referenced This is useful because often several ontologies will be loaded the ontology currently edited as well as the ontologies referenced but only
31. ents about identity An individual in OWL is defined like in RDF with rdf Description Relations between real world objects are modeled as properties There are two different types owl ObjectProperty relating two objects and owl DatatypeProperty assigning a data value to an object One or more classes can define domain and range of a property Like classes they can be structured hierarchically with the predicate ow1 superProperty and be equivalent to each other Additionally two properties can be the inverse of each 2 24 OWL WEB ONTOLOGY LANGUAGE BY W3C other Furthermore properties can be assigned the following attributes which are of impor tance for reasoners transitive symmetric functional and inverse functional A functional property behaves like an injective function and implies that each individual can be assigned at most one value by this property If a properterty is inverse functional individuals can have at most one source for this property After defining a property it can be instantiated as a statement of the form subject predicate object Table 2 1 2 3 and 2 2 show an overview of the available axioms their corresponding DL axioms and the informal semantic Axiom DL Axiom Semantic Lite DL Full owl Class concepts C Represents a type or concept of the real world owl Restriction see Table 2 4 Defines an anonymous class as a re striction on a Property Requires ex actly
32. espace name must be unique otherwise an error message will be displayed When creating a property it must be specified whether it is a ObjectProperty or DatatypeProperty For individuals one class must be given at creation After the new resource is created it is inserted in the graph view and an edit window opens on In addition to the three main resource types it is also possible to create annotation properties Annotation properties are used to add different annotations to resources for further information on annotation properties see 2 7 1 Annotations Annotations can only be created but neither displayed in a graph nor edited They are used when editing other resources as explained below 3 4 2 Edit The edit dialog looks similar to the detail view however it does not show all details available but all axioms editable This section describes the actions common to all resource types the type specific actions are explained individually in the following sections Every dialog has two buttons Change and Done to adopt the values changed Change reads the changes for the name and the annotations and updates the graphical view Done does the same and closes the edit dialog If the window is closed otherwise changes to the name and to the annotations will be lost To rename a resource the user can type a new name in the text field at the top of the dialog The new name must not exist in the namespace of the reso
33. gesBetweenSelectedFilter OntologyGraph d SelectedWerticesFilter OntologyGraph d SelectedEdgesFilter Ontology Graph d SelectedConnectedverticesFiter OntologyGraph hide OntologyEdge boolean hide Vertex boolean hide OntologyEdge boolean hide Vertex boolean toString String toString String toString String toString String Figure B 3 Class Diagram for package ch unibe ontoBrowser graph 58 APPENDIX B UML DIAGRAMS O ch unine kid knowler IndividualResource O ch unine kid knowler ClassResource O ch unine kid knowler PropertyResource O ExtendedPropertyResource O ExtendedClassResource O ExtendedindividualResource p d ExtendedPropertyResource d ExtendedClassResource ExtendedindividualResource subProperties O subclasses O differentFrom allSubProperties allSubclasses addDifferentFrom superProperties superclasses removeDifferentFrom O alSuperProperties allSuperclasses O sameAsl addSuperProperty subsumes addSameAs removeSuperProperty addSuperclass removeSameAs getDomains removeSuperclass getClasses addDomain O domainOf O getAllClasses removeDomain alDomainOf addClass getRanges rangeOf removeClass O getAllRanges alRangeOf getSubjects addRange getinstances hasSub
34. iew of the design and the relations between different resources Visibility All attributes available for OWL should be visible and editable Navigation Related resources should be accessible from each other Huge Ontologies The editor should be able to handle also huge ontologies in a practical manner i e also big ontologies should be presented concisely ALOE is implemented in Java and based on the Java interface of knOWLer see 2 3 Therefore it is platform independent for restrictions see 2 3 and 1 1 1 Structure of This Thesis Chapter 2 presents the basics about the Semantic Web OWL and knOWLer Chapter 1 contains the user manual with a detailed overview of the features of ALOE and an example of the creation of an ontology Chapter 4 describes the design and the most important implementation decisions A comparison with similar applications is provided 5 6 CHAPTER 1 INTRODUCTION in Chapter 5 Finally the conclusions drawn from the development of ALOE as well as some ideas for further work are presented in Chapter 6 Chapter 2 Theoretical Basics 2 1 The Semantic Web According to Wikipedia The Semantic Web is a project that intends to create a universal medium for information exchange by giving meaning semantics in a manner under standable by machines to the content of documents on the Web 8 The idea is to make computers not only present formated documents to the user but also to enable computers to d
35. igation gt Advanced Search The user can select one of four possibilities to search resources whose name start with the given characters resources having exactly the given name or having partly the given name or resources whose name match a given regular expression To keep the graph from growing too much because of big search results there is a limit on the number of resources which are inserted If more resources should be displayed a list with all found resources appears and lets the user select which resources really should be visualised This limit can be set in Navigation gt Set Maximum Insert Size 18 CHAPTER 3 USER MANUAL en d Individuals 4b Properties LI at Kx Tea x Tree 2 List CH ERC ka 2 Tree List Asterix T A 7 Asterix1 appear 4 EED authoror French ae German diis Latin E gt D Obelix lt E a List View b Tree View Figure 3 4 The Navigation Panel eno Advanced Search Search O Class Individuals rix O Normal O Starts With O Exact Match e Regular Expression Search Cancel Figure 3 5 Search Dialog 3 3 4 Navigating through the Resources A pop up menu can be invoked for each resource in the graph view to navigate from one resource to its related resources Depending on the type of the resource different actions are available The following actions are common to all types Show
36. ike disjointWith cf 2 2 are ignored If another ontology was already loaded generated it is removed from the temporary storage and changes after the last save are lost An ontology can also be loaded into the current ontology In this case the resources already loaded generated will be kept This is useful if you have an ontology where re sources from another one are referenced and you want to get the definitions of the referenced resources It can be be achieved by selecting Load Ontology Into from the menu File After an ontology is loaded the navigation tab on the left hand side cf 1 3 2 is updated During a normal load the frames containing the graphical representation are reset 3 3 Browsing an Existing Ontology 3 3 1 Views for the Resources In ALOE the user can inspect a resource in three different views graphically as a node or vertex in a graph in the detail view or as a preview of the OWL output The detail view cf Figure 1 2 a shows the details of a single resource All axioms as mentioned in 2 2 and all annotations for this resource are listed One of the main goals of ALOE is to enable users to edit ontologies without knowledge of the OWL XML syntax However it offers the OWL view for those interested in the OWL XML representation of a resource vide Figure 1 2 b The main view is the graphical view cf Figure 1 3 It shows not only single resources but the relations between them as well The select
37. ion of a concept or a type Syntactically a class is an instance of owl Class with owl being the prefix for the OWL namespace There are two predefined classes in OWL owl Thing the universal class containing all elements and owl Nothing the empty concept Furthermore a class can be defined as a restriction on a property This is a possibility to constrain the values possible for statements with instances of the restriction class as subject and the given property as predicate The limitation can either be a cardinality constraint or a type restriction cf Table 2 4 Restrictions are always anonymous that is they can not have a name Classes can be related to each other by several axioms expressing equivalence subclass hierarchy or intersection to name the most important ones These axioms are interpreted as set operators the axiom 8106188801 for example can be mapped to the subset operator C or to the inclusion operator from DL and implies that all elements of the subclass are also elements of the superclass Whereas a class represents a type an individual stands for a single object It can be an instance of one or more classes with the predicate rdf type As OWL does not support the unique names assumption two individuals can be different as well as point to the same real world object if no further information is provided Therefore the two axioms owl differentFrom and owl sameAs can be applied to individuals to make statem
38. ites need to be met Java ALOE requires a properly installed Java Runtime Environment JRE 1 4 2 knOWLer Java The Java API of knOWLer must be installed and set up correctly ac cording to the installation instructions of knOWLer Most important the environ ment variables must be set At the moment knOWLer is available for Mac OS X and Linux 3 1 2 Installation and Starting ALOE is available as a compressed archive zip or tar gz file It should be unpacked to a user defined location Hereon the folder ALOE contains the following folder structure I ALOE is pure Java and therefore runs on all platforms with JRE and knOWLer installed see 1 1 1 However at present knOWLer runs only on Mac OS X and Linux The JRE is available at http java sun com j2se 1 4 2 download html 3The knOWLer home page can be accessed at http taurus unine ch knowler 13 14 CHAPTER 3 USER MANUAL 000 Ontology Browser story owl je nigjeee 2 ep Individuals SS f i ii Tpi Aar O Tree List G Select a Filter 5 Filter sd mm rx lau 4 pra O0 EB Classes Anonymous Restriction a lements Select a Filter ES Filter Anonymous Restriction roperties f Select a Filter 3 showan O ES BacGuy Being 9 Booklet 0 BookletSeries Character 09 Comicstrips B ComicstripsSeries 9 Dog Episode OD Film Hero 0 Language 0 Novel 0 Perso
39. jectFor removeRange getAllnstances countSubjectFor O equivalentProperty addEquivalentClass O getObjects equivalentProperty removeEquivalent hasObjectFor Q addEquivalentProperty equivalentClasses countObjectFor removeEduivalertProperty 0 intersectionOf getOWLReference inverseOf adadintersection isDatatype addinverseProperty removelntersection annotate O removelnverseProperty gt removelntersection getObjectsFor Q getlnstances e 2 getSubjectsFor amp isSymmetric O isintersection gt O setSymmetric e isRestriction auf Q isTransitive e isDatatyreO setTransitive geiRestricipnQ ExtendedOntologyManager isFunctional e addRestrictidyConstraints Y SEARCH NORMAL int O isDatatypeProperty o removeRestriclienConstraintsd Y SEARCH EXACT MATCH int amp isObjectProperty removeRestrictioni onst aint Y SEARCH STARTS WITH int setFunctional annotate 77 Y SEARCH REGULAR EXPRESSION int islnverseFunctional 9 config OWL Configuration O setlnverseFunctional isDepreceted d ExtendedOntologyManager annotate getXMLElement O getAliClasses getXMLString getAllDatatypes addResourceChangeListener O retrieveClasses O EditManager removeResourceChangeListener searchClassesQ a Go getAnnotations searchClasses SF WARNING ii getAnnotationValue O getAllindividuals SF bi renam
40. m e 3 Figure A 1 Class graph of the cartoon ontology 53 A 2 ASTERIX amp OBELIX GRAPHS translatedTo fansla edTo episodeNo Figure A 2 Individual graph for Asterix and Obelix 54 APPENDIX A EXAMPLE ONTOLOGIES Figure A 3 Individual graph for Calvin and Hobbes Appendix B UML Diagrams This appendix presents UML diagrams of the important classes by package CreateResourceDialog d CreateResourceDialog dialogTitle Q actionPerformed Q CreateAnnotationDialog PEN df CreateAnnotationDialog O AddClassDialog 7 amp AddClassDialog AddClassDialog Q actionPerformed getSelectedClass e selectClass e selectNamedClass amp selectDatatype CreateClassDialog d CreateClassDialog Q AddRestrictionConstraintDialog e AddRestrictionConstraintDialog actionPerformed e createRestriction itemStateChanged CreatePropertyDialog AAA d CreatePropertyDialog SaveOntologyDialog s exportNs String d SaveOntologyDialog Q actionPerformed OWLSettingsDialog HA OWLSettingsDialog O actionPerformed Q CreatelndividualDialog IN d CreatelndividualDialog O AddStatementDialog De amp AddStatementDialog actionPerformed amp createStatement itemStateChanged Q AddindividualDialog De IN d AddindividualDialog Q actionPerformed selectindividual
41. me d EE Ud WEDER HE aa bk Sas be poer eed ICE qoin a TT Conclusion and Further Work GT Gonel sion ven g e lan 6 2 Further Work aa Appendices A B Example Ontologies A 1 Asterix amp Obelix Ontologies ALL Story Ontology sata an SO s A 1 2 Cartoon Ontology I reed A 2 Asterix Obelix Graphs Ed edu God area UML Diagrams Bibliography CONTENTS 33 ee 33 EM RB tate Sate 35 EE 35 6 EET 36 A1 RO Be fl 41 44 ee DRR ER 42 45 45 Peu S egre EEN 45 Cho de socie de ig 45 Up qd es ra N ie 47 Ae ER n 5 8 52 55 60 Chapter 1 Introduction For my diploma thesis I developed ALOE a browser and editor for ontologies in OWL format There exist already some ontology editors like Prot g or OntoEdit however all of them offer either not enough possibilities or too many the advantages and weaknesses of some of these editors are presented in detail in Chapter 5 Thus the main goal of the diploma thesis was the development of an easy to use editor satisfying the following requirements Ease of use The application should be useable for users with a basic knowledge about ontologies and OWL in general but without profound knowledge General Overview It should be possible to obtain an overview of existing ontologies with little effort Graphical The ontology should be graphically represented to get an overv
42. n story StripeSeries 0 Tiger Figure 3 1 Main view of ALOE on Mac OS X aloe jar the actual application doc the documentation including this document and the Javadocs examples the examples used in Section 1 7 icons the icons used by ALOE lib additional jar libraries log folder for the log file setup sh setup script src Java source files The script setup sh configures ALOE and it should be executed in a shell The ap plication can now be started by executing aloe or directly with java jar aloe jar After starting the ALOE the main view see Figure 1 1 opens with an empty ontology and is ready to use If the installation directory of knOWLer is changed setup sh needs to be executed again 3 13 Mac OS X For Mac OS X ALOE is also available as a bundled application To install it the archive needs to be extracted and the following commands have to be executed in a shell 3 2 LOADING AN ONTOLOGY 15 cd ALDE macOSX setup The created ALOE app can now be dragged to any folder and started with a double click If the installation directory of knOW Ler is changed ALOE also needs to be installed again 3 2 Loading an Ontology An existing ontology can either be loaded with the open button in the toolbar or through the menu File The file must be a valid OWL document It can contain all elements of OWL Full but only the elements conforming to OWL Lite will be handled and additional axioms l
43. n 5 X and JGraph Addons in version 1 0 7 4 1 2 JDOM JDOM is a Java library for manipulating XML data in Java It permits the user to treat XML elements as Java objects and therefore makes it easy to manipulate them It supports namespace declarations which is very important for OWL Furthermore it provides the functionality to print XML data in a customizable form Inttp www jgraph com JGraph Addons was lately replaced by a commercial library and will not be developped further http www jdom org 27 28 CHAPTER 4 IMPLEMENTATION ALOE uses JDOM for saving an ontology in OWL XML format JDOM version 1 0 is used 4 2 Design The implementation of ALOE consists of the following packages cf also Figure 4 1 ch unibe ontoBrowser contains the main class starting the application and the controller ch ch ch ch ch responsible for the visualisation of the model The controller also passes actions from the view to the model unibe ontoBrowser dialogs includes all dialogs used for creating resources adding relations and saving an ontology All dialogs are subclasses of javax swing JDialog unibe ontoBrowser event contains the classes and interfaces used for events which are used for the communication between the model and the view The model throws events whenever changes are made This is the case whenever the ontology is changed by adding or deleting a resource or whenever a single resource is modifi
44. ntologies On the left hand side it has a list of resources for each resource type like ALOE Classes are listed in a hierarchical tree This is convenient for a first overview of the hierarchy but it is confusing if a class has more than Latest version June 2005 33 34 CHAPTER 5 COMPARISON WITH OTHER ONTOLOGY EDITORS one superclass The edit masks for the resources offer many features and it is possible to edit all axioms available from OWL Full However it lacks uniformity as not all axioms are treated the same way In the edit mask for classes it is not clear which are the superclasses because they are not listed explicitly If an existing ontology is loaded Prot g opens the general view and not the OWL specific one and it is not possible to switch the perspective In the general view some elements are named differently for example properties are called slots which is confusing Unlike ALOE it is not possible to load several ontologies at the same time Furthermore Prot g does not support the use of multiple namespaces Prot g is suitable for advanced users as profound knowledge about ontologies is re quired and knowledge of description logics is recommended because a lot of images used are taken from logics notation Though it does not provide an intuitive user interface for inexperienced users din 600 smee 06630 File Edit Project OWL Wizards Code Window Help 058 2 ee AA BB m s EJ OWL
45. o the detail view of its related resources In contrast to ALOE it is not possible to look at different resources at the same time SWOOP also lacks a graphical representation 5 3 SWeDE Characteristics Name SWeDE Semantic Web Development Environment Developer BBN Technologies License Freeware Homepage http owl eclipse projects semwebcentral org Supported Languages OWL Current version 2 0 0 Comment Requires Eclipse SWeDE is available as a plug in for Eclipse 3 0 It offers an editor for the OWL XML syntax with syntax highlighting and auto completion as well as an editor for restrictions Furthermore it has a validator which does not seem to work properly and does not provide very informative error messages SWeDE is a good editor for editing OWL files directly though 36 CHAPTER 5 COMPARISON WITH OTHER ONTOLOGY EDITORS anna SWOOP v2 2 1 a File View Bookmarks Resource Holder Advanced About C 4 7 a Address http wwew w3 org 2001 sw WebOnt quide src food ConsumableThing iv G a Ontology List Z 7 Show Inherited Changes Annotations Y Editable food wine CondseFormat Abstract Syntax RDF XML Turtle C Ed Imported OWL Class food ConsumableThing See its definition in Imported Ontology food 2 Y nad add Ell Add D Remove Rename V Show Imports V QNames No Reasoner Clas
46. oading several ontologies Editing Support Individuals Individual identity Classes Subclass Intersection Restriction Equivalent classes Properties Subproperty Domain and Range Equivalent properties Rename resources User defined annotations Save selected ontology OQ a do VEE EA EE SA S SIS MS D Op EK nen N SS SS D gt gt gt gt gt gt YR 5 5 5 5 5 5 5 5 5 5 5 gt Table 5 1 Comparison of Ontology Editors KE HE HEE HEHE gt a gt gt 5 SIS SS 39 40 CHAPTER 5 COMPARISON WITH OTHER ONTOLOGY EDITORS Chapter 6 Conclusion and Further Work 6 1 Conclusion Based on the requirements for ALOE and the previous chapters this section explains in short terms how ALOE achieves this criteria and why it complies better with the require ments than other ontology editors Ease of use As all changes are done in edit masks and dialogues it is easy for users without any knowledge about the OWL syntax to edit or create an ontology Fur thermore the user interface is intuitive as all main actions are available in the toolbars and navigation through the ontology is possible with a right click on the resources General Overview The navigation tab on the left hand side offers a fast overview of the existing resources To avoid too much scrolling the resources can also be listed alphabetically sorted by the first letter of their name In a
47. on getRdfNSId getVelueQ getRdfsNSO O setvalue getRdfsNSld O getProperty getOwINS O setProperty getOwINSId getSubject getOWLThing e setSubject getEditManager O getAnnotationvalue namespaces getNamespace setNamespace O getAnnatationsByNamespace 0 load deleteResource Figure B 4 Class Diagram for package ch unibe ontoBrowser model 59 of CLASS ACTIVE int 5 CLASSES NAVIGATION int of INDIVIDUAL ACTIVE int o INDIVIDUALS NAVIGATION int navigation o PROPERTY NAVIGATION int OWLFrame d OBrowser EE EE o5 MAXIMUM LIST SIZE int O showErrorMessage d OWLFrame showlnformationMessage d NavigationPanel reset O setOntologyManager loadNavigationBar o ontology Change addFrame setClassGraph setlndividualGraph o setStatusMessage getController i A eund OntoGraphFrame d ListFrameO getPopupMenuGenerator d ListFrame setlndividualsActive graphs O setList setClassesActive get amp ctive getDesktopPane O resourceChanged Q dispose d OntoGraphFrame d OntoGraphFrame getoraph setGraph clear Q IndividualDetailFrame PropertyDetailsFrame ClassDetailFrame d IndividualDetailFrame d PropertyDetailsFrame d ClassDetailFrame o update Q IndividualEditFrame Q PropertyEditFrame Q ClassEditFrame Pp df IndividualEditFrame df PropertyEditFrame ClassEditFram
48. owl Class rdf about Hero gt lt rdfs subClassOf rdf resource amp story Character gt lt owl Class gt lt owl Class rdf about BadGuy gt lt rdfs subClassOf rdf resource amp story Character gt lt owl Class gt lt owl Class rdf about newspaper gt I Properties owl ObjectProperty rdf about hasEpisode gt lt rdf type rdf resource amp owl InverseFunctionalProperty gt lt rdfs range rdf resource Episode gt lt rdfs domain rdf resource CartoonSeries gt lt owl ObjectProperty gt lt owl ObjectProperty rdf about hasBook gt rdf type rdf resource amp owl InverseFunctionalProperty gt lt rdfs range rdf resource BookEpisode gt lt rdfs domain rdf resource BookSeries gt lt owl ObjectProperty gt lt owl DatatypeProperty rdf about title gt lt owl DatatypeProperty rdf about isbn gt rdf type rdf resource amp owl FunctionalProperty gt lt rdfs range rdf resource amp xsd string gt lt rdfs domain rdf resource BookEpisode gt lt owl DatatypeProperty gt owl ObjectProperty rdf about belongsToSeries gt rdf type rdf resource amp owl FunctionalProperty gt lt rdfs range rdf resource CartoonSeries gt lt rdfs domain rdf resource Episode gt lt owl inverseOf rdf resource hasEpisode gt lt owl inverseOf rdf resource hasBook gt lt owl ObjectPrope
49. r the most important classes explaining the design of the packages 4 3 Implementation Examples This section contains the interface EditManager package ch unibe ontoBrowser model import ch unine kid knowler OntologyResource import ch unine kid knowler RestrictionConstraint 30 CHAPTER 4 IMPLEMENTATION 10 x An edit manager is responsible for checking the validity of a statement lt code gt EditManager lt code gt defines the minimal requirements for the kind of statements which needed to be checked Implementing classes can especially vary in the warning level lt br gt Each Method can return one of the following states lt ul gt lt li gt lt code gt EditManager Ok lt code gt if everything is ok lt li gt lt code gt EditManager WARNING lt code gt if the user should be warned that after this change additional knowledge will be inferred lt li gt lt code gt EditManager ERROR lt code gt if the change would cause an invalid state for the ontology lt ul gt If lt code gt ERROR lt code gt or lt code gt WARNING code gt was returned an explication of the 25 x problem should be accessible by calling lt code gt getLastExplication lt code gt author Daria Spescha public interface EditManager 15 lt gt X X X X X X 20 30 public static int OK 0 public static int WARNING 1 public static int ERROR 2 35 x Checks whether an individual can be an ins
50. return an array with the constraints found public RestrictionConstraint getRestrictionsOn ExtendedClassResource classRes ExtendedPropertyResource property Collects all restriction constraints the individual has on the given property x param individual the individual to collect its constraints x param property the property for the onProperty part return an array with the constraints found public RestrictionConstraint getRestrictionsOn ExtendedIndividualResource individual ExtendedPropertyResource property 85 90 95 100 105 110 32 CHAPTER 4 IMPLEMENTATION x Checks if the statement lt code gt subject predicate object lt code gt x is a valid statement x return See 1 linkplain EditManager above for the possible return values public int isValidStatement ExtendedIndividualResource subject ExtendedPropertyResource predicate ExtendedIndividualResource object x Tests whether the given individuals can 06 8 x return See 1 linkplain EditManager above for the possible return values public int canBeSameAs ExtendedIndividualResource resl ExtendedIndividualResource res2 CH Tests whether the given individuals can be defined to be differentFrom each other x return See 1 linkplain EditManager above for the possible return values public int canBeDifferentFrom ExtendedIndividualResource resl ExtendedIndividualRe
51. rty gt lt owl DatatypeProperty rdf about episodeTitle gt rdf type rdf resource amp owl FunctionalProperty gt lt rdfs range rdf resource amp xsd string gt rdfs domain rdf resource Episode gt lt owl DatatypeProperty gt lt owl DatatypeProperty rdf about episodeNo gt lt rdfs range rdf resource amp xsd integer gt 97 102 107 112 117 122 127 132 137 APPENDIX A EXAMPLE ONTOLOGIES rdfs domain rdf resource Episode gt lt owl DatatypeProperty gt lt owl DatatypeProperty rdf about firstAppearance gt lt rdf type rdf resource amp owl FunctionalProperty gt lt rdfs range rdf resource amp xsd date gt lt rdfs domain rdf resource Episode gt lt owl DatatypeProperty gt lt owl ObjectProperty rdf about appearedIn gt lt rdfs range rdf resource newspaper gt lt rdfs domain rdf resource ComicStripSeries gt lt owl ObjectProperty gt lt Individuals gt rdf Description rdf about Asterix gt rdf type rdf resource Hero gt rdf type rdf resource amp story Person gt lt rdf Description gt lt rdf Description rdf about Obelix gt rdf type rdf resource Hero gt lt rdf type rdf resource amp story Person gt story hasFriend rdf resource Asterix gt lt rdf Description gt lt BookSeries rdf about AsterixAndObelix gt lt cartoon ha
52. s Tree Property Tree lit MA C food CheeseNutsDessertCourse m wine CheninBlanc 0 v food ConsumableThing v food EdibleThing Y food Dessert food CheeseNutsDessert O food SweetDessert v food Fowl food DarkMeatFovd food LightMeatFovd M M y food Meat 7 All Ontologies Apply Changes Undo Changes Figure 5 2 SWOOP 5 4 KAON Characteristics Name KAON Developer FZI Forschungszentrum Informatik and AIFB Institut f r Angewandte Informatik und Formale Beschreibungsverfahren University of Karlsruhe License LGPL Homepage http kaon semanticweb org Supported Languages RDF S Version 1 2 7 Comment Requires Java J2SE 1 4 0_01 or Java Webstart Among the editors examined KAON is the only one offering a graphical representation However KAON supports only RDF S and not OWL Like ALOE it displays the ontology as a graph Though KAON shows the properties also as vertices and not as edges which 5 4 KAON 37 is quite irritating Furthermore the layout of the graph is done automatically and it is not possible to drag vertices by hand It does not have a list of all resources Thus the only possibility to explore an ontology is by navigating through the graph starting from Root As the graph grows too complex some nodes can be hidden but in opposition to ALOE it is not possible
53. sBook rdf resource Asterix1 gt lt story originalLanguage rdf resource amp story French gt lt story translatedTo rdf resource amp story English gt lt story translatedTo rdf resource amp story German gt lt story translatedTo rdf resource Latin gt story mainCharacter rdf resource Asterix gt lt story mainCharacter rdf resource Obelix gt story writtenBy rdf resource Goscinny gt story writtenBy rdf resource Uderzo gt lt story title gt Asterix And Obelix lt story title gt lt BookSeries gt lt story Language rdf about Latin gt lt story Person rdf about Goscinny gt lt rdfs comment gt Rene Goscinny lt rdfs comment gt lt story Person gt lt story Person rdf about Uderzo gt lt rdfs label gt Albert Uderzo lt rdfs label gt lt story Person gt lt BookEpisode rdf about Asterix1 gt lt cartoon episodeTitle gt Asterix the Gaul lt cartoon episodeTitle gt lt cartoon episodeNo rdf datatype amp xsd nonNegativelnteger gt 1 lt cartoon episodeNo gt lt BookEpisode gt A 1 ASTERIX amp OBELIX ONTOLOGIES 51 lt rdf Description rdf about ZIdefix 142 lt rdf type rdf resource amp story Character gt rdf type rdf resource amp story Dog gt story hasFriend rdf resource Obelix gt lt story appears rdf resource AsterixAndObelix gt lt rdf Description gt 147 newspaper rdf about
54. selected ALOE tests whether domain and range of the property comply with each other and warns if this is not the case 3 4 5 Editing an Individual An individual can be an instance of several classes In OWL Lite there is no limitation because it is not possible to exclude individuals Furthermore two individuals can represent the same object or different ones Property instances can be created and deleted in the edit mask of the subject of the new statement In the dialog for creating a new property instance shown in Figure 1 9 the subject is already inserted and cannot be changed First a property should be selected as predicate By default only those properties are listed which have one of the classes of the subject in the domain By checking the checkbox All Properties all available properties are listed As soon as the predicate is chosen the list with the possible objects is updated with all individuals that are instances of the classes in the range of the prefix Like for the predicates all individuals can be displayed by enabling the checkbox All Individuals 000 Add Statements 3 Subject AsterixAndObelix Property writtenBy rs U All Properties Object Goscinny HJ O All Individuals Ok Cancel Figure 3 9 Creating a new statement A statement will not be accepted and an error message will be shown if one of the following conditions holds e The predicate is a FunctionalProperty and the subject already has a
55. source res2 Gets the explication why the last check method returned x an error or warning return The explication for the last error or warning d public String getLastExplication JR Test whether a resource can be renamed to the given new name x return See 1 Qlinkplain EditManager above for the possible return values public int canBeRenamed OntologyResource res String newname Chapter 5 Comparison with Other Ontology Editors In this chapter some other ontology editors are presented briefly and compared with ALOE A short overview is given in table 5 1 where the criterias are split in four categories OS The operating systems the editor runs on Languages A selection of ontology languages the editor supports Browsing Some criterias indicating how easy it is to browse and explore an existing ontology Editing Support A selection of edit actions which are supported The possibility to do the edit in the source code is not counted as editing support 5 1 Prot g Characteristics Name Prot g Developer Stanford Medical Informatics at the Stanford University School of Medicine License Freeware open source Homepage http protege stanford edu Supported Languages RDF Schema CLIPS OWL with additional plug in Version 3 0 Comment Requires JDK 1 3 Prot g is intended as an editor for knowledge base systems It offers a special OWL view see Figure 5 1 for editing OWL o
56. straints to a restriction is explained later After pressing Ok a new anonymous class is created and then put in relation to the class currently edited by the axiom r HEK AAA z rann EIE al Add Class Anonymous restriction Please select a class onProperty hasEpis D Animal E Restrictions cardinality1 Anonymous Restriction Anonymous Intersection Ok Cancel Add Ok Cancel a Selecting an existing class b Selecting an anonymous restriction Figure 3 6 Adding a Class 3 4 3 Editing a Class In addition to the general possibilities for modification the user can manipulate the super classes and the equivalent classes of a class As OWL Lite does not facilitate a possibility to define two classes as disjoint there are no restrictions on those axioms A class can be an intersection of at least two other classes If a class is an intersection of two others and the user wants to remove one he can either remove none or both but not just one Likewise at least two classes must be chosen when adding a new intersection If a class is defined as a restriction it is not possible to change the name as restrictions 3 4 CREATING AND EDITING RESOURCES 21 000 Class Details Episode 1D Episode Namespace http www iam unibe ch spescha comicStrips Intersection Of Add Remove Subclass Of Anonymous Restriction Add Remove Equivalent To Add Remove comment label
57. sts ch unibe ontoBrowser view consists of all classes needed for building the GUI OBrowser is the main frame of the application Furthermore classes for the different views of the resources are included 43 IMPLEMENTATION EXAMPLES 29 ch unibe ontoBrowser view actions contains the actions for the GUI Only the actions encapsulating functionality are implemented as a class other actions are written as anonymous classes when they are used E3 ch unibe ontoBrowser OntoController gt ch unibe ontoBrowser test controls b yisualizes 3 ch unibe ontoBrowser view tests N I 4 ch unibe ontoBrowser view actions 4 ch unibe ontoBrowser model listens models generates y gi ch unibe ontoBrowser graph E3 ch unibe ontoBrowser event 4 ch unibe ontoBrowser graph event 83 ch unibe ontoBrowser dialogs Bi ch unibe ontoBrowser log Figure 4 1 UML diagram of the package structure and dependencies ALOE implements the Model View Controller MVC pattern for the graph view The model package ch unibe ontoBrowser model consists of classes representing the OWL resources which are derived from the classes proviced by knOWLer The view is made up of subclasses of classes of JGraph package ch unibe ontoBrowser graph The controller is a class responsible for translating the objects of the model to graph objects for the view Appendix B contains UML diagrams fo
58. tance of the given class param individual the intended instance param classRes the class lt code gt individual lt code gt should be an instance of Oreturn See linkplain EditManager above for the possible return values 40 public int canBelnstanceOf ExtendedIndividualResource individual ExtendedClassResource classRes XA X X CH x Checks whether two properties can be inverse 45 x return See 1 linkplain EditManager above for the possible return values x 50 55 60 65 70 75 80 43 IMPLEMENTATION EXAMPLES 3l public int canBeInverse ExtendedPropertyResource propertyl ExtendedPropertyResource property2 Checks whether the given property can be the superProperty of the given subproperty x param sub the potential subproperty x param superP the potential superproperty x return See 1 linkplain EditManager above for the possible return values public int canBeSuperproperty ExtendedPropertyResource sub ExtendedPropertyResource superP Tests whether the property can be symmetric x return See 1 linkplain EditManager above for the possible return values public int canBeSymmetric ExtendedPropertyResource property x Collects all restrictions the given class has on the given property param classRes the class to search the restrictions of param property the property which should be in the onProperty part x of the restriction
59. the latter as inverse property and define belongsToSeries to be functional A BookSeries must have atleast one Book Hence I define BookSeries as subclass of an anonymous restriction The restriction is a restriction on the property hasBook and has a minCardinality constraint with value 1 To specify the attributes for a Book I define the two functional DatatypeProperty title and isbn both with Book as domain and string from XML schema as range Similar to Book I define Episode as elements for ComicStrip As a lot of comic strips are about heros and their bad antagonists I add two subclasses of Character Hero and BadGuy Now there are all classes I need and I can now start modeling Asterix amp Obelix I create Asterix and Obelix as instances of Hero As they are both humans I add Person as class for both of them Then I add a statement for Asterix In the dialog for creating the property instance I select hasFriend as predicate and Obelix as object Now I am done with these characters As Asterix amp Obelix is a booklet series I generate an individual AsterixAndObelix as an instance of BookletSeries I add two statements to define Asterix and Obelix as main characters of the comic strip Then I define French to be the original language and state that AsterixAndObelix was translated to other languages Similarly I create other characters from Asterix amp Obelix and the comic strip Calvin And Hobbes Finally I want
60. to make them visible again Like ALOE KAON uses colors to distinguish between the resource types Also the edges have different colors for the different kinds of relations This is practical to get an overview but it would be difficult to adopt the coloring of axioms to ALOE as OWL supports a lot more axioms KAON lets the user connect two resource by drawing a line from one resource to another one The type of the relation is identified depending on the type of the resources 38 CHAPTER 5 COMPARISON WITH OTHER ONTOLOGY EDITORS KAON Workbench Bisi E File Edit View Procedures httpv kaon semanticweb org 2001 1 1 kaon roo httpvikaon semanticweb org 2001 1 1 kaon lexi Q Search Execute KAON query gt amp start rSubconcepts Lexicon testcat Label erman Jaguar Label English Jaguar Jaguar Jaguar Type Langu Value G 4 Properties From Concept Properties To Concept Concept Instances Prope Minim Maxim Property Name Entity Name Value teste D unli http kaon semantic Guay testBMW runs ove testowns testruns over tot DHAWA nino ovo Figure 5 3 KAON 5 4 KAON De OS Linux Mac Windows OWL Lite OWL DL OWL Full RDF DAML Browsing Languages Graphical Representation Selecting the visualisation Intuitive User Interface Navigation Visibility of axioms L
61. ty gt 77 82 87 92 97 102 A lt A lt 1 ASTERIX amp OBELIX ONTOLOGIES 47 lt owl DatatypeProperty rdf about title gt lt rdfs range rdf resource amp xsd string gt lt rdfs domain rdf resource Story gt lt owl DatatypeProperty gt lt owl ObjectProperty rdf about appears gt lt rdfs range rdf resource Story gt lt rdfs domain rdf resource Character gt lt owl inverseOf rdf resource hasCharacter gt lt owl ObjectProperty gt lt owl ObjectProperty rdf about hasEnemy gt rdf type rdf resource amp owl SymmetricProperty gt lt rdfs range rdf resource Character gt rdfs domain rdf resource Character gt lt owl ObjectProperty gt owl ObjectProperty rdf about authorOf gt lt rdfs range rdf resource Story gt lt rdfs domain rdf resource Person gt lt owl inverseOf rdf resource writtenBy gt lt owl ObjectProperty gt lt owl ObjectProperty rdf about hasCharacter gt lt rdfs range rdf resource Character gt rdfs domain rdf resource Story gt lt owl ObjectProperty gt lt Individuals gt lt Language rdf about French gt Language rdf about English gt Language rdf about German gt lt rdfs label gt Deutsch lt rdfs label gt lt Language gt rdf RDF gt 1 2 Cartoon Ontology xml version 1 0 encoding UTF 8 lt
62. urce otherwise an error message will be shown on applying the change 20 CHAPTER 3 USER MANUAL Furthermore the resource can be annotated There is a text field for each annotation The annotations available are those predefined by OWL such as versionInfo label comment seeAlso and isDefinedBy as well as the user defined ones For each resource type there are different axioms for relating two resources as described in Section 2 2 For each of these axioms there is a list with the resources already related by this one and two buttons to add and remove resources When resources are added ALOE does some basic checks if the change does not lead to an inconsistent state of the ontology It also checks whether the change has further effects i e whether there are additional facts which can be deduced from the change If there is such an effect the user is warned However ALOE is not a reasoner and therefore may not detect all errors or all additional effects For putting a resource in relation to a class there is a dialog where the user can select a class cf 1 6 It offers three kinds of classes for selection The user can choose an already existing class create a new anonymous restriction or make an anonymous intersection If he decides to create an anonymous intersection he can select two classes When a new restriction is created the dialog asks the user to select a property and to add restriction constraints Adding restrictions con
63. value for this property which cannot be inferred to be the same object as the value Two individuals cannot be the same object if they are inferred to be different e The predicate is an InverseFunctionalProperty and the object already has a sub ject for this property which cannot be inferred to be the same object as the subject e The subject has a hasValue restriction on the predicate and the object is not equal to the required value The following deduced facts will be recognized that is ALOE is able to deduce the following additional facts 3 5 DELETING RESOURCES 23 e The subject has a cardinality restriction cardinality or maxCardinality on the predicate and has already reached the limit of objects In this case some of the objects will be deduced to be sameAs e The subject has a allValuesFrom restriction on the predicate and the object is not already an instance of the required class Thus the object is inferred to be an instance of the required class e The predicate is a FunctionalProperty and the subject already has a value for this property which can be the same as the object Therefore the object will be deduced to be sameAs the other value s e The predicate is an InverseFunctionalProperty and the object already has a sub ject for this property which can be the same as the new subject Hence the new subject will be inferred to be sameAs the other subject s 3 5 Deleting Resources A resource can be deleted by s
64. y files It has been developed at the University of Neuch tel Switzerland by Prof Dr Kilian Stoffel Iulian Ciorascu and Claudia Cio rascu It is able to read ontology files reason about the resources and manipulate them It is designed to be able to deal especially with big ontologies and provides good performance It implements an extension of OWL Lite knOWLer consists of the kernel responsible for the actual handling of the resources and for the reasoning and different modules for import export and storage It provides several user interfaces among other a Java API which I used for this diploma thesis At present it runs on Linux and Mac For more information about knOWLer read 5 and 4 Chapter 3 User Manual This chapter describes the installation and usage of ALOE in details At present ALOE runs on Mac OS X and Linux ALOE is a tool to browse edit and create ontologies It is not a reasoner but it does some basic reasoning to check the validity of modifications It enables the user to get an overview of the design of an ontology by navigating through the resources and showing its related resources cf 1 3 4 The details of a resource are available either in the detail view or in OWL format see 1 3 1 All resources new ones as well as those from existing ontologies can be edited with the help of an edit mask like described in Section 1 4 3 1 Getting Started 3 1 1 Prerequisites To use ALOE the following prerequis

Download Pdf Manuals

image

Related Search

Related Contents

Nikon COOLPIX S50 使用説明書  DRYPIX 7000 SERVICE MANUAL REMOVAL AND ADJUSTMENT (MC)  Termo de Referência (PDF  bombas de alto vacío high vacuum pumps pompe à haut  

Copyright © All rights reserved.
Failed to retrieve file