You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by "Michael Schmidt (JIRA)" <ji...@apache.org> on 2015/09/01 12:24:45 UTC
[jira] [Updated] (JENA-1018) Variable Scoping Issues
[ https://issues.apache.org/jira/browse/JENA-1018?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Schmidt updated JENA-1018:
----------------------------------
Description:
Consider the sample data
{code}
<http://example.com/Alice> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.com/Person> .
<http://example.com/Flipper> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.com/Animal> .
{code}
and the following three queries:
{code}
SELECT ?s ?type WHERE {
BIND("http://example.com/" AS ?typeBase)
{
BIND(URI(CONCAT(?typeBase,"Person")) AS ?type)
?s ?p ?o
FILTER(?o=?type)
}
}
{code}
{code}
SELECT ?s ?type WHERE {
BIND("http://example.com/" AS ?typeBase)
{
BIND(URI(CONCAT(?typeBase,"Person")) AS ?type)
?s ?p ?o
FILTER(?o=?type)
}
UNION
{
BIND(URI(CONCAT(?typeBase,"Animal")) AS ?type)
?s ?p ?o
FILTER(?o=?type)
}
}
{code}
{code}
SELECT ?s ?type WHERE {
{
BIND(URI(CONCAT(?typeBase,"Person")) AS ?type)
?s a ?o
FILTER(?o=?type)
}
UNION
{
BIND(URI(CONCAT(?typeBase,"Animal")) AS ?type)
?s a ?o
FILTER(?o=?type)
}
} VALUES (?typeBase) { ("http://example.com/") }
{code}
As discussed in thread https://lists.w3.org/Archives/Public/public-sparql-dev/2015JulSep/0026.html, in all cases variable ?typeBase is not in scope when binding variable ?type. As a consequence, all queries should return the empty result. However, with apache-jena-3.0.0 (tested with sparql batch script) yield results.
was:
Consider the following queries over the sample data
<http://example.com/Alice> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.com/Person> .
<http://example.com/Flipper> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.com/Animal> .
{code}
SELECT ?s ?type WHERE {
BIND("http://example.com/" AS ?typeBase)
{
BIND(URI(CONCAT(?typeBase,"Person")) AS ?type)
?s ?p ?o
FILTER(?o=?type)
}
}
{code}
{code}
SELECT ?s ?type WHERE {
BIND("http://example.com/" AS ?typeBase)
{
BIND(URI(CONCAT(?typeBase,"Person")) AS ?type)
?s ?p ?o
FILTER(?o=?type)
}
UNION
{
BIND(URI(CONCAT(?typeBase,"Animal")) AS ?type)
?s ?p ?o
FILTER(?o=?type)
}
}
{code}
{code}
SELECT ?s ?type WHERE {
{
BIND(URI(CONCAT(?typeBase,"Person")) AS ?type)
?s a ?o
FILTER(?o=?type)
}
UNION
{
BIND(URI(CONCAT(?typeBase,"Animal")) AS ?type)
?s a ?o
FILTER(?o=?type)
}
} VALUES (?typeBase) { ("http://example.com/") }
{code}
As discussed in thread https://lists.w3.org/Archives/Public/public-sparql-dev/2015JulSep/0026.html, in all cases variable ?typeBase is not in scope when binding variable ?type. As a consequence, all queries should return the empty result. However, with apache-jena-3.0.0 (tested with sparql batch script) yield results.
> Variable Scoping Issues
> -----------------------
>
> Key: JENA-1018
> URL: https://issues.apache.org/jira/browse/JENA-1018
> Project: Apache Jena
> Issue Type: Bug
> Components: Optimizer
> Affects Versions: Jena 3.0.0
> Reporter: Michael Schmidt
>
> Consider the sample data
> {code}
> <http://example.com/Alice> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.com/Person> .
> <http://example.com/Flipper> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.com/Animal> .
> {code}
> and the following three queries:
> {code}
> SELECT ?s ?type WHERE {
> BIND("http://example.com/" AS ?typeBase)
> {
> BIND(URI(CONCAT(?typeBase,"Person")) AS ?type)
> ?s ?p ?o
> FILTER(?o=?type)
> }
> }
> {code}
> {code}
> SELECT ?s ?type WHERE {
> BIND("http://example.com/" AS ?typeBase)
> {
> BIND(URI(CONCAT(?typeBase,"Person")) AS ?type)
> ?s ?p ?o
> FILTER(?o=?type)
> }
> UNION
> {
> BIND(URI(CONCAT(?typeBase,"Animal")) AS ?type)
> ?s ?p ?o
> FILTER(?o=?type)
> }
> }
> {code}
> {code}
> SELECT ?s ?type WHERE {
> {
> BIND(URI(CONCAT(?typeBase,"Person")) AS ?type)
> ?s a ?o
> FILTER(?o=?type)
> }
> UNION
> {
> BIND(URI(CONCAT(?typeBase,"Animal")) AS ?type)
> ?s a ?o
> FILTER(?o=?type)
> }
> } VALUES (?typeBase) { ("http://example.com/") }
> {code}
> As discussed in thread https://lists.w3.org/Archives/Public/public-sparql-dev/2015JulSep/0026.html, in all cases variable ?typeBase is not in scope when binding variable ?type. As a consequence, all queries should return the empty result. However, with apache-jena-3.0.0 (tested with sparql batch script) yield results.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)