-
-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bind(somefunctions()) interferes with outer service #241
Comments
The reason I think this should work is that the calls to
|
I've investigated a little bit the issue without figuring out the problem! I've just modified the query a bit to make it work, but this is very strange. I doubt that it can depend on sparql anything. |
haha. love that cheerfulness.
ah, you think it is a jena bug? |
The query posted originally by @justin2004 #241 (comment) doesn't work on v0.9-DEV -- I get SO: $ fx -q issue241_retrying.sparql
[main] INFO io.github.sparqlanything.model.Triplifier - Running command: bash -c echo 4,5,6
[main] INFO io.github.sparqlanything.model.Triplifier - Command stderr:
[main] INFO io.github.sparqlanything.model.Triplifier - Running command: bash -c echo 4,5,6
[main] INFO io.github.sparqlanything.model.Triplifier - Command stderr:
[main] INFO io.github.sparqlanything.model.Triplifier - Running command: bash -c echo 4,5,6
[main] INFO io.github.sparqlanything.model.Triplifier - Command stderr:
[main] INFO io.github.sparqlanything.model.Triplifier - Running command: bash -c echo 4,5,6
[main] INFO io.github.sparqlanything.model.Triplifier - Command stderr:
s,p,num,second_cmd,ss,pp,oo
Exception in thread "main" java.lang.StackOverflowError
at org.apache.jena.sparql.engine.binding.BindingBase.get(BindingBase.java:111)
|
In addition, explain |
:-D
Not sure, but the query breaks when BNODE or strUUID functions are used in BIND. SA engine does operate on extend operations and BNODE strUUID are standard SPARQL functions.
Maybe because ?num matches with URIs (fx:root) and container blank nodes. This is then concatenated with seq some strange behaviour. |
Actually, the following change makes it work: PREFIX fx: <http://sparql.xyz/facade-x/ns/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX xyz: <http://sparql.xyz/facade-x/data/>
SELECT *
WHERE
{
SERVICE <x-sparql-anything:>
{
SERVICE <x-sparql-anything:>
{ fx:properties
fx:command "echo 4,5,6" ;
fx:media-type "text/csv" .
[] fx:anySlot [ ?p ?num ] .
# BIND(bnode() AS ?bob) # breaks
# BIND(struuid() AS ?bob) # breaks
# BIND(concat("a","b") AS ?bob) # works
# BIND("lala" AS ?bob) # works
}
BIND(concat("seq ", ?num) AS ?second_cmd)
fx:properties
fx:command ?second_cmd ;
fx:media-type "text/plain" ;
fx:txt.split "\n" .
?ss ?pp ?oo
}
}
|
It is similar to that included via 9ddd3ee |
Oh I didn't notice you went through it already |
No problem, hope you will figure out the problem. |
This works as expected:
but if you uncomment the calls to
bind()
one at a time some of them cause the outer service to not return any results. That is, all the results come from the inner service.The text was updated successfully, but these errors were encountered: