edu.stanford.smi.protegex.owl.jena.creator
Class JenaCreator

java.lang.Object
  extended byedu.stanford.smi.protegex.owl.jena.creator.JenaCreator

public class JenaCreator
extends Object

A class that creates a Jena OntModel from a Protege OWL model. The resulting OntModel can then be used in Jena services such as for reasoning.

Author:
Holger Knublauch

Field Summary
private  Map anonMap
           
private  int classCount
           
private  int classProgressCount
           
private  boolean forReasoning
           
private  boolean inferred
           
private  boolean logging
           
static String LOGGING_PROPERTY
           
private  com.hp.hpl.jena.ontology.OntModel ontModel
           
private  com.hp.hpl.jena.rdf.model.Model owlFullModel
           
private  OWLModel owlModel
           
private  ProgressDisplay progressDisplay
           
private  Set systemOwnSlots
           
private  Collection targetClses
          The classes that shall be processed in this creation process.
private  Map todoIndividualsWithObjectProperties
          A Map from RDFIndividuals to Lists of RDFProperties to indicate which (object) property values still need to be assigned outside of the usual loop.
 
Constructor Summary
JenaCreator(OWLModel owlModel, boolean forReasoning, boolean inferred, Collection targetClses, ProgressDisplay progressDisplay)
           
JenaCreator(OWLModel owlModel, boolean forReasoning, Collection targetClses, ProgressDisplay progressDisplay)
           
JenaCreator(OWLModel owlModel, Collection targetClses, ProgressDisplay progressDisplay)
           
 
Method Summary
private  void addDisjointClasses(OWLNamedClass namedCls, com.hp.hpl.jena.ontology.OntClass ontClass)
           
private  void addEquivalentClasses(OWLNamedClass namedCls, com.hp.hpl.jena.ontology.OntClass ontClass)
           
private  void addEquivalentProperties(OWLProperty property, com.hp.hpl.jena.ontology.OntProperty ontProperty)
           
private  void addImports(OWLOntology oi, com.hp.hpl.jena.ontology.Ontology ontology)
           
private  void addPropertyValues(RDFResource rdfResource, com.hp.hpl.jena.ontology.OntResource ontResource)
           
private  void addPropertyValues(RDFResource instance, com.hp.hpl.jena.ontology.OntResource ontResource, RDFProperty rdfProperty)
           
private  void addPropertyValues2(RDFResource rdfResource, com.hp.hpl.jena.ontology.OntResource ontResource)
           
private  void addSuperclasses(RDFSNamedClass rdfsClass, com.hp.hpl.jena.ontology.OntClass ontClass)
           
private  void addSuperproperties(RDFProperty property, com.hp.hpl.jena.ontology.OntProperty ontProperty)
           
private  void addTodoPropertyValues()
           
private  void adjustOntPropertyRDFType(RDFProperty property, com.hp.hpl.jena.ontology.OntProperty ontProperty)
           
private  void createAdditionalAnonymousSuperclassesOfIncludedClass(OWLNamedClass namedCls)
           
private  void createAllDifferents()
           
private  com.hp.hpl.jena.ontology.OntClass createAnonymousClass(OWLAnonymousClass anonymousCls)
           
private  com.hp.hpl.jena.ontology.Restriction createCardinalityRestriction(OWLCardinalityBase restriction)
           
static com.hp.hpl.jena.ontology.DataRange createDataRange(OWLDataRange dataRange, com.hp.hpl.jena.ontology.OntModel ontModel)
           
private  com.hp.hpl.jena.ontology.OntProperty createDatatypeProperty(OWLDatatypeProperty datatypeProperty)
           
private  com.hp.hpl.jena.ontology.EnumeratedClass createEnumeratedClass(OWLEnumeratedClass enumerationCls)
           
private  com.hp.hpl.jena.ontology.HasValueRestriction createHasValueRestriction(OWLHasValue hasRestriction)
           
private  com.hp.hpl.jena.ontology.Individual createIndividual(RDFResource rdfResource, boolean anon)
           
private  void createIndividuals()
           
private static com.hp.hpl.jena.rdf.model.Literal createLiteral(Object value, com.hp.hpl.jena.ontology.OntModel ontModel)
           
private  com.hp.hpl.jena.ontology.OntClass createLogicalClass(OWLLogicalClass logicalCls)
           
private  com.hp.hpl.jena.ontology.OntClass createNamedClass(RDFSNamedClass rdfsClass)
           
private  com.hp.hpl.jena.ontology.OntProperty createObjectProperty(OWLObjectProperty objectProperty)
           
private  void createOntClasses()
           
 com.hp.hpl.jena.ontology.OntModel createOntModel()
           
 com.hp.hpl.jena.ontology.OntModel createOntModelWithoutOWLFullModel()
           
private  void createOntologies()
           
private  void createOntProperties()
           
