From: <ku...@us...> - 2012-04-23 22:27:08
|
Revision: 3653 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=3653&view=rev Author: kurzum Date: 2012-04-23 20:33:48 +0000 (Mon, 23 Apr 2012) Log Message: ----------- made small changes for webservice Modified Paths: -------------- trunk/components-core/src/main/java/org/dllearner/kb/sparql/simple/SchemaIndexer.java trunk/components-core/src/main/java/org/dllearner/kb/sparql/simple/SparqlSimpleExtractor.java Modified: trunk/components-core/src/main/java/org/dllearner/kb/sparql/simple/SchemaIndexer.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/kb/sparql/simple/SchemaIndexer.java 2012-04-23 16:04:23 UTC (rev 3652) +++ trunk/components-core/src/main/java/org/dllearner/kb/sparql/simple/SchemaIndexer.java 2012-04-23 20:33:48 UTC (rev 3653) @@ -3,6 +3,10 @@ import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; +import java.io.IOException; +import java.util.HashSet; +import java.util.List; +import java.util.Set; import com.jamonapi.Monitor; import com.jamonapi.MonitorFactory; @@ -15,26 +19,52 @@ public class SchemaIndexer { private static Logger log = LoggerFactory.getLogger(SchemaIndexer.class); - private ClassIndexer classIndexer = null; private OntModel model; - private File ontologySchema; + //static instantiation + private static ClassIndexer classIndexer = new ClassIndexer(); + //remember ontologies + private static Set<String> alreadyIndexed = new HashSet<String>(); + //set or list of urls for the ontologies + private List<String> ontologySchemaUrls; + public SchemaIndexer() { } - public void init() { - classIndexer = new ClassIndexer(); - model = ModelFactory.createOntologyModel(); - try { - Monitor m0 = MonitorFactory.start("Indexer parsing ontology"); - model.read(new FileInputStream(ontologySchema), null); - m0.stop(); - } catch (FileNotFoundException e) { - log.error(e.getMessage(), e); + public synchronized void init() { + + for (String url : ontologySchemaUrls) { + if (!alreadyIndexed.add(url)) { + try { + Monitor m0 = MonitorFactory.start("Indexer parsing ontology"); + model = ModelFactory.createOntologyModel(); + model.read(url, null); + classIndexer.index(model); + m0.stop(); + log.debug("indexed " + url + " " + url); + } catch (Exception e) { + log.error(e.getMessage(), e); + } + } } - classIndexer.index(model); + + } + + /*public void init() { + classIndexer = new ClassIndexer(); + model = ModelFactory.createOntologyModel(); + try { + Monitor m0 = MonitorFactory.start("Indexer parsing ontology"); + model.read(new FileInputStream(ontologySchema), null); + m0.stop(); + } catch (FileNotFoundException e) { + log.error(e.getMessage(), e); + } + classIndexer.index(model); + } */ + public OntModel getHierarchyForURI(String classUri) { if (classIndexer == null) { this.init(); @@ -47,13 +77,7 @@ System.out.println(i.getHierarchyForURI("http://dbpedia.org/ontology/Software")); } - public File getOntologySchema() { - return ontologySchema; + public void setOntologySchemaUrls(List<String> ontologySchemaUrls) { + this.ontologySchemaUrls = ontologySchemaUrls; } - - public void setOntologySchema(File ontologySchema) { - this.ontologySchema = ontologySchema; - } - - } \ No newline at end of file Modified: trunk/components-core/src/main/java/org/dllearner/kb/sparql/simple/SparqlSimpleExtractor.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/kb/sparql/simple/SparqlSimpleExtractor.java 2012-04-23 16:04:23 UTC (rev 3652) +++ trunk/components-core/src/main/java/org/dllearner/kb/sparql/simple/SparqlSimpleExtractor.java 2012-04-23 20:33:48 UTC (rev 3653) @@ -40,8 +40,9 @@ private String defaultGraphURI = null; @ConfigOption(name = "sparqlQuery", description = "Sparql Query", required = false) private String sparqlQuery = null; - @ConfigOption(name = "ontologyFile", description = "Ontology Schema File", required = true) - private File ontologyFile = null; + @ConfigOption(name = "ontologySchemaUrls", description = "List of Ontology Schema URLs", required = true) + private List<String> ontologySchemaUrls = null; + private OWLOntology owlOntology; private SchemaIndexer indexer; @@ -91,7 +92,7 @@ throw new ComponentInitException( "A value bigger than 0 is required for parameter recursionDepth"); } - if (ontologyFile == null) { + if (ontologySchemaUrls == null) { throw new ComponentInitException( "An ontology schema description file (ontologyFile) in RDF ist required"); } @@ -99,7 +100,7 @@ .start(); Monitor monIndexer = MonitorFactory.start("Schema Indexer").start(); indexer = new SchemaIndexer(); - indexer.setOntologySchema(ontologyFile); + indexer.setOntologySchemaUrls(ontologySchemaUrls); indexer.init(); monIndexer.stop(); @@ -240,12 +241,11 @@ return owlOntology; } - public File getOntologyFile() { - return ontologyFile; + public List<String> getOntologySchemaUrls() { + return ontologySchemaUrls; } - public void setOntologyFile(File ontologyFile) { - this.ontologyFile = ontologyFile; + public void setOntologySchemaUrls(List<String> ontologySchemaUrls) { + this.ontologySchemaUrls = ontologySchemaUrls; } - } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |