From: Beppe M. <bep...@gm...> - 2017-06-19 17:27:10
|
Hi to all I am trying to develop a SPARQL statement in a stored procedure related to a virtual graph (result of a R2RML mapping) having its IRI not hard coded, but contained in a variable. I have tried for example the following syntax, but the query does not return any triple. declare graphName varchar; graphName := 'http://example.com/resource'; for (sparql define input:storage " http://www.openlinksw.com/schemas/virtrdf#DefaultQuadStorage" select distinct ?class where { graph ?:graphName { ?s <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> ?class } } order by ?class ) do { -- do something string_to_file ('./dump/out.txt',"class" || '\n',-1); } ; As soon as I use the hard coded graph name in the SPARQL statement it works fine. ... select distinct ?class where { graph <http://example.com/resource> { ?s <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> ?class } } order by ?class ) do ... The same if I switch from a virtual graph to a real one. It works immediately with te graph in a variable. Like in the following code. declare graphName varchar; graphName := 'http://xmlns.com/foaf/0.1/'; for (sparql define input:storage "" select distinct ?class where { graph ?:graphName { ?s <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> ?class } } order by ?class limit 10 ) do { -- do something string_to_file ('./dump/out.txt',"class" || '\n',-1); } ; Any chance to have a virtual graph IRI contained in a variable in a working SPARQL statement? Thanks! Cheers Beppe |