summaryrefslogtreecommitdiff
path: root/schema/validate-jena/ValidateTool.java
diff options
context:
space:
mode:
Diffstat (limited to 'schema/validate-jena/ValidateTool.java')
-rw-r--r--schema/validate-jena/ValidateTool.java43
1 files changed, 43 insertions, 0 deletions
diff --git a/schema/validate-jena/ValidateTool.java b/schema/validate-jena/ValidateTool.java
new file mode 100644
index 00000000..274cf632
--- /dev/null
+++ b/schema/validate-jena/ValidateTool.java
@@ -0,0 +1,43 @@
+/* Tool to validate Baserock definitions data against the OWL schema.
+ *
+ * Based in part on:
+ *
+ * https://github.com/castagna/jena-examples/blob/master/src/main/java/org/apache/jena/examples/ExampleONT_02.java
+ */
+
+
+import java.util.Iterator;
+
+import com.hp.hpl.jena.rdf.model.InfModel;
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.ModelFactory;
+import com.hp.hpl.jena.reasoner.Reasoner;
+import com.hp.hpl.jena.reasoner.ReasonerRegistry;
+import com.hp.hpl.jena.reasoner.ValidityReport;
+import com.hp.hpl.jena.util.FileManager;
+
+
+public class ValidateTool {
+ public static void main(String[] args) {
+ Model data = FileManager.get().loadModel(
+ "../definitions.rdfxml", null, "RDF/XML");
+ Model schema = FileManager.get().loadModel(
+ "../baserock-example.schema", null, "Turtle");
+
+ Reasoner reasoner = ReasonerRegistry.getOWLReasoner();
+ reasoner = reasoner.bindSchema(schema.getGraph());
+
+ InfModel infmodel = ModelFactory.createInfModel(reasoner, data);
+
+ ValidityReport validity = infmodel.validate();
+
+ if (validity.isValid()) {
+ System.out.println("OK");
+ } else {
+ System.out.println("Conflicts");
+ for (Iterator i = validity.getReports(); i.hasNext(); ) {
+ System.out.println(" - " + i.next());
+ }
+ }
+ }
+}