On 09/07/12 13:45, Milorad Tosic wrote:


Hi,

I am aware of some earlier discussions on the list about blank nodes as well as 
discussions on other places (e.g. [1]). So, my intention here is not to launch 
a general purpose theoretic discussion here. Instead, I would focus on the 
following question:

In the paper [2], authors say: "For example, ARQ is a commonly (re)used SPARQL processor 
which supports a non-standard <_:b1> style syntax for terms in queries, indicating that 
the term can only be bound by a blank node labeled “b1” in the data." However, a simple 
query like the following


SELECT DISTINCT ?pp ?oo
WHERE {
  <_:b1> ?pp ?oo .

This must the internal identifier,and "b1" is not that.

You need to get the real internal identifier:

1/ At the API, it's the AnonId from Resource.getId();
2/ To get the protocol engine to expose internal identifiers, ensure the server is running with these context settings

Call
ARQ.enableBlankNodeResultLabels(true) ;

The TSV format output outputs (encoded) bnodes internal identifiers anyway.

}

gives an empty result set even though query

SELECT DISTINCT ?s ?pp ?oo
WHERE {
  ?s ?pp ?oo .
  FILTER (isBlank(?s))
}

gives result set where _:b1 appears several times.

Irrelevent :-)

That "_:b1" is, I guess, the result-file-scoped translation, Normally internal identifiers aren't exposed.


So, the question is whether I am using wrong syntax or something has changed in 
ARQ or else?

What's your setup?  How are you making the query?


Thanks,

Milorad


[1] http://www.w3.org/wiki/BnodeSkolemization
[2] web.ing.puc.cl/~marenas/publications/iswc11.pdf



Reply via email to