package org.nlp2rdf.core; import com.hp.hpl.jena.ontology.Individual; import com.hp.hpl.jena.ontology.OntModel; import com.hp.hpl.jena.rdf.model.Model; import com.jamonapi.Monitor; import com.jamonapi.MonitorFactory; import org.aksw.rdfunit.validate.wrappers.RDFUnitStaticValidator; import org.aksw.rdfunit.validate.wrappers.RDFUnitTestSuiteGenerator; import org.nlp2rdf.core.vocab.RLOGIndividuals; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Created by shellmann on 1/2/16. */ public class RDFUnitValidatorWrapper { private static Logger log = LoggerFactory.getLogger(RDFUnitValidatorWrapper.class); static { RDFUnitStaticValidator.initWrapper( new RDFUnitTestSuiteGenerator.Builder() .addLocalResourceOrSchemaURI("nif", "org/uni-leipzig/persistence/nlp2rdf/nif-core/nif-core.ttl", "http://persistence.uni-leipzig.org/nlp2rdf/ontologies/nif-core#") .build() ); } public void process( OntModel inputModel, OntModel outputModel , NIFParameters nifParameters) { Monitor mon = MonitorFactory.getTimeMonitor(RDFUnitStaticValidator.class.getCanonicalName()).start(); // Convert model to OntModel Model validationResults = RDFUnitStaticValidator.validate(inputModel); outputModel.add(validationResults); double lv = mon.stop().getLastValue(); log.debug("model validated with RDFUnit validated: "+lv ); String finalMessage = "validated with RDFUnit in " + lv + " ms. producing " + validationResults.size() + " triples"; outputModel.add(RLOGSLF4JBinding.log(nifParameters.getLogPrefix(), finalMessage, RLOGIndividuals.DEBUG, RDFUnitStaticValidator.class.getCanonicalName(), null, null)); outputModel.setNsPrefix("dc", "http://purl.org/dc/elements/1.1/"); } }