diff --git a/core/src/main/java/org/apache/sdap/mudrod/ontology/process/LocalOntology.java b/core/src/main/java/org/apache/sdap/mudrod/ontology/process/LocalOntology.java
index f106594..5800760 100644
--- a/core/src/main/java/org/apache/sdap/mudrod/ontology/process/LocalOntology.java
+++ b/core/src/main/java/org/apache/sdap/mudrod/ontology/process/LocalOntology.java
@@ -62,10 +62,8 @@ public LocalOntology() {
//only initialize all the static variables
//if first time called to this ontology constructor
if (ontology == null) {
- if (LOG.isInfoEnabled()) {
- LOG.info("Creating new ontology");
- }
- parser = new OwlParser();
+ LOG.info("Creating new ontology client and parser implementation.");
+ parser = new OntologyParserImpl();
ontology = this;
}
if (ontologyModel == null)
@@ -87,24 +85,25 @@ public Ontology getInstance() {
}
/**
- * Load the default sweetAll.owl ontology
- * from
- * https://raw.githubusercontent.com/ESIPFed/sweet/master/2.4/sweetAll.owl
+ * Load the default sweetAll.ttl ontology
+ * from
+ * http://sweetontology.net/sweetAll.ttl
*/
@Override
public void load() {
URL ontURL = null;
try {
- ontURL = new URL("https://raw.githubusercontent.com/ESIPFed/sweet/master/2.4/sweetAll.owl");
- //ontURL = new URL("https://raw.githubusercontent.com/ESIPFed/sweet/master/2.4/reprDataProduct.owl");
+ ontURL = new URL("http://sweetontology.net/sweetAll.ttl");
} catch (MalformedURLException e) {
LOG.error("Error when attempting to create URL resource: ", e);
}
ontArrayList = new ArrayList<>();
- try {
- ontArrayList.add(ontURL.toURI().toString());
- } catch (URISyntaxException e) {
- LOG.error("Error in URL syntax, please check your Ontology resource: ", e);
+ if (ontURL != null) {
+ try {
+ ontArrayList.add(ontURL.toURI().toString());
+ } catch (URISyntaxException e) {
+ LOG.error("Error in URL syntax, please check your Ontology resource: ", e);
+ }
}
if (!ontArrayList.isEmpty()) {
load(ontArrayList.stream().toArray(String[]::new));
@@ -126,8 +125,21 @@ public void load(String[] urls) {
}
private void load(Object m, String url) {
+ String lang = null;
try {
- ((OntModel) m).read(url, null, null);
+ switch (url.substring(url.lastIndexOf('.') + 1)) {
+ case "ttl":
+ lang = "TURTLE";
+ break;
+ //null represents the default language, "RDF/XML".
+ //"RDF/XML-ABBREV" is a synonym for "RDF/XML".
+ case "rdf":
+ case "owl": {
+ lang = "RDF/XML";
+ break;
+ }
+ }
+ ((OntModel) m).read(url, null, lang);
LOG.info("Successfully processed {}", url);
} catch (Exception e) {
LOG.error("Failed whilst attempting to read ontology {}: Error: ", url, e);
@@ -141,7 +153,7 @@ private void load(Object m, String url) {
*/
public OntologyParser getParser() {
if (parser == null) {
- parser = new OwlParser();
+ parser = new OntologyParserImpl();
}
return parser;
}
@@ -229,6 +241,7 @@ public Iterator subclasses(String entitySearchTerm) {
* @return an {@link java.util.Iterator} containing synonyms string tokens
* or an empty if no synonyms exist for the given queryKeyPhrase.
*/
+ @SuppressWarnings("unchecked")
@Override
public Iterator synonyms(String queryKeyPhrase) {
diff --git a/core/src/main/java/org/apache/sdap/mudrod/ontology/process/OwlParser.java b/core/src/main/java/org/apache/sdap/mudrod/ontology/process/OntologyParserImpl.java
similarity index 97%
rename from core/src/main/java/org/apache/sdap/mudrod/ontology/process/OwlParser.java
rename to core/src/main/java/org/apache/sdap/mudrod/ontology/process/OntologyParserImpl.java
index 3f12cd6..6376f28 100644
--- a/core/src/main/java/org/apache/sdap/mudrod/ontology/process/OwlParser.java
+++ b/core/src/main/java/org/apache/sdap/mudrod/ontology/process/OntologyParserImpl.java
@@ -32,12 +32,12 @@
* implementation for W3C OWL
* files.
*/
-public class OwlParser implements OntologyParser {
+public class OntologyParserImpl implements OntologyParser {
private Ontology ont;
private List roots = new ArrayList<>();
- public OwlParser() {
+ public OntologyParserImpl() {
//default constructor
}
@@ -122,7 +122,7 @@ public Iterator rootClasses(OntModel m) {
//assume ontology has root classes
processSingle(m);
} else {
- //check for presence of aggregate/collection ontologies such as sweetAll.owl
+ //check for presence of aggregate/collection ontologies such as sweetAll.ttl
processCollection(m);
}
diff --git a/core/src/main/java/org/apache/sdap/mudrod/recommendation/pre/NormalizeFeatures.java b/core/src/main/java/org/apache/sdap/mudrod/recommendation/pre/NormalizeFeatures.java
index 458ccbb..7e51933 100644
--- a/core/src/main/java/org/apache/sdap/mudrod/recommendation/pre/NormalizeFeatures.java
+++ b/core/src/main/java/org/apache/sdap/mudrod/recommendation/pre/NormalizeFeatures.java
@@ -35,7 +35,6 @@
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
-import java.util.regex.Pattern;
public class NormalizeFeatures extends DiscoveryStepAbstract {
diff --git a/core/src/test/java/org/apache/sdap/mudrod/ontology/process/TestLocalOntology.java b/core/src/test/java/org/apache/sdap/mudrod/ontology/process/TestLocalOntology.java
index 192a29b..587a9ed 100644
--- a/core/src/test/java/org/apache/sdap/mudrod/ontology/process/TestLocalOntology.java
+++ b/core/src/test/java/org/apache/sdap/mudrod/ontology/process/TestLocalOntology.java
@@ -13,7 +13,10 @@
*/
package org.apache.sdap.mudrod.ontology.process;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
import java.io.IOException;
diff --git a/pom.xml b/pom.xml
index 6d1414d..706e30d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -129,7 +129,7 @@
3.0.4
1.0.1
0.8.0
- 3.3.0
+ 3.6.0
UTF-8
5.2.0
@@ -494,6 +494,12 @@
${jena.version}
compile
+
+ org.apache.jena
+ apache-jena-libs
+ pom
+ ${jena.version}
+