diff options
Diffstat (limited to 'schema/validate-jena/ValidateTool.java')
-rw-r--r-- | schema/validate-jena/ValidateTool.java | 43 |
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()); + } + } + } +} |