Comments (2)
The final orientation for this Issue was:
We shall not allow inequalities for nodes and predicates inside
HAVING
clauses, only equalities are allowed there for them (for clarity and to avoid confusion with regards to what is indeed being compared - the ID or the type of a node (or both)? the ID or the timestamp of a predicate? and so on). In the case of inequalities an error should be returned instructing the user to use theID
/TYPE
/AT
keywords and leverage the extracted bindings to do these comparisons in a clearer way.For literals, on the other hand, we support both equalities and inequalities inside
HAVING
.
To illustrate, taking the example of predicate inequalities inside HAVING
clauses, the user shall be oriented to do something like:
SELECT ?s, ?p, ?o
FROM ?family
WHERE {
?s ?p ID ?pID AT ?time ?o
}
HAVING (?pID < "parent_of"^^type:text) AND (?time > 2016-03-01T00:00:00-08:00);
But, if the user wants to do just an equality they can do it directly (as it does not cause any confusion):
SELECT ?s, ?p, ?o
FROM ?family
WHERE {
?s ?p ?o
}
HAVING ?p = "parent_of"@[];
The same applies for nodes.
from badwolf.
This Issue was finished with the PRs: #117, #134, #137, #138.
Previous work done on this Issue (mainly regarding node and literal comparisons): #102, #100.
from badwolf.
Related Issues (20)
- BQL: trailing dot for sequential statements HOT 1
- Two ways of doing reification with CONSTRUCT are not yielding equivalent and correct results
- Reification inside CONSTRUCT is not accepting breakline before partial statements
- HAVING clause should not require parentheses when involving AND or OR
- Program freezes when querying time anchor on datasets with mixed mutable/immutable triples HOT 1
- Users should be able to specify if they want to include or not immutable triples on results from queries involving AFTER, BEFORE and BETWEEN
- Create documentation about OPTIONAL keyword HOT 1
- Allow more elaborate patterns (like specifying suffix/prefix) for bindings inside HAVING clauses HOT 1
- Expand support of TYPE extraction for literals and predicates too, in addition to nodes HOT 2
- FILTER keyword HOT 1
- TestPlannerQuery in planner_test.go should test deeper
- "BETWEEN start_date, end_date" should return an error if "start_date > end_date"
- Refactor tests in BadWolf to use t.Run()
- Make LIMIT be processed in the driver level
- Table results seems to contains a value with a empty binding
- Still active? HOT 9
- TestPartialUUID fails on Windows HOT 3
- BQL: Time anchor placeholders HOT 1
- Allow specifying only last temporal triple on queries HOT 6
- BQL: Support for optional clauses with default values HOT 5
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 badwolf.