Thanks, Andy! S.
On 4/11/17, 2:20 AM, "Andy Seaborne" <[email protected]> wrote: On 11/04/17 01:29, Dimov, Stefan wrote: > Another question in that order: > > Now: > > SELECT count(*) > FROM <http://ao.com/namedGraph/aaa> > { > { ?s ?p ?o } > } > > returns the number of the triples in aaa, correctly, but: > > SELECT count(*) > FROM NAMED <http://ao.com/namedGraph/aaa> > { > { ?s ?p ?o } > } > If you are querying the dataset, you don't need FROM / FROM NAMED: use GRAPH to access a named graph: SELECT count(*) { GRAPH <http://ao.com/namedGraph/aaa> { ?s ?p ?o } } Andy > returns zero. > > The explanation (in the docs) of the difference between FROM and FROM NAMED is a bit confusing and it’s not enough (for me) to understand, why the first is working and the second is not … > > S. > > On 4/10/17, 5:09 PM, "Dimov, Stefan" <[email protected]> wrote: > > Got it - it’s gotta be a real URI, with http and everything: > > http://ao.com/aaa > > The simple names, like: > > aaa > > don’t work … > > S. > > > On 4/10/17, 4:22 PM, "Dimov, Stefan" <[email protected]> wrote: > > I (almost) got it. > > Apparently, the data was loaded correctly. Now I can query the names of all the graphs: > > SELECT DISTINCT $g > { > GRAPH ?g { ?s ?p ?o } > } > > returns: > > { > "head": { > "vars": [ "g" ] > } , > "results": { > "bindings": [ > { > "g": { "type": "uri" , "value": "aaa" } > } , > { > "g": { "type": "uri" , "value": "bbb" } > } , > { > "g": { "type": "uri" , "value": "ccc" } > } , > { > "g": { "type": "uri" , "value": "ddd" } > } , > … > > or the data: > > SELECT count(*) > { > GRAPH ?g { ?s ?p ?o } > } > > returns: > > { > "head": { > "vars": [ ".1" ] > } , > "results": { > "bindings": [ > { > ".1": { "type": "literal" , "datatype": "http://www.w3.org/2001/XMLSchema#integer" , "value": "395721" } > } > ] > } > } > > but I still can’t figure out how to query specific named graph. This: > > SELECT count(*) > { > GRAPH <aaa> { ?s ?p ?o } > } > > should work. But actually it returns zero results: > > { > "head": { > "vars": [ ".1" ] > } , > "results": { > "bindings": [ > { > ".1": { "type": "literal" , "datatype": "http://www.w3.org/2001/XMLSchema#integer" , "value": "0" } > } > ] > } > } > > Any idea? > > S. > > > On 4/10/17, 2:06 PM, "Dimov, Stefan" <[email protected]> wrote: > > Hi, > > I’m using in-mem base and loading multiple named graphs in one data set, iterating thru : > > private static boolean loadGraphT(Dataset ds) { > … > String filename = … > String graphName = … > … > Model model = ds.getNamedModel(graphName); > ds.begin(ReadWrite.WRITE); > FileManager.get().readModel(model, fileName); > ds.commit(); > ds.end(); > return true; > } > > > > At start, after everything is read and data set is committed, I’m printing out the graph names and their sizes, to check, if everything was loaded: > > 2017-04-10 13:50:50 INFO Ontology:50 - Named graph aaa - 7855 triples > 2017-04-10 13:50:50 INFO Ontology:50 - Named graph bbb - 26 triples > 2017-04-10 13:50:50 INFO Ontology:50 - Named graph ccc - 4 triples > 2017-04-10 13:50:50 INFO Ontology:50 - Named graph ddd - 20000 triples > … > > After that I’m trying to query some data from a named graph: > > SELECT count ($s) > FROM NAMED <aaa> > { > { ?s ?p ?o } > } > > or trying to query it without specifying graph: > > SELECT count ($s) > { > { ?s ?p ?o } > } > > The result is empty: > > { > "head": { > "vars": [ ".1" ] > } , > "results": { > "bindings": [ > { > ".1": { "type": "literal" , "datatype": "http://www.w3.org/2001/XMLSchema#integer" , "value": "0" } > } > ] > } > } > > What am I doing wrong? > > S. > > > > > >
