    # KEHOME/kb/tabrasa.html
    # May/26/2003

    #=====================#
    # tabula rasa context #
    # minimum hierarchy   #
    #=====================#
    at view = tabula rasa;

    # existence
    entity isa existent;

    # identity
    characteristic isa existent;

    # identification
    proposition isa existent;
    proposition has
        format = {entity has characteristic;};

    # ECP hierarchy
    begin hierarchy axiomhi;
    existent;
    /   entity;
    /   characteristic;
    /   proposition;
    end hierarchy axiomhi;

    # ECP axioms
    existent is existent;
    if A isa existent; then
        A is A;
        A or  not A is existent;
        A and not A is nonexistent;
    fi;
    nonexistent is not nonexistent; # contradiction
    if B isa* nonexistent; then	# subClass
        B is not B;
        B is nonexistent;
    fi;

    #--------------------------------------------#

    # knowledge
    knowledge := man do identify od entity with purpose done;
    knowledge haspart proposition list;
    man isa entity;
    identify isa action;
    purpose isa attribute;
    action, attribute isa characteristic;

    # closure
    #proposition ::=
    #	sentence;
    #	at context;
    #	at context { proposition list };
    #context ::=
    #	space = s, time = t, view = v
    sentence isc
        statement,
        question,
        command,
        assignment,
        conditional,
        iteration;
    characteristic isc
        differentia,
        part,
        relation,
        interaction;
    #statement ::=
    #	subject is object;
    #	subject isa object with differentia;
    #	subject haspart part = value;
    #	subject has attribute = value;
    #	subject binary-relation object;
    #	subject isin nary-relation = value;
    #	at space = s, time = t {
    #	    entity do action = event
    #		with action characteristics
    #		out action products
    #		od action direct objects
    #		from action initial characterstics
    #		to action final characteristics
    #	    done;
    #	    };
    #	event:1 causes event:2;
    #conditional ::=
    #	if proposition list:1
    #	    then proposition list:2
    #	    else proposition list:3
    #	    fi;
    #iteration ::=
    #	every variable isa concept {
    #	    proposition list  # using $variable
    #	    };
    #	every variable isin nary-relation {
    #	    proposition list  # using $variable,$1,$2,...
    #	    };
    #	every variable in concept list {
    #	    proposition list  # using $variable
    #	    };
    #	when entity do action = event ... done {  # not implemented
    #	    proposition list  # using $action
    #	    };

    # additions to ECP hierarchy
    begin hierarchy tabhi;
    entity;
    /   ANIMAL;
    /   PLANT;
    /   OBJECT;
    //	group;   # abstract OBJECT
    //	symbol;  # concrete OBJECT
    characteristic;
    /   differentia;
    /   part;
    /   attribute;
    //	purpose;
    //	space;	# context
    //	time;	# context
    //	view;	# context
    //	chartype;
    //	format;
    //	meaning;
    /   relation;
    /   action;
    //	identify;
    /   interaction;
    //	causality;
    proposition;
    /   context;
    /   sentence;
    //	statement;
    ///	    definition;  # see KEHOME/doc/MKRgrammar.html
    //	question;
    //	command;
    //	assignment;
    //	conditional;
    //	iteration;

    group;
    /   concept;
    //	number;
    //	individual concept;  # exgroup, singular
    //	collective concept;  # ingroup, plural
    /   enumeration;	# alternatives
    /   list;		# space order
    /   sequence;		# time order
    /   Set;		# no order
    /   multiset;		# repetitions
    /   LATTICE;		# isa order
    //	lattice;	# ambiguous genus
    //	hierarchy;	# unique    genus
    //	unithierarchy;
    symbol;		# see KEHOME/kb/ke.html
    /   separator;
    /   word;
    attribute;
    /   product;	# sentence output
    /   subject;	# sentence subject
    /   predicate;	# sentence predicate
    /   object;	# sentence object
    end hierarchy tabhi;

    #--------------------------------------------#

    # additional MKR concepts
    at view = mkr;

    begin hierarchy mkrhi;
    existent;
    /   unknown;	# unknown genus
    group;
    /   directory;
    /   family;
    attribute;
    /   variable;	# ke attribute
    /   fact;	# text of input line
    action;
    /   COMMAND;	# ke action
    /   method;	# user-defined command
    /   sense;		# concept formation
    /   perceive;		# concept formation
    /   classify;		# concept formation
    /   measure;		# concept formation
    /   integrate;		# concept formation
    /   differentiate;	# concept formation
    proposition;
    /   newproposition;	# unknown format
    end hierarchy mkrhi;

    begin unithierarchy mkrprim;
    OBJECT;
    /   ke;
    space;
    /   here;
    /   there;
    /   everywhere;
    time;
    /   now;
    /   past;
    /   present;
    /   future;
    view;
    /   tabula rasa;
    /   mkr;
    /   owl;
    end unithierarchy mkrprim;

    man is person;

    #--------------------------------------------#

    #=================#
    # RDF/OWL context #
    #=================#
    at view = tabula rasa;
    at view = owl;
    existent       is owl:Thing;
    entity         is mkr:Entity;
    characteristic is rdf:Property;
    statement      is rdf:Statement;

    nonexistent    is owl:Nothing;

    rdfs:Resource  is owl:Thing;

    begin hierarchy owlhi;
    owl:Thing;
    /   mkr:Entity;
    /   rdf:Property;
    /   rdf:Statement;
    mkr:Entity;
    /   owl:AllDifferent;
    /   rdfs:Container;
    /   owl:DeprecatedClass;
    /   mkr:Enumeration;
    /   mkr:Intersection;
    /   rdf:List;
    /   owl:Ontology;
    /   mkr:Union;
    rdf:Property;
    /   owl:DataRange;
    /   rdfs:Datatype;
    /   owl:DeprecatedProperty;
    /   rdfs:Literal;
    /   owl:Restriction;

    group;  # for RDF/OWL
    /	html;
    /	mcf;
    /	owl;
    /	rdf;
    /	triple;
    /	xml;
    end hierarchy owlhi;

    begin unithierarchy owlprim;
    rdf:Property;
    /    rdf:type;
    /    rdfs:domain;
    /    rdfs:range;
    /    rdfs:subClassOf;
    /    rdfs:subPropertyOf;
    end unithierarchy owlprim;

    rdf:Property,
    rdf:DeprecatedProperty
    	has chartype=characteristic;
    rdfs:domain,
    rdfs:range,
    owl:DataRange,
    rdfs:Datatype,
    rdfs:Literal
    	has chartype=attribute;
    rdf:type,
    rdfs:subClassOf,
    rdfs:subPropertyOf
    	has chartype=relation;
    owl:Restriction
    	has chartype=differentia;

    rdfs:Resource,rdfs:Class is owl:Thing;
    Thing is owl:Thing;
    Resource,Class is owl:Thing;
    # "correct" the hierarchy
    do simplify lattice od existent done;