private void exec(Update update) { SPARQLQueryDefinition qdef = client.newQueryDefinition(update .toString()); if (markLogicDatasetGraph.getRulesets() != null) { qdef.setRulesets(markLogicDatasetGraph.getRulesets()); } MarkLogicQueryEngine.bindVariables(qdef, this.initial, markLogicDatasetGraph); if (markLogicDatasetGraph.getSPARQLUpdatePermissions() != null) { qdef.setUpdatePermissions(markLogicDatasetGraph.getSPARQLUpdatePermissions()); } client.executeUpdate(qdef); }
private SPARQLQueryDefinition prepareQueryDefinition(Query query) { JenaDatabaseClient client = markLogicDatasetGraph.getDatabaseClient(); SPARQLQueryDefinition qdef = client.newQueryDefinition(query.toString()); if (query.getBaseURI() != null) { qdef.setBaseUri(query.getBaseURI()); } else { query.setBaseURI((String) null); } if (markLogicDatasetGraph.getRulesets() != null) { qdef.setRulesets(markLogicDatasetGraph.getRulesets()); } bindVariables(qdef, this.initial, markLogicDatasetGraph); QueryDefinition constrainingQueryDefinition = markLogicDatasetGraph.getConstrainingQueryDefinition(); qdef.setConstrainingQueryDefinition(constrainingQueryDefinition); return qdef; }
qdef.setRulesets(SPARQLRuleset.SUBCLASS_OF); qdef.setIncludeDefaultRulesets(true); qdef.setSparql(sparqlInferQuery.toString()); qdef.setRulesets(SPARQLRuleset.SUBCLASS_OF, SPARQLRuleset.SUBPROPERTY_OF); qdef.setIncludeDefaultRulesets(true); qdef.setSparql(sparqlInferQuery.toString());
@Test public void testInference() throws Exception { gmgr.write("/ontology", new StringHandle(ontology).withMimetype("application/n-triples")); SPARQLQueryDefinition qdef = smgr.newQueryDefinition( "SELECT ?s { ?s a <http://example.org/C1> }"); qdef.setIncludeDefaultRulesets(false); StringHandle handle = new StringHandle().withMimetype(SPARQLMimeTypes.SPARQL_CSV); String results = smgr.executeSelect(qdef, handle).get(); assertEquals("%0D%0A", URLEncoder.encode(results, "utf8")); qdef.setRulesets(SPARQLRuleset.RANGE); results = smgr.executeSelect(qdef, handle).get(); assertEquals(1, countLines(parseCsv(results))); qdef.setRulesets(SPARQLRuleset.RANGE, SPARQLRuleset.DOMAIN); results = smgr.executeSelect(qdef, handle).get(); MappingIterator<Map<String,String>> csvRows = parseCsv(results); assertTrue(csvRows.hasNext()); Map<String,String> row = csvRows.next(); assertEquals("http://example.org/o1", row.get("s")); assertTrue(csvRows.hasNext()); row = csvRows.next(); assertEquals("http://example.org/s2", row.get("s")); assertFalse(csvRows.hasNext()); gmgr.delete("/ontology"); }