I thought I had brought attention to this on a different thread somewhere
along the line, but note that the sparql-gremlin PR has been out there long
enough now that it can be merged on my +1 plus lazy consensus:
https://github.com/apache/tinkerpop/pull/902
I'll leave it open a bit longer in case
I think I'm going to rebase sparql-gremlin on master so that it's inline to
be part of 3.4.0 when we go to release that. Please let me know if there
are any concerns - if not I'll probably do that first thing next week.
On Wed, Feb 7, 2018 at 11:34 AM, Harsh Thakkar wrote:
> No worries, I am on
No worries, I am on it :)
On 2018/02/07 15:04:34, Stephen Mallette wrote:
> Ok - sounds like we are basically on the same page then. I hate to
> volunteer you for work :) but I think you are the best person to write up
> the capabilities and limitations of sparql-gremlin. I think that if we hav
Ok - sounds like we are basically on the same page then. I hate to
volunteer you for work :) but I think you are the best person to write up
the capabilities and limitations of sparql-gremlin. I think that if we have
those documented we can more easily decide the appropriate level of
testing, so im
Hi Stephen,
Having more than one variables inside a GROUP BY or an ORDER BY clause is a
problem on its own to be honest. Responding to your question about the query.
```
SELECT ?age ?name (COUNT(?name) AS ?name_count)
WHERE {
?a e:created ?b .
?a v:name ?name .
?a v:age ?age .
}
GROUP BY ?age
Thanks for your review of my concern with the traspiling for GROUP. So
there's two aspects to your reply that I'd like to discuss. First, the
specific issue with GROUP that I'm seeing is that its simply choosing the
last variable given in the GROUP
https://github.com/apache/tinkerpop/blob/74b568a
Hi Stephen,
Apologies for being quiet for some time. I have been down with severe flu and
just recovered. I looked into the order by issue and the reason for having only
an aggregation variable in the select clause is because of SPARQL. SPARQL does
not support projecting any other variable othe
> SPARQL 1.1 test suite could be used
thanks josh - will need to look into that further
Harsh, the plugin is pushed at this point. After building we can now do:
gremlin> :install org.apache.tinkerpop sparql-gremlin 3.3.2-SNAPSHOT
==>Loaded: [org.apache.tinkerpop, sparql-gremlin, 3.3.2-SNAPSHOT]
For testing, perhaps the SPARQL 1.1 test suite could be used:
https://www.w3.org/2009/sparql/docs/tests
This would provide a strong guarantee of coverage and correctness of
supported features. The metadata about required features for individual
tests is limited, so an appropriate subset of th
Harsh, on Friday, I pushed a great many changes to the TINKERPOP-1878
branch. I got quite familiar with the code and even fixed up a bug in ORDER
where it wasn't properly handling multiple fields passed to it. I believe
that there are similar problems in GROUP. At this point, I've got most of
what
Marko had a nice idea with:
gremlin> sparql = graph.traversal(SPARQLTraversalStrategy.class)
.withRemote(“127.0.0.2”)
gremlin> sparql.query(“SELECT ?x ?y WHERE {…}”).toList()
==>{?x:marko, ?y:29}
==>{?x:josh, ?y:32}
The problem i'm seeing is that it requires that the TraversalSource on the
server
Check this out:
gremlin> graph = TinkerFactory.createModern()
==>tinkergraph[vertices:6 edges:6]
gremlin> g = graph.traversal(SparqlTraversalSource.class).
..1> withStrategies(SparqlStrategy.instance())
==>sparqltraversalsource[tinkergraph[vertices:6 edges:6], standard]
gremlin> g.sp
I just wanted to quickly note that sparql-gremlin is now building properly
on the TINKERPOP-1878 branch (i just pushed some changes to clean up some
pom.xml/dependency conflicts issues). As we discussed in this thread, the
branch currently contains a fairly bare bones model and it will need some
wo
Hi Stephen,
It does make sense to me. The work is going on slow but steady. Let's wait and
see how other devs feel about this, as you said.
Cheers,
Harsh
On 2018-01-09 16:31, Stephen Mallette wrote:
> I've had some thoughts on this thread since December. Since sparql-gremlin
> has a pretty lon
I've had some thoughts on this thread since December. Since sparql-gremlin
has a pretty long to-do list and there is likely a lot of discussion
required on this list prior to it being ready for merge to a release
branch, it seems like we might treat this as a normal feature under
development. I thi
Hi Josh,
Apologies for late reply, I almost forgot this one.
I am not exactly familiar with the PropertyGraphSail and GraphSail
implementations at the moment. Let me get back to you on this once I have a
more concrete idea.
> How does your content-preserving RDF <--> PG interface compare with
> Should I also remove the northwind file?
I think I'd prefer to see all of our sparql examples use the existing toy
graphs - better not to add more options - so I'd remove it as well. If
anyone disagrees, I don't really feel too strongly about not including it,
but it would be good to hear some r
Hello Stephen,
Alright, I will remove the bsbm file from the repository and I refer to it in
the docs (with some examples) sharing a link to download from the website if
that is acceptable. No worries.
Should I also remove the northwind file?
Your expectations are reasonable, it was just tha
Hello Marko,
I made a mistake mentioning earlier that the sparql-gremlin compiler returns a
string, well it does not. It returns a graph traversal, apologies!
Regarding (7), I agree, it makes sense. I will wrap my head around how to get
that done. I am already reading the dev-docs on this, from
A quick note about (4) - Having some sample data for user convenience is
good. Files like that though should not be "resources", but should be added
here:
https://github.com/harsh9t/tinkerpop/tree/master/data
Placing those files there will allow them to be included in the the .zip
distribution fi
Actually, my (3) is bad. Given that query() would always return a Traversal>, it would be necessary to have that linearized to
Traversal for the test suite to validate it. That would mean
making SPARQLTraversal support extended Traversal methods like flatMap(), blah,
blah… That seems excessive,
Hello,
A couple of items worth considering.
Regarding (7), that should be done prior to master/ merge. It is necessary to
follow the patterns that are established in TinkerPop regarding language
interoperability. The DSL pattern developed for Gremlin language variants seems
to be the best patt
Hi Stephen and All,
Thanks for going through the code. I address your questions below (in the same
order):
1. Yes, this file can be removed. It was just to test the traversal method.
2. Yes, I have commented out the block of tests at this moment since we do not
need to run tests at mvn clean
Harsh, I looked at the code in a bit more detail than I have. Here's some
thoughts/questions I had as I was going through things:
1. Can this file be removed - it doesn't appear to have any usage that I
can see:
https://github.com/harsh9t/tinkerpop/blob/master/sparql-gremlin/src/main/java/org/apa
Hi Marko,
I think we're more or less on the same page here; it's clear that TP3 has a
different API than TP2. If you look at the guts of TP3 GraphSail [1], it
uses the modern APIs, and yet does adapt them to the Sail interface.
Something like PropertyGraphSail (or an equivalent Jena thing) still
Hello,
The model proposed below is in-line with TinkerPop2’s way of thinking.
Unfortunately, TinkerPop3 and more so for TinkerPop4, the Graph “structure" API
will become deprecated. This means that the notion of “wrapping the Graph API”
has gone away for TP3 and will be completely gone in TP4.
Hello,
Regarding how users should use SPARQL-Gremlin. I believe that it should be done
as follows.
1. There should be a SPARQLTraversalSource which supports one spawn
method — query(String).
2. SPARQLTraversal is spawned and it only supports only the Traversal
methods — next(),
Hi Harsh,
Thanks for the detailed reply. I can't say with confidence that the TP2
suite could be re-implemented on top of Jena in that time frame (as I am a
long-time Sesame fan without much Jena experience), although a TP2 --> TP3
port could be done, keeping the Sesame (RDF4j) dependency. GraphS
Hi Josh,
I already wrote an elaborate reply to your comment. I think it went somewhere
but didn't show up :(
I will summarize my reply here now..
Yes, I am of the same opinion of having a continuous SPARQL implementation on
top of Gremlin. Also, I am working on a custom interface, (as we spea
Hi Stephen,
Thanks for the pointers. We have good news. Turn out that the error was mostly
because of the IDE environment and some other shady stuff going wrong. We
finally managed to merge the sparql-gremlin work into the tinkerpop code base.
I merged forked tinkerpop repository can be found h
Hi Harsh,
Glad you are taking Daniel's work forward. In porting the code to the
TinkerPop code base, might I suggest we allow for not only SPARQL-Gremlin,
but a whole suite of RDF tools as in TP2. Perhaps call the module
rdf-gremlin. Then we could have all of:
* SPARQL-Gremlin: executes standard
I suggest that you read through the dev docs a bit. There's lots of little
odds/ends there about how to develop on the TinkerPop code base. For
example, for intellij issues, please have a look at this:
http://tinkerpop.apache.org/docs/current/dev/developer/#_ide_setup_with_intellij
> - Also, when
Hi Stephen,
I cleaned up the code a bit and then, I tried testing the code merge yesterday
and I ran into some issues for 3.3.1-SNAPSHOT version.
- I forked apache/tinkerpop repository to my local account and loaded the same
using an IDE (as maven project). This immediately threw errors in the
yes - please post questions here. i don't think you need to know much about
TinkerPop internal structure. I'd think that sparql-gremlin is expected to
be included in the root of the TinkerPop source as a sub-module to the
top-level pom. That just means some minor changes to your pom.xml to get it
t
Hi Stephen,
Very well then, we will start the migration from today. Also we will submit the
signed iclas' today.
If we have some questions regarding building the code properly, can we feel
free to ask them here? I assume we might need some guidance on how to getting
things plugged in correctl
As there hasn't been any other opinions, It seems we have a lazy consensus
to accept sparql-gremlin into TinkerPop's code base. Cool!
Harsh, I think you and Dharmen should proceed with the steps I listed
above. Once you have the code integrated and building properly in your
fork, please reply back
Hi Stephen,
Thanks for the insight on the process of this integration. I will reply to your
comments in the same manner.
1. Yes, I will do the fork and migrate the code to the Tinkerpop repository,
after cleaning the code a bit. We also need to prepare a detailed doc (how-to)
for the plugin. T
I agree with Marko's thoughts, both on this topic of including
sparql-gremlin as well as the wider topic of what should be included in
TinkerPop code base more generally. Providing a path for rdf/sparql folks
to get into the TinkerPop world seems like a smart direction.
Now, assuming that we have
linking marko's reply from the user list:
https://groups.google.com/d/msg/gremlin-users/zK9jj7bWvrQ/nE1VvhmeAAAJ
On Thu, Dec 7, 2017 at 1:52 PM, hars...@gmail.com wrote:
> Hello, dear Gremlin people!
>
> Apologies for raising this topic a bit late. I planned to start this
> thread quite earlier
Hello, dear Gremlin people!
Apologies for raising this topic a bit late. I planned to start this thread
quite earlier but wasnât able to due to some reasons.
=== short
I seek your guidance and also help for polishing and integra
40 matches
Mail list logo