@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(); 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 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(); 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 testSES2104ConstructBGPSameURI() throws Exception { final String queryStr = "PREFIX : <urn:> CONSTRUCT {:x :p :x } WHERE {} "; conn.add(new StringReader("@prefix : <urn:> . :a :p :b . "), "", RDFFormat.TURTLE); final IRI x = conn.getValueFactory().createIRI("urn:x"); final IRI p = conn.getValueFactory().createIRI("urn:p"); GraphQuery query = conn.prepareGraphQuery(QueryLanguage.SPARQL, queryStr); Model result = QueryResults.asModel(query.evaluate()); assertNotNull(result); assertFalse(result.isEmpty()); assertTrue(result.contains(x, p, x)); }
@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(); 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 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 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)); }
URI p = f.createURI("http://example.org/p"); URI e = f.createURI("http://example.org/e"); Model result = QueryResults.asModel(gq.evaluate());
@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()); } } }
@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)); } } } } }
URI p = f.createURI("http://example.org/p"); URI e = f.createURI("http://example.org/e"); Model result = QueryResults.asModel(gq.evaluate());
URI p = vf.createURI("http://example.org/p"); Model result = QueryResults.asModel(gq.evaluate()); assertTrue(result.contains(a, p, null)); assertTrue(result.contains(b, RDFS.LABEL, null));