GitHub user spmallette opened a pull request:
https://github.com/apache/tinkerpop/pull/902
TINKERPOP-1878 sparql-gremlin
https://issues.apache.org/jira/browse/TINKERPOP-1878
I think this is ready for review. As an engine it stands on its own pretty
well as our first compiler. Still needs GLV support but personally I don't
think that's a massive problem for getting this onto 3.4.0 - if we had to
release without GLV support I think we could do so. We do need a pattern for
sorting out additional traversal sources in GLVs anyway and I think that's too
different a body of work to place in front of this.
VOTE +1
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/apache/tinkerpop TINKERPOP-1878
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/tinkerpop/pull/902.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #902
----
commit c4244ce47387fbe45e7ce26915a5ba418fc30725
Author: harsh9t <harsh9t@...>
Date: 2018-01-18T00:33:29Z
Initial commit for sparql-gremlin changes
commit b0f8a612c5026421e3f67311e039afcce0f64964
Author: Stephen Mallette <spmva@...>
Date: 2018-01-24T20:23:57Z
TINKERPOP-1878 sparql-gremlin is now building
Fixed some basic pom.xml issues and resolved dependency conflicts.
commit eadb8b947823878748b09b27e2e5f06a7379ecc2
Author: Stephen Mallette <spmva@...>
Date: 2018-01-24T22:04:27Z
TINKERPOP-1878 Added some Traversal infrastructure
This is the start of getting Sparql working as a DSL in TinkerPop
commit c9401171ccf923661295f4c7feddb7df94925d66
Author: Stephen Mallette <spmva@...>
Date: 2018-01-25T19:46:31Z
TINKERPOP-1878 Added a basics for sparql execution in a traversal
commit ad8bba6097782f35d9ad7e626ed23e364532a7b1
Author: Stephen Mallette <spmva@...>
Date: 2018-01-25T19:49:18Z
TINKERPOP-1878 Dropped the console app
This allows TinkerGraph to remain a test dependency only and the console
app was more of a test rig than something that a user of this library would
use, so it seemed like something that could be dropped.
commit 48ae8aa2bd5db3f8a060f11bab8bf5d848d12c27
Author: Stephen Mallette <spmva@...>
Date: 2018-01-25T20:36:53Z
TINKERPOP-1878 Minor javadoc and code cleanup
commit 7171f37de7f2ffe501e907b7fc922aaf31263a51
Author: Stephen Mallette <spmva@...>
Date: 2018-01-25T22:00:54Z
TINKERPOP-1878 sparql() step works over remoting
At this point it is only tested to work with Gryo 3.0. Fixed a bug with how
dynamic gryo registrations work - they failed if you didn't have a specific
serializer specified. Introduced a bit of a hack to make SparqlTraversalSource
behave like a GraphTraversalSource and thus more cleanly follow the DSL
pattern. Not sure if that's a great approach yet or not, but it seems harmless
at this point.
commit 492db1839f1743128fea4e027bb0c2b6e7898004
Author: Stephen Mallette <spmva@...>
Date: 2018-01-25T22:09:17Z
TINKERPOP-1878 Updates to changelog and code comments
commit 3bf92605e42c62c566e8062ebc0207a6d9adafe5
Author: Stephen Mallette <spmva@...>
Date: 2018-01-26T13:10:48Z
TINKERPOP-1878 Test cleanup for sparql-gremlin
commit 3f1b7bf1bb03b34901650e62b7f95021cc88da31
Author: Stephen Mallette <spmva@...>
Date: 2018-01-26T13:16:24Z
TINKERPOP-1878 Changed gryo version of SparqlStrategy
Was using some temporary nonsense before...
commit fe14b3cbe0b6663b34a4379da90507a1acf41ff7
Author: Stephen Mallette <spmva@...>
Date: 2018-01-26T14:39:28Z
TINKERPOP-1878 General refactoring and javadoc on Prefixes class
commit 456cdcfce5a0397d08a079c7e145e7233e7f6de9
Author: Stephen Mallette <spmva@...>
Date: 2018-01-26T18:36:29Z
TINKERPOP-1878 Major refactoring of sparql-gremlin classes
Renamed the "compiler" to a "transpiler" since it's really transforming
sparql to a language of a similar level of abstraction in Gremlin. Lots of code
reformatting and dead code pruning.
commit 87ccf5833e84cc490d2aa94d3eac472f4a4288ab
Author: Stephen Mallette <spmva@...>
Date: 2018-01-26T20:41:10Z
TINKERPOP-1878 Added a test for ordering and corrected some problems in
logic
Ordering didn't work - at least not completely. The test, as it is written
in this commit, that failed to sort properly. Changed the logic for ordering to
track all of the keys specified to ORDER with their appropriate ASC/DESC
operators and added all of them to the traversal.
commit 81526247d63564e7054068989426d9e38d2cfd02
Author: Stephen Mallette <spmva@...>
Date: 2018-01-26T20:56:55Z
TINKERPOP-1878 More tests for ordering
Factored the order index creation into its own method to tidy up a bit.
commit fceea4319a4eb834995562c31e4c2f83c6c2dbe4
Author: Stephen Mallette <spmva@...>
Date: 2018-01-26T21:03:49Z
TINKERPOP-1878 Code reformatting - bad spacing/tabs or something
commit 35f5fc52d5d1cd96f3137caf1bf21323ac384c95
Author: Stephen Mallette <spmva@...>
Date: 2018-01-26T21:29:55Z
TINKERPOP-1878 Test for FILTER
Also fixed how the SparqlStrategy was being added to the
TraversalStrategies in SparqlTraversalSource...it was adding it globally and
all spawned TraversalSource instances were getting that strategy.
commit 960b0455e4d320a600dae9642ca371abacc12ddd
Author: Stephen Mallette <spmva@...>
Date: 2018-01-26T21:56:14Z
TINKERPOP-1878 Testing for DISTINCT
Refactoring around the distinct and ordering - much less code there now.
commit 37f4df31f7f20af15d80e5efe952e5442d3e2d7d
Author: Stephen Mallette <spmva@...>
Date: 2018-01-29T14:09:07Z
TINKERPOP-1878 Added a test for GROUP
commit a816dec72b4d0c1b2cc7c8882e9df8e3bdc44650
Author: Stephen Mallette <spmva@...>
Date: 2018-01-29T14:37:15Z
TINKERPOP-1878 Added the plugin for sparql-gremlin
commit 8e6acf43d0bb5cf6ae7e546d40cb5422f8d17f53
Author: Stephen Mallette <spmva@...>
Date: 2018-01-29T16:04:23Z
TINKERPOP-1878 Added basic docs for sparql-gremlin
commit 8e60e914402a1190726ea281550a46e31f28541a
Author: Harsh Thakkar <harsh9t@...>
Date: 2018-03-28T08:29:43Z
testing logo
commit 781bfdca4659510792cd2991b3595cbe99a682c8
Author: Harsh Thakkar <harsh9t@...>
Date: 2018-03-28T15:27:32Z
updating the reference documentation
added the following:
- fix the logo
- added prefixes
- added limitations
- added examples
todo:
- cover all limitations and special cases with examples
commit 9d153af999298d546bb6feacfc08be1038c4d50e
Author: Stephen Mallette <spmva@...>
Date: 2018-04-03T14:52:17Z
TINKERPOP-1878 Fixed up formatting of traspiler section
There were some examples that didn't return results or generated errors.
These will need some review.
commit 5c82aa1d7629bfd3d64fd76257fe19c848c67ebb
Author: Stephen Mallette <spmva@...>
Date: 2018-05-13T14:53:56Z
TINKERPOP-1878 Clean up docs a bit more.
commit 8732c6b5505646ab8d22902176c2afe20f4e7d17
Author: Stephen Mallette <spmva@...>
Date: 2018-05-13T15:02:26Z
TINKERPOP-1878 Fixed up formatting of sparql-gremlin image
commit 4fc2b0de9bce26cde30efc93e5b26e8fc396789a
Author: Stephen Mallette <spmva@...>
Date: 2018-05-13T15:07:10Z
TINKERPOP-1878 Bump sparql-gremlin to 3.4.0-SNAPSHOT
commit c322416e27712df797c566622f6272fef2d63565
Author: Harsh Thakkar <harsh9t@...>
Date: 2018-06-15T09:24:57Z
Update transpilers.asciidoc
Changes:
- fixed non-working queries (queries which returned no results)
- updated documentation with more examples in the limitations section
- updated execution tags for queries which are for reference only
- commented out the pattern filter examples for now
To Do:
- fix OPTIONAL queries
- fix Pattern filter queries
- inspect and patch special cases in code
commit c5b3c4c534c4223f23d980cd13a81a7ebcc3e415
Author: Stephen Mallette <spmva@...>
Date: 2018-06-15T12:16:03Z
TINKERPOP-1878 Minor transpiler doc fixes
commit 55c991b2d87d5a1676cec1cae190eefbd17ea9a3
Author: Stephen Mallette <spmva@...>
Date: 2018-06-20T11:25:17Z
TINKERPOP-1878 Renamed "transpiler" to "compiler"
Since we're converting to Gremlin bytecode it's really compiling and not
transpiling (as in converting to other source code)
commit 4a08ffc98d29c43ef7f2ec58e10f7ed08a5ff57d
Author: Harsh Thakkar <harsh9t@...>
Date: 2018-08-01T09:14:54Z
Update SparqlToGremlinCompiler.java
adding an updated file with SPARQL OPTIONAL clause:
- added optional
- added left-join with optional
----
---