File: KEHOME/doc/simplifylattice.html Subject: Create and Simplify an Ontology Lattice From: Richard H. McCullough Date: May 29, 2003 revised step 2.1: August 13, 2005 Contents 1. Create an ontology lattice 2. Simplify an ontology lattice 3. RDF Ontology lattice 4. OWL Ontology lattice The results in sections 3 and 4 were generated by MKE using the MKR scripts KEHOME/knowledge/rhm/applications/SemanticWeb/RDF/lattice.mkr KEHOME/knowledge/rhm/applications/SemanticWeb/OWL/lattice.mkr KEHOME=http://rhm.cdepot.net 1. Create an ontology lattice Use the ontology RDF file. Note: includes mkr:Entity from KEHOME/kb/tabrasa.html 1.1. Transform rdfs:Class to avoid infinite loops 1.1.a. old method Replace rdfs:Class with rdfs:Resource Replace owl:Class with owl:Thing 1.1.b. new method declare "rdfs:Class" as set: "rdfs:Class isu Set;" change "x rdf:type rdfs:Class" to "x ismem rdfs:Class;" declare "owl:Class" as set: "owl:Class isu Set;" change "x rdf:type owl:Class" to "x ismem owl:Class;" change "owl:Class subClassOf rdfs:Class" to "owl:Class ismem rdfs:Class;" 1.2. Replace rdfs:Resource with owl:Thing To avoid infinite loops, delete statements of the form owl:Thing rdf:type x owl:Thing rdfs:subClassOf x owl:Thing rdfs:subPropertyOf x 1.3. Delete any statements involving owl:Nothing owl:Nothing is the class of things that do not exist. It is not part of the ontology lattice. 1.4. For every statement of the form x rdf:type y enter x isu y (x is an individual of y) For every statement of the form x rdfs:subClassOf y enter x iss y (x is a species of y) For every statement of the form x rdfs:subPropertyOf y enter x isu y (x is an individual of y) 1.5. For every statement of the form x isu y enter x isa y For every statement of the form x iss y enter x isa y 1.6. Use isa links to create ontology lattice. 2. Simplify an ontology lattice See simplify_lattice() in KEHOME/src/integrate.icn See check_uslink() in KEHOME/src/check.icn See check_genus() in KEHOME/src/check.icn 2.1. Decide if x is an individual or a class # revised Aug/13/2005 For every x with x isu y x iss z if y is z then change to # individual x isu y else change to # class x iss y x iss z 2.2. Keep only the most specific links. For every x with x isa y x isa z g := least upper bound(y,z) g is y or z delete x isa g x isu g (if present) x iss g (if present) 3. RDF Ontology lattice 3.1. input RDF file from Appendix A: RDF Schema as RDF/XML RDF Vocabulary Description Language 1.0: RDF Schema W3C Working Draft 23 January 2003 KEHOME/knowledge/rhm/applications/SemanticWeb/RDF/rdfVDLA.rdf 3.2. output RDF Ontology lattice KEHOME/knowledge/rhm/applications/SemanticWeb/RDF/lattice.save 4. OWL Ontology lattice 4.1. input RDF file from Appendix B: RDF Schema of OWL OWL Web Ontology Language Reference W3C Working Draft 31 March 2003 KEHOME/knowledge/rhm/applications/SemanticWeb/OWL/owlRefB.rdf 4.2. output OWL Ontology lattice KEHOME/knowledge/rhm/applications/SemanticWeb/OWL/lattice.save