    File: KEHOME/doc/simplifylattice.html
    Subject: Create and Simplify an Ontology Lattice
    From: Richard H. McCullough
    Date: May 29, 2003

    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/applications/SemanticWeb/RDF/lattice.mkr
    KEHOME/knowledge/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.	For every x with
    	x  isu  y
    	x  iss  z
    	change to
    	x  iss  y
    	x  iss  z
    	In other words, x is a class, not an individual.
    2.2.	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)
    	In other words, keep only the most specific links.

    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/applications/SemanticWeb/RDF/rdfVDLA.rdf
    3.2. output
    	RDF Ontology lattice
    	KEHOME/knowledge/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/applications/SemanticWeb/OWL/owlRefB.rdf
    4.2. output
    	OWL Ontology lattice
    	KEHOME/knowledge/applications/SemanticWeb/OWL/lattice.save