Search in sources :

Example 51 with RDFNode

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);
}
Also used : RDFNode(org.apache.jena.rdf.model.RDFNode)

Example 52 with RDFNode

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"));
}
Also used : UpdateRequest(org.apache.jena.update.UpdateRequest) Dataset(org.apache.jena.query.Dataset) Literal(org.apache.jena.rdf.model.Literal) RDFNode(org.apache.jena.rdf.model.RDFNode) Node(org.apache.jena.graph.Node) Resource(org.apache.jena.rdf.model.Resource) Model(org.apache.jena.rdf.model.Model) RDFNode(org.apache.jena.rdf.model.RDFNode) Test(org.junit.Test)

Example 53 with RDFNode

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"));
}
Also used : Dataset(org.apache.jena.query.Dataset) Literal(org.apache.jena.rdf.model.Literal) RDFNode(org.apache.jena.rdf.model.RDFNode) Node(org.apache.jena.graph.Node) Resource(org.apache.jena.rdf.model.Resource) Model(org.apache.jena.rdf.model.Model) Property(org.apache.jena.rdf.model.Property) RDFNode(org.apache.jena.rdf.model.RDFNode) Test(org.junit.Test)

Example 54 with RDFNode

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;
}
Also used : Password(org.eclipse.jetty.util.security.Password) DatasetGraphFactory(org.apache.jena.sparql.core.DatasetGraphFactory) java.util(java.util) SetUtils(org.apache.jena.atlas.lib.SetUtils) DataAccessCtl(org.apache.jena.fuseki.access.DataAccessCtl) BeforeClass(org.junit.BeforeClass) DatasetGraph(org.apache.jena.sparql.core.DatasetGraph) Credential(org.eclipse.jetty.util.security.Credential) RunWith(org.junit.runner.RunWith) Parameters(org.junit.runners.Parameterized.Parameters) JettyLib(org.apache.jena.fuseki.jetty.JettyLib) FusekiServer(org.apache.jena.fuseki.main.FusekiServer) ConstraintSecurityHandler(org.eclipse.jetty.security.ConstraintSecurityHandler) RDFNode(org.apache.jena.rdf.model.RDFNode) QueryExceptionHTTP(org.apache.jena.sparql.engine.http.QueryExceptionHTTP) Model(org.apache.jena.rdf.model.Model) UserStore(org.eclipse.jetty.security.UserStore) QuerySolution(org.apache.jena.query.QuerySolution) Quad(org.apache.jena.sparql.core.Quad) TDBFactory(org.apache.jena.tdb.TDBFactory) Assert.fail(org.junit.Assert.fail) Iter(org.apache.jena.atlas.iterator.Iter) Parameterized(org.junit.runners.Parameterized) SecurityContextView(org.apache.jena.fuseki.access.SecurityContextView) AfterClass(org.junit.AfterClass) SecurityRegistry(org.apache.jena.fuseki.access.SecurityRegistry) HttpException(org.apache.jena.atlas.web.HttpException) SecurityContext(org.apache.jena.fuseki.access.SecurityContext) DatabaseMgr(org.apache.jena.tdb2.DatabaseMgr) Test(org.junit.Test) AccessTestLib(org.apache.jena.fuseki.main.access.AccessTestLib) Node(org.apache.jena.graph.Node) RDFConnection(org.apache.jena.rdfconnection.RDFConnection) Assert.assertEquals(org.junit.Assert.assertEquals) RDFConnection(org.apache.jena.rdfconnection.RDFConnection) QuerySolution(org.apache.jena.query.QuerySolution) RDFNode(org.apache.jena.rdf.model.RDFNode) Node(org.apache.jena.graph.Node)

Example 55 with RDFNode

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;
}
Also used : NodeIterator(org.apache.jena.rdf.model.NodeIterator) DatatypeFormatException(org.apache.jena.datatypes.DatatypeFormatException) Literal(org.apache.jena.rdf.model.Literal) RDFNode(org.apache.jena.rdf.model.RDFNode)

Aggregations

RDFNode (org.apache.jena.rdf.model.RDFNode)145 Resource (org.apache.jena.rdf.model.Resource)51 Model (org.apache.jena.rdf.model.Model)30 Statement (org.apache.jena.rdf.model.Statement)27 Test (org.junit.Test)26 ArrayList (java.util.ArrayList)22 Node (org.apache.jena.graph.Node)20 QuerySolution (org.apache.jena.query.QuerySolution)20 TextIndexException (org.apache.jena.query.text.TextIndexException)17 Property (org.apache.jena.rdf.model.Property)17 Literal (org.apache.jena.rdf.model.Literal)15 SecuredRDFNode (org.apache.jena.permissions.model.SecuredRDFNode)13 Dataset (org.apache.jena.query.Dataset)13 Triple (org.apache.jena.graph.Triple)12 QueryExecution (org.apache.jena.query.QueryExecution)10 StmtIterator (org.apache.jena.rdf.model.StmtIterator)9 Query (org.apache.jena.query.Query)8 NodeIterator (org.apache.jena.rdf.model.NodeIterator)8 RDFList (org.apache.jena.rdf.model.RDFList)8 AccessDeniedException (org.apache.jena.shared.AccessDeniedException)7