@Test public void testPropertyPathInTree() throws Exception { loadTestData("/testdata-query/dataset-query.trig"); StringBuilder query = new StringBuilder(); query.append(getNamespaceDeclarations()); query.append(" SELECT ?node ?name "); query.append(" FROM ex:tree-graph "); query.append(" WHERE { ?node ex:hasParent+ ex:b . ?node ex:name ?name . }"); TupleQuery tq = conn.prepareTupleQuery(QueryLanguage.SPARQL, query.toString()); try { TupleQueryResult result = tq.evaluate(); assertNotNull(result); while (result.hasNext()) { BindingSet bs = result.next(); assertNotNull(bs); System.out.println(bs); } result.close(); } catch (QueryEvaluationException e) { e.printStackTrace(); fail(e.getMessage()); } }
@Test public void testPropertyPathInTree() throws Exception { loadTestData("/testdata-query/dataset-query.trig"); StringBuilder query = new StringBuilder(); query.append(getNamespaceDeclarations()); query.append(" SELECT ?node ?name "); query.append(" FROM ex:tree-graph "); query.append(" WHERE { ?node ex:hasParent+ ex:b . ?node ex:name ?name . }"); TupleQuery tq = conn.prepareTupleQuery(QueryLanguage.SPARQL, query.toString()); try { TupleQueryResult result = tq.evaluate(); assertNotNull(result); while (result.hasNext()) { BindingSet bs = result.next(); assertNotNull(bs); System.out.println(bs); } result.close(); } catch (QueryEvaluationException e) { e.printStackTrace(); fail(e.getMessage()); } }
@Test public void testDescribeB() throws Exception { loadTestData("/testdata-query/dataset-describe.trig"); StringBuilder query = new StringBuilder(); query.append(getNamespaceDeclarations()); query.append("DESCRIBE ex:b"); GraphQuery gq = conn.prepareGraphQuery(QueryLanguage.SPARQL, query.toString()); ValueFactory f = conn.getValueFactory(); URI b = f.createURI("http://example.org/b"); URI p = f.createURI("http://example.org/p"); Model result = QueryResults.asModel(gq.evaluate()); Set<Resource> subjects = result.filter(null, p, b).subjects(); assertNotNull(subjects); for (Value subject : subjects) { if (subject instanceof BNode) { assertTrue(result.contains(null, null, subject)); } } }
@Test public void testDescribeB() throws Exception { loadTestData("/testdata-query/dataset-describe.trig"); StringBuilder query = new StringBuilder(); query.append(getNamespaceDeclarations()); query.append("DESCRIBE ex:b"); GraphQuery gq = conn.prepareGraphQuery(QueryLanguage.SPARQL, query.toString()); ValueFactory f = conn.getValueFactory(); IRI b = f.createIRI("http://example.org/b"); IRI p = f.createIRI("http://example.org/p"); Model result = QueryResults.asModel(gq.evaluate()); Set<Resource> subjects = result.filter(null, p, b).subjects(); assertNotNull(subjects); for (Value subject : subjects) { if (subject instanceof BNode) { assertTrue(result.contains(null, null, subject)); } } }
@Test public void testDescribeAWhere() throws Exception { loadTestData("/testdata-query/dataset-describe.trig"); StringBuilder query = new StringBuilder(); query.append(getNamespaceDeclarations()); query.append("DESCRIBE ?x WHERE {?x rdfs:label \"a\". } "); GraphQuery gq = conn.prepareGraphQuery(QueryLanguage.SPARQL, query.toString()); ValueFactory f = conn.getValueFactory(); URI a = f.createURI("http://example.org/a"); URI p = f.createURI("http://example.org/p"); Model result = QueryResults.asModel(gq.evaluate()); Set<Value> objects = result.filter(a, p, null).objects(); assertNotNull(objects); for (Value object : objects) { if (object instanceof BNode) { assertTrue(result.contains((Resource)object, null, null)); assertEquals(2, result.filter((Resource)object, null, null).size()); } } }
@Test public void testDescribeA() throws Exception { loadTestData("/testdata-query/dataset-describe.trig"); StringBuilder query = new StringBuilder(); query.append(getNamespaceDeclarations()); query.append("DESCRIBE ex:a"); GraphQuery gq = conn.prepareGraphQuery(QueryLanguage.SPARQL, query.toString()); ValueFactory f = conn.getValueFactory(); URI a = f.createURI("http://example.org/a"); URI p = f.createURI("http://example.org/p"); Model result = QueryResults.asModel(gq.evaluate()); Set<Value> objects = result.filter(a, p, null).objects(); assertNotNull(objects); for (Value object : objects) { if (object instanceof BNode) { assertTrue(result.contains((Resource)object, null, null)); assertEquals(2, result.filter((Resource)object, null, null).size()); } } }
@Test public void testDescribeA() throws Exception { loadTestData("/testdata-query/dataset-describe.trig"); StringBuilder query = new StringBuilder(); query.append(getNamespaceDeclarations()); query.append("DESCRIBE ex:a"); GraphQuery gq = conn.prepareGraphQuery(QueryLanguage.SPARQL, query.toString()); ValueFactory f = conn.getValueFactory(); IRI a = f.createIRI("http://example.org/a"); IRI p = f.createIRI("http://example.org/p"); Model result = QueryResults.asModel(gq.evaluate()); Set<Value> objects = result.filter(a, p, null).objects(); assertNotNull(objects); for (Value object : objects) { if (object instanceof BNode) { assertTrue(result.contains((Resource)object, null, null)); assertEquals(2, result.filter((Resource)object, null, null).size()); } } }
@Test public void testDescribeAWhere() throws Exception { loadTestData("/testdata-query/dataset-describe.trig"); StringBuilder query = new StringBuilder(); query.append(getNamespaceDeclarations()); query.append("DESCRIBE ?x WHERE {?x rdfs:label \"a\". } "); GraphQuery gq = conn.prepareGraphQuery(QueryLanguage.SPARQL, query.toString()); ValueFactory f = conn.getValueFactory(); IRI a = f.createIRI("http://example.org/a"); IRI p = f.createIRI("http://example.org/p"); Model result = QueryResults.asModel(gq.evaluate()); Set<Value> objects = result.filter(a, p, null).objects(); assertNotNull(objects); for (Value object : objects) { if (object instanceof BNode) { assertTrue(result.contains((Resource)object, null, null)); assertEquals(2, result.filter((Resource)object, null, null).size()); } } }
@Test public void testDescribeMultipleB() throws Exception { String update = "insert data { <urn:1> <urn:p1> <urn:v> . <urn:1> <urn:blank> [] . <urn:2> <urn:p2> <urn:3> . } "; conn.prepareUpdate(QueryLanguage.SPARQL, update).execute(); StringBuilder query = new StringBuilder(); query.append(getNamespaceDeclarations()); query.append("DESCRIBE <urn:1> <urn:2> "); GraphQuery gq = conn.prepareGraphQuery(QueryLanguage.SPARQL, query.toString()); ValueFactory vf = conn.getValueFactory(); IRI urn1 = vf.createIRI("urn:1"); IRI p1 = vf.createIRI("urn:p1"); IRI p2 = vf.createIRI("urn:p2"); IRI urn2 = vf.createIRI("urn:2"); IRI blank = vf.createIRI("urn:blank"); Model result = QueryResults.asModel(gq.evaluate()); assertTrue(result.contains(urn1, p1, null)); assertTrue(result.contains(urn1, blank, null)); assertTrue(result.contains(urn2, p2, null)); }
@Test public void testDescribeMultipleA() throws Exception { String update = "insert data { <urn:1> <urn:p1> <urn:v> . [] <urn:blank> <urn:1> . <urn:2> <urn:p2> <urn:3> . } "; conn.prepareUpdate(QueryLanguage.SPARQL, update).execute(); StringBuilder query = new StringBuilder(); query.append(getNamespaceDeclarations()); query.append("DESCRIBE <urn:1> <urn:2> "); GraphQuery gq = conn.prepareGraphQuery(QueryLanguage.SPARQL, query.toString()); ValueFactory vf = conn.getValueFactory(); IRI urn1 = vf.createIRI("urn:1"); IRI p1 = vf.createIRI("urn:p1"); IRI p2 = vf.createIRI("urn:p2"); IRI urn2 = vf.createIRI("urn:2"); IRI blank = vf.createIRI("urn:blank"); Model result = QueryResults.asModel(gq.evaluate()); assertTrue(result.contains(urn1, p1, null)); assertTrue(result.contains(null, blank, urn1)); assertTrue(result.contains(urn2, p2, null)); }
@Test public void testDescribeMultipleC() throws Exception { String update = "insert data { <urn:1> <urn:p1> <urn:v> . [] <urn:blank> <urn:1>. <urn:1> <urn:blank> [] . <urn:2> <urn:p2> <urn:3> . } "; conn.prepareUpdate(QueryLanguage.SPARQL, update).execute(); StringBuilder query = new StringBuilder(); query.append(getNamespaceDeclarations()); query.append("DESCRIBE <urn:1> <urn:2> "); GraphQuery gq = conn.prepareGraphQuery(QueryLanguage.SPARQL, query.toString()); ValueFactory vf = conn.getValueFactory(); IRI urn1 = vf.createIRI("urn:1"); IRI p1 = vf.createIRI("urn:p1"); IRI p2 = vf.createIRI("urn:p2"); IRI urn2 = vf.createIRI("urn:2"); IRI blank = vf.createIRI("urn:blank"); Model result = QueryResults.asModel(gq.evaluate()); assertTrue(result.contains(urn1, p1, null)); assertTrue(result.contains(urn1, blank, null)); assertTrue(result.contains(null, blank, urn1)); assertTrue(result.contains(urn2, p2, null)); }
@Test public void testDescribeF() throws Exception { loadTestData("/testdata-query/dataset-describe.trig"); StringBuilder query = new StringBuilder(); query.append(getNamespaceDeclarations()); query.append("DESCRIBE ex:f"); GraphQuery gq = conn.prepareGraphQuery(QueryLanguage.SPARQL, query.toString()); ValueFactory vf = conn.getValueFactory(); IRI f = vf.createIRI("http://example.org/f"); IRI p = vf.createIRI("http://example.org/p"); Model result = QueryResults.asModel(gq.evaluate()); assertNotNull(result); assertEquals(4, result.size()); Set<Value> objects = result.filter(f, p, null).objects(); assertNotNull(objects); for (Value object : objects) { if (object instanceof BNode) { Set<Value> childObjects = result.filter((BNode)object, null, null).objects(); assertNotNull(childObjects); for (Value childObject : childObjects) { if (childObject instanceof BNode) { assertTrue(result.contains((BNode)childObject, null, null)); } } } } }
@Test public void testDescribeF() throws Exception { loadTestData("/testdata-query/dataset-describe.trig"); StringBuilder query = new StringBuilder(); query.append(getNamespaceDeclarations()); query.append("DESCRIBE ex:f"); GraphQuery gq = conn.prepareGraphQuery(QueryLanguage.SPARQL, query.toString()); ValueFactory vf = conn.getValueFactory(); URI f = vf.createURI("http://example.org/f"); URI p = vf.createURI("http://example.org/p"); Model result = QueryResults.asModel(gq.evaluate()); assertNotNull(result); assertEquals(4, result.size()); Set<Value> objects = result.filter(f, p, null).objects(); assertNotNull(objects); for (Value object : objects) { if (object instanceof BNode) { Set<Value> childObjects = result.filter((BNode)object, null, null).objects(); assertNotNull(childObjects); for (Value childObject : childObjects) { if (childObject instanceof BNode) { assertTrue(result.contains((BNode)childObject, null, null)); } } } } }
@Test public void testPropertyPathInTree() throws Exception { loadTestData("/testdata-query/dataset-query.trig"); StringBuilder query = new StringBuilder(); query.append(getNamespaceDeclarations()); query.append(" SELECT ?node ?name "); query.append(" FROM ex:tree-graph "); query.append(" WHERE { ?node ex:hasParent+ ex:b . ?node ex:name ?name . }"); TupleQuery tq = conn.prepareTupleQuery(QueryLanguage.SPARQL, query.toString()); try { TupleQueryResult result = tq.evaluate(); assertNotNull(result); while (result.hasNext()) { BindingSet bs = result.next(); assertNotNull(bs); System.out.println(bs); } result.close(); } catch (QueryEvaluationException e) { e.printStackTrace(); fail(e.getMessage()); } }
@Test public void testDescribeMultipleD() throws Exception { String update = "insert data { <urn:1> <urn:p1> <urn:v> . [] <urn:blank> <urn:1>. <urn:2> <urn:p2> <urn:3> . [] <urn:blank> <urn:2> . <urn:4> <urn:p2> <urn:3> . <urn:4> <urn:blank> [] .} "; conn.prepareUpdate(QueryLanguage.SPARQL, update).execute(); StringBuilder query = new StringBuilder(); query.append(getNamespaceDeclarations()); query.append("DESCRIBE <urn:1> <urn:2> <urn:4> "); GraphQuery gq = conn.prepareGraphQuery(QueryLanguage.SPARQL, query.toString()); ValueFactory vf = conn.getValueFactory(); IRI urn1 = vf.createIRI("urn:1"); IRI p1 = vf.createIRI("urn:p1"); IRI p2 = vf.createIRI("urn:p2"); IRI urn2 = vf.createIRI("urn:2"); IRI urn4 = vf.createIRI("urn:4"); IRI blank = vf.createIRI("urn:blank"); Model result = QueryResults.asModel(gq.evaluate()); assertTrue(result.contains(urn1, p1, null)); assertTrue(result.contains(null, blank, urn1)); assertTrue(result.contains(urn2, p2, null)); assertTrue(result.contains(urn4, p2, null)); assertTrue(result.contains(urn4, blank, null)); }
@Test public void testDescribeB() throws Exception { loadTestData("/testdata-query/dataset-describe.trig"); StringBuilder query = new StringBuilder(); query.append(getNamespaceDeclarations()); query.append("DESCRIBE ex:b"); GraphQuery gq = conn.prepareGraphQuery(QueryLanguage.SPARQL, query.toString()); ValueFactory f = conn.getValueFactory(); URI b = f.createURI("http://example.org/b"); URI p = f.createURI("http://example.org/p"); Model result = QueryResults.asModel(gq.evaluate()); Set<Resource> subjects = result.filter(null, p, b).subjects(); assertNotNull(subjects); for (Value subject : subjects) { if (subject instanceof BNode) { assertTrue(result.contains(null, null, subject)); } } }
@Test public void testDescribeA() throws Exception { loadTestData("/testdata-query/dataset-describe.trig"); StringBuilder query = new StringBuilder(); query.append(getNamespaceDeclarations()); query.append("DESCRIBE ex:a"); GraphQuery gq = conn.prepareGraphQuery(QueryLanguage.SPARQL, query.toString()); ValueFactory f = conn.getValueFactory(); URI a = f.createURI("http://example.org/a"); URI p = f.createURI("http://example.org/p"); Model result = QueryResults.asModel(gq.evaluate()); Set<Value> objects = result.filter(a, p, null).objects(); assertNotNull(objects); for (Value object : objects) { if (object instanceof BNode) { assertTrue(result.contains((Resource)object, null, null)); assertEquals(2, result.filter((Resource)object, null, null).size()); } } }
@Test public void testDescribeAWhere() throws Exception { loadTestData("/testdata-query/dataset-describe.trig"); StringBuilder query = new StringBuilder(); query.append(getNamespaceDeclarations()); query.append("DESCRIBE ?x WHERE {?x rdfs:label \"a\". } "); GraphQuery gq = conn.prepareGraphQuery(QueryLanguage.SPARQL, query.toString()); ValueFactory f = conn.getValueFactory(); URI a = f.createURI("http://example.org/a"); URI p = f.createURI("http://example.org/p"); Model result = QueryResults.asModel(gq.evaluate()); Set<Value> objects = result.filter(a, p, null).objects(); assertNotNull(objects); for (Value object : objects) { if (object instanceof BNode) { assertTrue(result.contains((Resource)object, null, null)); assertEquals(2, result.filter((Resource)object, null, null).size()); } } }
query.append(getNamespaceDeclarations()); query.append("DESCRIBE ?x WHERE {?x rdfs:label ?y . } ");
@Test public void testDescribeF() throws Exception { loadTestData("/testdata-query/dataset-describe.trig"); StringBuilder query = new StringBuilder(); query.append(getNamespaceDeclarations()); query.append("DESCRIBE ex:f"); GraphQuery gq = conn.prepareGraphQuery(QueryLanguage.SPARQL, query.toString()); ValueFactory vf = conn.getValueFactory(); URI f = vf.createURI("http://example.org/f"); URI p = vf.createURI("http://example.org/p"); Model result = QueryResults.asModel(gq.evaluate()); assertNotNull(result); assertEquals(4, result.size()); Set<Value> objects = result.filter(f, p, null).objects(); assertNotNull(objects); for (Value object : objects) { if (object instanceof BNode) { Set<Value> childObjects = result.filter((BNode)object, null, null).objects(); assertNotNull(childObjects); for (Value childObject : childObjects) { if (childObject instanceof BNode) { assertTrue(result.contains((BNode)childObject, null, null)); } } } } }