(package private)  com.hp.hpl.jena.ontology.OntProperty createOntProperty(RDFProperty property)
           
private  com.hp.hpl.jena.rdf.model.RDFList createOntResourceList(Collection instances)
           
private  void createPrefixes(com.hp.hpl.jena.ontology.OntModel ontModel)
           
private  com.hp.hpl.jena.ontology.Restriction createQuantifierRestriction(OWLQuantifierRestriction restriction)
           
private  com.hp.hpl.jena.ontology.OntProperty createRDFProperty(RDFProperty rdfProperty)
           
private  com.hp.hpl.jena.ontology.Restriction createRestriction(OWLRestriction restriction)
           
private  void ensureProtegeMetaOntologyImported()
           
private  com.hp.hpl.jena.ontology.Ontology getDefaultOntology()
           
private  com.hp.hpl.jena.ontology.Individual getIndividual(RDFResource rdfResource)
           
private  com.hp.hpl.jena.ontology.OntClass getOntClass(RDFSClass rdfsClass)
           
 com.hp.hpl.jena.ontology.OntModel getOntModel()
           
private  com.hp.hpl.jena.ontology.OntProperty getOntProperty(RDFProperty property)
           
private  com.hp.hpl.jena.ontology.OntResource getOntResource(RDFResource rdfResource)
           
 com.hp.hpl.jena.rdf.model.Model getOWLFullModel()
           
private  com.hp.hpl.jena.rdf.model.Property getProperty(RDFProperty property)
           
private  Iterator getRDFSClassIterator()
           
private  com.hp.hpl.jena.rdf.model.Resource getResource(RDFResource rdfResource)
           
private  boolean isSystemOwnSlot(edu.stanford.smi.protege.model.Instance instance, edu.stanford.smi.protege.model.Slot slot)
           
private  void log(String msg)
           
 void run(com.hp.hpl.jena.ontology.OntModel ontModel, com.hp.hpl.jena.rdf.model.Model owlFullModel)
           
private  void setPropertyDomain(RDFProperty property, com.hp.hpl.jena.ontology.OntProperty ontProperty)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

anonMap

private Map anonMap

classCount

private int classCount

classProgressCount

private int classProgressCount

forReasoning

private boolean forReasoning

inferred

private boolean inferred

logging

private boolean logging

owlModel

private OWLModel owlModel

ontModel

private com.hp.hpl.jena.ontology.OntModel ontModel

owlFullModel

private com.hp.hpl.jena.rdf.model.Model owlFullModel

progressDisplay

private ProgressDisplay progressDisplay

systemOwnSlots

private Set systemOwnSlots

targetClses

private Collection targetClses
The classes that shall be processed in this creation process.


todoIndividualsWithObjectProperties

private Map todoIndividualsWithObjectProperties
A Map from RDFIndividuals to Lists of RDFProperties to indicate which (object) property values still need to be assigned outside of the usual loop.


LOGGING_PROPERTY

public static final String LOGGING_PROPERTY
Constructor Detail

JenaCreator

public JenaCreator(OWLModel owlModel,
                   Collection targetClses,
                   ProgressDisplay progressDisplay)

JenaCreator

public JenaCreator(OWLModel owlModel,
                   boolean forReasoning,
                   Collection targetClses,
                   ProgressDisplay progressDisplay)

JenaCreator

public JenaCreator(OWLModel owlModel,
                   boolean forReasoning,
                   boolean inferred,
                   Collection targetClses,
                   ProgressDisplay progressDisplay)
Method Detail

addDisjointClasses

private void addDisjointClasses(OWLNamedClass namedCls,
                                com.hp.hpl.jena.ontology.OntClass ontClass)

addEquivalentClasses

private void addEquivalentClasses(OWLNamedClass namedCls,
                                  com.hp.hpl.jena.ontology.OntClass ontClass)

addEquivalentProperties

private void addEquivalentProperties(OWLProperty property,
                                     com.hp.hpl.jena.ontology.OntProperty ontProperty)

addImports

private void addImports(OWLOntology oi,
                        com.hp.hpl.jena.ontology.Ontology ontology)

addPropertyValues

private void addPropertyValues(RDFResource rdfResource,
                               com.hp.hpl.jena.ontology.OntResource ontResource)

addPropertyValues2

private void addPropertyValues2(RDFResource rdfResource,
                                com.hp.hpl.jena.ontology.OntResource ontResource)

addPropertyValues

private void addPropertyValues(RDFResource instance,
                               com.hp.hpl.jena.ontology.OntResource ontResource,
                               RDFProperty rdfProperty)

addSuperclasses

private void addSuperclasses(RDFSNamedClass rdfsClass,
                             com.hp.hpl.jena.ontology.OntClass ontClass)

addSuperproperties

private void addSuperproperties(RDFProperty property,
                                com.hp.hpl.jena.ontology.OntProperty ontProperty)

