Difference between revisions of "LoadOWLOntologyFromDB"
From Protege Wiki
m (getOwlModel method name correction) |
|||
| (5 intermediate revisions by one other user not shown) | |||
| Line 6: | Line 6: | ||
<code> | <code> | ||
| − | Project prj = Project.loadProjectFromFile("/home/pizza_db.pprj",errors); | + | <pre> |
| − | OWLModel owlModel = (OWLModel) prj.getKnowledgeBase();< | + | Project prj = Project.loadProjectFromFile("/home/pizza_db.pprj",errors); |
| − | + | OWLModel owlModel = (OWLModel) prj.getKnowledgeBase(); | |
| + | </pre> | ||
</code><br /><br /> | </code><br /><br /> | ||
| Line 19: | Line 20: | ||
JenaKnowledgeBaseFactory.useStandalone = false; | JenaKnowledgeBaseFactory.useStandalone = false; | ||
Collection errors = new ArrayList(); | Collection errors = new ArrayList(); | ||
| + | //the "false" argument means that it won't overide the existing table | ||
OwlDatabaseCreator creator = new OwlDatabaseCreator(false); | OwlDatabaseCreator creator = new OwlDatabaseCreator(false); | ||
creator.setDriver("com.mysql.jdbc.Driver"); | creator.setDriver("com.mysql.jdbc.Driver"); | ||
| Line 26: | Line 28: | ||
creator.setTable("tableName"); | creator.setTable("tableName"); | ||
try { | try { | ||
| − | + | creator.create(errors); | |
| + | OWLModel owlModel = creator.getOwlModel(); | ||
} catch (OntologyLoadException e) { | } catch (OntologyLoadException e) { | ||
| − | + | e.printStackTrace(); | |
} | } | ||
| − | + | ||
| − | |||
</pre> | </pre> | ||
</code> | </code> | ||
Latest revision as of 04:03, May 1, 2010
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();
//the "false" argument means that it won't overide the existing table
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);
OWLModel owlModel = creator.getOwlModel();
} catch (OntologyLoadException e) {
e.printStackTrace();
}
The "false" argument to the
OwlDatabaseCreatorclass tells it to use an existing database rather than overwrite it.