use of org.apache.jena.rdf.model.RDFNode in project jena by apache.
the class AbstractTestModel method testPresentAsRDFNode.
private void testPresentAsRDFNode(Node n, Class<? extends RDFNode> nodeClass) {
RDFNode r = model.asRDFNode(n);
assertSame(n, r.asNode());
assertInstanceOf(nodeClass, r);
}
use of org.apache.jena.rdf.model.RDFNode in project jena by apache.
the class UpdateBuilderExampleTests method example10.
/**
* Example 10:
*
* @see <a href=
* "https://www.w3.org/TR/sparql11-update/#example_10">sparql11-update
* example_10</a>
*/
@Test
public void example10() {
Resource book1 = ResourceFactory.createResource("http://example/book1");
Resource book3 = ResourceFactory.createResource("http://example/book3");
Resource book4 = ResourceFactory.createResource("http://example/book4");
Literal d1996 = ResourceFactory.createTypedLiteral("1996-01-01T00:00:00-02:00", XSDDatatype.XSDdateTime);
Literal d2000 = ResourceFactory.createTypedLiteral("2000-01-01T00:00:00-02:00", XSDDatatype.XSDdateTime);
Node graphName1 = NodeFactory.createURI("http://example/bookStore");
Node graphName2 = NodeFactory.createURI("http://example/bookStore2");
Model m1 = ModelFactory.createDefaultModel();
m1.add(book1, DC_11.title, "Fundamentals of Compiler Design");
m1.add(book1, DC_11.date, d1996);
m1.add(book1, RDF.type, DCTypes.PhysicalObject);
m1.add(book3, DC_11.title, "SPARQL 1.1 Tutorial");
Model m2 = ModelFactory.createDefaultModel();
m2.add(book4, DC_11.title, "SPARQL 1.1 Tutorial");
Dataset ds = DatasetFactory.create();
ds.addNamedModel(graphName1.getURI(), m1);
ds.addNamedModel(graphName2.getURI(), m2);
ExprFactory factory = new ExprFactory();
SelectBuilder ins = new SelectBuilder().addGraph(graphName2, new SelectBuilder().addWhere("?book", "?p", "?v"));
SelectBuilder whr = new SelectBuilder().addGraph(graphName1, new SelectBuilder().addWhere("?book", DC_11.date, "?date").addFilter(factory.lt("?date", d2000)).addWhere("?book", "?p", "?v"));
UpdateBuilder builder = new UpdateBuilder().addPrefix("dc", DC_11.NS).addPrefix("xsd", XSD.NS).addInsert(ins).addWhere(whr);
UpdateRequest req = builder.buildRequest();
builder = new UpdateBuilder().with(graphName1).addDelete("?book", "?p", "?v").addWhere("?book", DC_11.date, "?date").addWhere("?book", RDF.type, DCTypes.PhysicalObject).addFilter(factory.lt("?date", d2000)).addWhere("?book", "?p", "?v");
builder.appendTo(req);
UpdateAction.execute(req, ds);
m1 = ds.getNamedModel(graphName1.getURI());
assertEquals(1, m1.listStatements().toList().size());
assertTrue(m1.contains(book3, DC_11.title, "SPARQL 1.1 Tutorial"));
m2 = ds.getNamedModel(graphName2.getURI());
assertEquals(4, m2.listStatements().toList().size());
assertEquals(3, m2.listStatements(book1, null, (RDFNode) null).toList().size());
assertTrue(m2.contains(book1, DC_11.title, "Fundamentals of Compiler Design"));
assertTrue(m2.contains(book1, DC_11.date, d1996));
assertTrue(m2.contains(book1, RDF.type, DCTypes.PhysicalObject));
assertEquals(1, m2.listStatements(book4, null, (RDFNode) null).toList().size());
assertTrue(m2.contains(book4, DC_11.title, "SPARQL 1.1 Tutorial"));
}
use of org.apache.jena.rdf.model.RDFNode in project jena by apache.
the class UpdateBuilderExampleTests method example8.
/**
* Example 8:
*
* @see <a href=
* "https://www.w3.org/TR/sparql11-update/#example_8">sparql11-update
* example_8</a>
*/
@Test
public void example8() {
Resource book1 = ResourceFactory.createResource("http://example/book1");
Resource book2 = ResourceFactory.createResource("http://example/book2");
Resource book3 = ResourceFactory.createResource("http://example/book3");
Resource book4 = ResourceFactory.createResource("http://example/book4");
Literal d1977 = ResourceFactory.createTypedLiteral("1977-01-01T00:00:00-02:00", XSDDatatype.XSDdateTime);
Literal d1970 = ResourceFactory.createTypedLiteral("1970-01-01T00:00:00-02:00", XSDDatatype.XSDdateTime);
Literal d1948 = ResourceFactory.createTypedLiteral("1948-01-01T00:00:00-02:00", XSDDatatype.XSDdateTime);
Property price = ResourceFactory.createProperty(NS_prefix + "price");
Literal priceV = ResourceFactory.createPlainLiteral("42");
Node graphName1 = NodeFactory.createURI("http://example/bookStore");
Node graphName2 = NodeFactory.createURI("http://example/bookStore2");
Model m1 = ModelFactory.createDefaultModel();
m1.add(book1, DC_11.title, "Fundamentals of Compiler Design");
m1.add(book1, DC_11.date, d1977);
m1.add(book2, price, priceV);
m1.add(book2, DC_11.title, "David Copperfield");
m1.add(book2, DC_11.creator, "Edmund Wells");
m1.add(book2, DC_11.date, d1948);
m1.add(book3, DC_11.title, "SPARQL 1.1 Tutorial");
Model m2 = ModelFactory.createDefaultModel();
m2.add(book4, DC_11.title, "SPARQL 1.1 Tutorial");
Dataset ds = DatasetFactory.create();
ds.addNamedModel(graphName1.getURI(), m1);
ds.addNamedModel(graphName2.getURI(), m2);
ExprFactory factory = new ExprFactory();
SelectBuilder ins = new SelectBuilder().addGraph(graphName2, new SelectBuilder().addWhere("?book", "?p", "?v"));
SelectBuilder whr = new SelectBuilder().addGraph(graphName1, new SelectBuilder().addWhere("?book", DC_11.date, "?date").addFilter(factory.gt("?date", d1970)).addWhere("?book", "?p", "?v"));
UpdateBuilder builder = new UpdateBuilder().addPrefix("dc", DC_11.NS).addPrefix("xsd", XSD.NS).addInsert(ins).addWhere(whr);
UpdateAction.execute(builder.build(), ds);
m1 = ds.getNamedModel(graphName1.getURI());
assertEquals(7, m1.listStatements().toList().size());
assertEquals(2, m1.listStatements(book1, null, (RDFNode) null).toList().size());
assertTrue(m1.contains(book1, DC_11.title, "Fundamentals of Compiler Design"));
assertTrue(m1.contains(book1, DC_11.date, d1977));
assertEquals(4, m1.listStatements(book2, null, (RDFNode) null).toList().size());
assertTrue(m1.contains(book2, price, priceV));
assertTrue(m1.contains(book2, DC_11.title, "David Copperfield"));
assertTrue(m1.contains(book2, DC_11.creator, "Edmund Wells"));
assertTrue(m1.contains(book2, DC_11.date, d1948));
assertEquals(1, m1.listStatements(book3, null, (RDFNode) null).toList().size());
assertTrue(m1.contains(book3, DC_11.title, "SPARQL 1.1 Tutorial"));
m2 = ds.getNamedModel(graphName2.getURI());
assertEquals(3, m2.listStatements().toList().size());
assertEquals(2, m2.listStatements(book1, null, (RDFNode) null).toList().size());
assertTrue(m2.contains(book1, DC_11.title, "Fundamentals of Compiler Design"));
assertTrue(m2.contains(book1, DC_11.date, d1977));
assertEquals(1, m2.listStatements(book4, null, (RDFNode) null).toList().size());
assertTrue(m2.contains(book4, DC_11.title, "SPARQL 1.1 Tutorial"));
}
use of org.apache.jena.rdf.model.RDFNode in project jena by apache.
the class TestSecurityFilterFuseki method query.
private Set<Node> query(String user, String password, String queryString) {
Set<Node> results = new HashSet<>();
try (RDFConnection conn = RDFConnection.connectPW(baseUrl, user, password)) {
conn.queryResultSet(queryString, rs -> {
List<QuerySolution> list = Iter.toList(rs);
list.stream().map(qs -> qs.get("s")).filter(Objects::nonNull).map(RDFNode::asNode).forEach(n -> results.add(n));
});
}
return results;
}
use of org.apache.jena.rdf.model.RDFNode in project jena by apache.
the class GeoSPARQLOperations method validateGeometryLiteral.
/**
* Validate Geometry Literal in Model.
*
* @param model
* @return Whether model is valid.
*/
public static final boolean validateGeometryLiteral(Model model) {
// Get current state of index and switch it off temporarily.
boolean isIndexActive = GeometryLiteralIndex.isIndexActive();
GeometryLiteralIndex.setIndexActive(false);
boolean isValid = true;
NodeIterator nodeIt = model.listObjectsOfProperty(Geo.HAS_DEFAULT_GEOMETRY_PROP);
while (nodeIt.hasNext()) {
RDFNode node = nodeIt.nextNode();
try {
Literal geometryLiteral = node.asLiteral();
GeometryWrapper.extract(geometryLiteral);
} catch (DatatypeFormatException ex) {
// Error messages should already have been issued. Catch exception so can continue on whole dataset.
isValid = false;
}
}
// Switch index back on if it was on.
GeometryLiteralIndex.setIndexActive(isIndexActive);
return isValid;
}
Aggregations