--- 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)));
+ }
+
}