Comments (9)
Thanks for reporting!
from comunica.
Thanks for reporting these findings @bergos!
@joachimvh I suspect this is similar to recent issues you fixed in the algebra (#1223 and #1294). Could you check if this is something that needs changes in the algebra? If not, I can have a closer look to see if changes are needed on the Comunica-side.
from comunica.
@joachimvh I suspect this is similar to recent issues you fixed in the algebra (#1223 and #1294). Could you check if this is something that needs changes in the algebra?
Note that for both those issues I didn't take the initial bindings into account. There already was an issue with the original query without adding bindings when converting to algebra and back to SPARQL. So I had a look here to see if there also was a similar issue.
In this case the generated SPARQL query was the same as the original query (again without applying bindings), except for the one in pre-binding-002
. There the output query is
SELECT ?this WHERE {
FILTER("false"^^<http://www.w3.org/2001/XMLSchema#boolean>
&& (?this = <http://datashapes.org/sh/tests/sparql/pre-binding/pre-binding-002.test#InvalidResource>))
}
So probably for that one there is a bug in the algebra where the filter scope gets pulled out of their group graph patterns and applied to a higher level. Tbh, reading the spec on this again, this is probably a misinterpretation I made when originally implementing this. I opened joachimvh/SPARQLAlgebra.js#105 for this.
But so for all the other ones I wouldn't know what the cause is. I didn't look into the effect of applying the bindings as I'm not sure how this works in Comunica. Is the query itself changed or is this applied afterwards?
from comunica.
So probably for that one there is a bug in the algebra where the filter scope gets pulled out of their group graph patterns and applied to a higher level. Tbh, reading the spec on this again, this is probably a misinterpretation I made when originally implementing this. I opened joachimvh/SPARQLAlgebra.js#105 for this.
Thanks! :-)
But so for all the other ones I wouldn't know what the cause is. I didn't look into the effect of applying the bindings as I'm not sure how this works in Comunica. Is the query itself changed or is this applied afterwards?
The handling of the initial bindings is done here, so mostly non-sparqlalgebrajs code indeed.
from comunica.
Related Issues (20)
- Support flags for REGEX / REPLACE HOT 1
- Integrate expression handling into comunica's bus system HOT 3
- @comunica/actor-query-operation-sparql-endpoint raises 'Unknown entity type: update' on SPARQL* Update queries HOT 1
- Return type inference and return value bound handling
- Bound check parsed literals
- Use bignumber.js in internal Decimal Literal
- @comunica/query-sparql raises 'Unknown entity type: update' on graphDB SPARQL Update queries. HOT 2
- Make proxy configurable for each source seperately HOT 3
- Absolute paths not supported by `COMUNICA_CONFIG` environment variable HOT 1
- BGP match failure with rdf:rest*/rdf:first plus garden path HOT 5
- Zero-or-more paths with variables slow due to lack of distinct subjects index HOT 10
- Enable strictFunctionTypes in tsc HOT 1
- Unrecognized media type HOT 3
- Query Issues with Ontop-created SPARQL endpoints HOT 5
- `service` requests out of order on query re-writes with `initialBindings` HOT 3
- Comunica configuration files use invalid IRIs HOT 4
- Duplicate bindings on construct query HOT 6
- DELETE/INSERT is deleting the quad but not updating the same value in the data store. HOT 8
- [Proxy] https://proxy.linkeddatafragments.org/ seems to be down HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from comunica.