Switch to side-by-side view

--- a/src/main/java/net/timbusproject/dpes/alternative/kb/OWLUtils.java
+++ b/src/main/java/net/timbusproject/dpes/alternative/kb/OWLUtils.java
@@ -26,12 +26,18 @@
 import org.semanticweb.owlapi.model.OWLAnnotation;
 import org.semanticweb.owlapi.model.OWLClass;
 import org.semanticweb.owlapi.model.OWLClassAssertionAxiom;
+import org.semanticweb.owlapi.model.OWLClassExpression;
 import org.semanticweb.owlapi.model.OWLDataFactory;
+import org.semanticweb.owlapi.model.OWLDataProperty;
 import org.semanticweb.owlapi.model.OWLDeclarationAxiom;
+import org.semanticweb.owlapi.model.OWLIndividual;
 import org.semanticweb.owlapi.model.OWLNamedIndividual;
 import org.semanticweb.owlapi.model.OWLObjectProperty;
+import org.semanticweb.owlapi.model.OWLObjectPropertyExpression;
 import org.semanticweb.owlapi.model.OWLOntology;
 import org.semanticweb.owlapi.model.OWLOntologyManager;
+
+import uk.ac.manchester.cs.owl.owlapi.OWLObjectHasValueImpl;
 
 /**
  * @author Rudolf Mayer
@@ -47,11 +53,17 @@
         return indiv;
     }
 
-    public static OWLNamedIndividual assertClass(OWLNamedIndividual indiv, OWLClass owlClass, OWLOntology ontology,
-            OWLDataFactory df, OWLOntologyManager manager) {
+    public static OWLNamedIndividual assertClass(OWLNamedIndividual indiv, OWLClassExpression owlClass,
+            OWLOntology ontology, OWLDataFactory df, OWLOntologyManager manager) {
         OWLClassAssertionAxiom virtualPackageClassAxiom = df.getOWLClassAssertionAxiom(owlClass, indiv);
         manager.applyChange(new AddAxiom(ontology, virtualPackageClassAxiom));
         return indiv;
+    }
+
+    public static OWLNamedIndividual assertClass(OWLNamedIndividual indiv, OWLObjectPropertyExpression property,
+            OWLIndividual value, OWLOntology ontology, OWLDataFactory df, OWLOntologyManager manager) {
+        OWLObjectHasValueImpl owlDataHasValueClass = new OWLObjectHasValueImpl(property, value);
+        return assertClass(indiv, owlDataHasValueClass, ontology, df, manager);
     }
 
     public static OWLNamedIndividual createAndRegisterIndividual(String iriBase, String indivID, OWLClass owlClass,
@@ -60,11 +72,19 @@
         return assertClass(indiv, owlClass, ontology, df, manager);
     }
 
-    public static void createRelation(OWLNamedIndividual providingPackage, OWLNamedIndividual virtualPackageIndiv,
-            OWLOntology ontology, OWLDataFactory df, OWLOntologyManager manager, OWLObjectProperty property) {
-        manager.applyChange(new AddAxiom(ontology, df.getOWLObjectPropertyAssertionAxiom(property, providingPackage,
-                virtualPackageIndiv, EMPTY_OWL_ANNOTATIONS)));
+    public static void createRelation(OWLNamedIndividual source, OWLNamedIndividual target, OWLOntology ontology,
+            OWLDataFactory df, OWLOntologyManager manager, OWLObjectProperty property) {
+        if (source == null || target == null) {
+            System.out.println("Source: " + source + " => target: " + target);
+        }
+        manager.applyChange(new AddAxiom(ontology, df.getOWLObjectPropertyAssertionAxiom(property, source, target,
+                EMPTY_OWL_ANNOTATIONS)));
 
     }
 
+    public static void addDataProperty(OWLNamedIndividual indiv, OWLOntology ontology, OWLDataFactory df,
+            OWLOntologyManager manager, OWLDataProperty property, String value) {
+        manager.applyChange(new AddAxiom(ontology, df.getOWLDataPropertyAssertionAxiom(property, indiv, value)));
+    }
+
 }