Well I'm in general interested in having all these different
mechanisms (native (traverse), pipes, gremlin, sparql) to query the
same graph.
That would give so much more flexibility when writing domain methods.
Ideally you would not want to write domain methods at all, but
annotate interfaces with some queries, something like:

interface PersonRepository {

@SparqlQuery(query="where {?p foaf:knows ??person . }")
public List<Person> findMyFriends(Person person);

@GremlinQuery(query="person.bothE('foaf:knows').bothV.except([person])")
public List<Person> findMyFriends2(Person person);

}

That would be quite great, but thats of course a bit more JPA inspired
approach and many other useful roads can be taken...

Alfredas





On Tue, Feb 22, 2011 at 6:03 PM, Marko Rodriguez <okramma...@gmail.com> wrote:
> Hi,
>
>> Got it. It would be great to be able to use Sparql on neo4j or any
>> other Blueprint db.
>
> Yea it would.
>
>>
>> Do you think it would be possible to map/translate sparql query to
>> gremlin/pipes?
>
> I plan to create a new DSL over Gremlin/Pipes that has a syntax flavor like 
> this. E.g.
>
> x = []; y = []
> g.select(x, y).where(
>        g.v('marko').outE('knows').inV.var(x)
>        var(x).outE('knows').inV.var(y))
>
> EQUIVALENT TO:
>
> SELECT ?x, ?y WHERE {
>  marko knows ?x
>  ?x knows ?y
> }
>
> In short, traversal-based "SPARQL" (similar to the SPARQL engine developed by 
> Neo4j). The benefits is that a "line" is property graph-based, not restricted 
> to RDF graphs only. E.g.
>
> x = []; y = []
> g.select(x, y).where(
>        g.v('marko').outE('knows').inV.var(x)
>        var(x).outE('knows').inV{it.age > 30}.var(y))
>
> I haven't gotten to starting this project yet, but if anyone is interested in 
> helping, that would be great.
>
> Thanks,
> Marko.
>
> http://markorodriguez.com
>
>
> _______________________________________________
> Neo4j mailing list
> User@lists.neo4j.org
> https://lists.neo4j.org/mailman/listinfo/user
>
_______________________________________________
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to