Re: [Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2018-08-08 Thread Stephen Mallette
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

Re: [Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2018-04-19 Thread Stephen Mallette
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

Re: [Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2018-02-07 Thread Harsh Thakkar
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

Re: [Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2018-02-07 Thread Stephen Mallette
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

Re: [Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2018-02-07 Thread Harsh Thakkar
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

Re: [Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2018-02-06 Thread Stephen Mallette
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

Re: [Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2018-02-06 Thread Harsh Thakkar
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

Re: [Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2018-01-29 Thread Stephen Mallette
> 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]

Re: [Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2018-01-28 Thread Joshua Shinavier
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

Re: [Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2018-01-28 Thread Stephen Mallette
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

Re: [Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2018-01-25 Thread Stephen Mallette
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

Re: [Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2018-01-25 Thread Stephen Mallette
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

Re: [Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2018-01-24 Thread Stephen Mallette
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

Re: [Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2018-01-09 Thread Harsh Thakkar
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

Re: [Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2018-01-09 Thread Stephen Mallette
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

Re: Subject: Re: [Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2017-12-20 Thread Harsh Thakkar
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

Re: [Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2017-12-18 Thread Stephen Mallette
> 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

[Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2017-12-18 Thread Harsh Thakkar
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

Re: [Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2017-12-18 Thread Harsh Thakkar
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

Re: [Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2017-12-18 Thread Stephen Mallette
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

Re: [Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2017-12-18 Thread Marko Rodriguez
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,

Re: [Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2017-12-18 Thread Marko Rodriguez
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

Re: [Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2017-12-18 Thread Harsh Thakkar
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

Re: [Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2017-12-18 Thread Stephen Mallette
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

Re: [Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2017-12-15 Thread Joshua Shinavier
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

Re: [Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2017-12-15 Thread Marko Rodriguez
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.

Re: [Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2017-12-15 Thread Marko Rodriguez
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(),

Re: Subject: Re: [Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2017-12-14 Thread Joshua Shinavier
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

Subject: Re: [Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2017-12-14 Thread Harsh Thakkar
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

Re: [Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2017-12-14 Thread Harsh Thakkar
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

Re: [Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2017-12-13 Thread Joshua Shinavier
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

Re: [Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2017-12-13 Thread Stephen Mallette
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

Re: [Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2017-12-13 Thread Harsh Thakkar
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

Re: [Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2017-12-12 Thread Stephen Mallette
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

Re: [Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2017-12-12 Thread Harsh Thakkar
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

Re: [Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2017-12-11 Thread Stephen Mallette
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

Re: [Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2017-12-08 Thread hars...@gmail.com
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

Re: [Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2017-12-08 Thread Stephen Mallette
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

Re: [Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2017-12-08 Thread Stephen Mallette
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

[Discussed] Integrating SPARQL-Gremlin 0.2 Plugin with the TinkerPop codebase

2017-12-07 Thread hars...@gmail.com
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