addTodoPropertyValues

private void addTodoPropertyValues()

createAdditionalAnonymousSuperclassesOfIncludedClass

private void createAdditionalAnonymousSuperclassesOfIncludedClass(OWLNamedClass namedCls)

createAnonymousClass

private com.hp.hpl.jena.ontology.OntClass createAnonymousClass(OWLAnonymousClass anonymousCls)

createCardinalityRestriction

private com.hp.hpl.jena.ontology.Restriction createCardinalityRestriction(OWLCardinalityBase restriction)

createDataRange

public static com.hp.hpl.jena.ontology.DataRange createDataRange(OWLDataRange dataRange,
                                                                 com.hp.hpl.jena.ontology.OntModel ontModel)

createLiteral

private static com.hp.hpl.jena.rdf.model.Literal createLiteral(Object value,
                                                               com.hp.hpl.jena.ontology.OntModel ontModel)

createDatatypeProperty

private com.hp.hpl.jena.ontology.OntProperty createDatatypeProperty(OWLDatatypeProperty datatypeProperty)

createEnumeratedClass

private com.hp.hpl.jena.ontology.EnumeratedClass createEnumeratedClass(OWLEnumeratedClass enumerationCls)

createHasValueRestriction

private com.hp.hpl.jena.ontology.HasValueRestriction createHasValueRestriction(OWLHasValue hasRestriction)

createIndividual

private com.hp.hpl.jena.ontology.Individual createIndividual(RDFResource rdfResource,
                                                             boolean anon)

createIndividuals

private void createIndividuals()

createLogicalClass

private com.hp.hpl.jena.ontology.OntClass createLogicalClass(OWLLogicalClass logicalCls)

createNamedClass

private com.hp.hpl.jena.ontology.OntClass createNamedClass(RDFSNamedClass rdfsClass)

createObjectProperty

private com.hp.hpl.jena.ontology.OntProperty createObjectProperty(OWLObjectProperty objectProperty)

createOntClasses

private void createOntClasses()

createOntModel

public com.hp.hpl.jena.ontology.OntModel createOntModel()

createOntModelWithoutOWLFullModel

public com.hp.hpl.jena.ontology.OntModel createOntModelWithoutOWLFullModel()

createOntologies

private void createOntologies()

createOntProperty

com.hp.hpl.jena.ontology.OntProperty createOntProperty(RDFProperty property)

adjustOntPropertyRDFType

private void adjustOntPropertyRDFType(RDFProperty property,
                                      com.hp.hpl.jena.ontology.OntProperty ontProperty)

createOntProperties

private void createOntProperties()

createOntResourceList

private com.hp.hpl.jena.rdf.model.RDFList createOntResourceList(Collection instances)

createPrefixes

private void createPrefixes(com.hp.hpl.jena.ontology.OntModel ontModel)

createQuantifierRestriction

private com.hp.hpl.jena.ontology.Restriction createQuantifierRestriction(OWLQuantifierRestriction restriction)

createRDFProperty

private com.hp.hpl.jena.ontology.OntProperty createRDFProperty(RDFProperty rdfProperty)

createRestriction

private com.hp.hpl.jena.ontology.Restriction createRestriction(OWLRestriction restriction)

ensureProtegeMetaOntologyImported

private void ensureProtegeMetaOntologyImported()

getDefaultOntology

private com.hp.hpl.jena.ontology.Ontology getDefaultOntology()

getIndividual

private com.hp.hpl.jena.ontology.Individual getIndividual(RDFResource rdfResource)

getRDFSClassIterator

private Iterator getRDFSClassIterator()

getOntClass

private com.hp.hpl.jena.ontology.OntClass getOntClass(RDFSClass rdfsClass)

getOntModel

public com.hp.hpl.jena.ontology.OntModel getOntModel()

getOntProperty

private com.hp.hpl.jena.ontology.OntProperty getOntProperty(RDFProperty property)

getOntResource

private com.hp.hpl.jena.ontology.OntResource getOntResource(RDFResource rdfResource)

getOWLFullModel

public com.hp.hpl.jena.rdf.model.Model getOWLFullModel()

getProperty

private com.hp.hpl.jena.rdf.model.Property getProperty(RDFProperty property)

getResource

private com.hp.hpl.jena.rdf.model.Resource getResource(RDFResource rdfResource)

isSystemOwnSlot

private boolean isSystemOwnSlot(edu.stanford.smi.protege.model.Instance instance,
                                edu.stanford.smi.protege.model.Slot slot)

log

private void log(String msg)

run

public void run(com.hp.hpl.jena.ontology.OntModel ontModel,
                com.hp.hpl.jena.rdf.model.Model owlFullModel)

createAllDifferents

private void createAllDifferents()

setPropertyDomain

private void setPropertyDomain(RDFProperty property,
                               com.hp.hpl.jena.ontology.OntProperty ontProperty)