Difference between revisions of "LoadOWLOntologyFromDB"

From Protege Wiki
Jump to: navigation, search
Line 16: Line 16:
  
 
<code>
 
<code>
 +
<pre>
 
     JenaKnowledgeBaseFactory.useStandalone = false;
 
     JenaKnowledgeBaseFactory.useStandalone = false;
 
     Collection errors = new ArrayList();
 
     Collection errors = new ArrayList();
Line 23: Line 24:
 
     creator.setUsername("protege");
 
     creator.setUsername("protege");
 
     creator.setPassword("mypass");
 
     creator.setPassword("mypass");
     creator.create(errors);
+
     creator.setTable("tableName");
 +
    try {
 +
creator.create(errors);
 +
    } catch (OntologyLoadException e) {
 +
e.printStackTrace();
 +
    }
 
     OWLModel owlModel = creator.getOWLModel();
 
     OWLModel owlModel = creator.getOWLModel();
 +
 +
</pre>
 
</code>
 
</code>
  

Revision as of 12:35, August 2, 2008

How do I load a Protege-OWL ontology from a Protege database using the API?

Method 1

The simplest way to load a Protege-OWL ontology from a Protege database is to programatically load the project file (.pprj), which already contains all of the necessary database connection information:

Project prj = Project.loadProjectFromFile("/home/pizza_db.pprj",errors);
OWLModel owlModel = (OWLModel) prj.getKnowledgeBase();
...


Method 2

The second method should be used if there is no project file (.pprj) associated with the Protege-OWL database ontology:

    JenaKnowledgeBaseFactory.useStandalone = false;
    Collection errors = new ArrayList();
    OwlDatabaseCreator creator = new OwlDatabaseCreator(false);
    creator.setDriver("com.mysql.jdbc.Driver");
    creator.setURL("jdbc:mysql://localhost/protege");
    creator.setUsername("protege");
    creator.setPassword("mypass");
    creator.setTable("tableName");
    try {
	creator.create(errors);
     } catch (OntologyLoadException e) {	
	e.printStackTrace();
     }
    OWLModel owlModel = creator.getOWLModel();

The "false" argument to the
OwlDatabaseCreator
class tells it to use an existing database rather than overwrite it.