Apache TinkerPop

AT

Apache TinkerPop

Apache TinkerPop is an open source graph computing framework and the home of the Gremlin graph query language.

Join

Using gremlin from the browser

Hello there! I'm trying to use gremlin from the browser and am getting an error from webpack when I try to import gremlin. The readme for the npm package says there's experimental support for calling from the browser, but I'm guessing this isn't how I'm supposed to do that. Our DB is a azure cosmos DB if that helps....

Indexing and Query Performance

I am working on fine tuning a query so that it becomes faster. The query is like: g.V().has('Index1','123').as('p').out('has_rel1').has('Index2,within('A','B').as('q').dedup().out('has_rel2').has('Index3','X').as('r').select('p','q','r').by('id') ...

Transaction Exceptions and Retries

It's a common pattern for database drivers/clients to have specialized exceptions for failed transactions that provide the necessary context for knowing whther or not to retry the exception due to conflicts. Does Tinkerpop have any of this? Right now basically it seems like users need to unpack the layers of the exceptions that the server feeds back to the client, and then just string parse completely based off of a string the graph provider tells them to look for (if there even is one) in order to do this very common-used pattern with transactions in a database....

Help with Stubbing Golang gremlin-go V3 Package

I'm using the gremlin-go V3 package and I'm trying to find an easy way to mock for testing. Has anyone successfully created a Mock Package/Interface? My code currently uses: GraphTraversalSource...

Help with a gremlin query..

Hi folks, I have a graph where: Customer vertices connect to Order vertices via hasOrder edges....

Gremlin drivers with Neptune when connecting through an EC2 instance?

Hello! Currently connecting to a Neptune db from my cloud desktop/local environment..? by using aws session manager with an ec2 instance. I'm using an api to send queries to neptune but was wondering if in a case like this, gremlin drivers are possible to use or if i have to keep with the http-based approach! the json responses are pretty convoluted ...

ERR_TLS_CERT_ALTNAME_INVALID when using @aws-sdk/client-neptunedata in Bun application

Hi, I'm the creator and maintainer of queryblast; https://github.com/SouthwestAir/queryblast which is a babashka pod for submitting opencypher queries to Neptune Queryblast is a babashka pod, and it runs in a process of its own, while a user script interacts with it.
Queryblast uses @aws-sdk/client-neptunedata, and it's built for darwin using Bun OK here's my question: I'm seeing the following error message when I get on my corporate VPN and submit a query to Neptune: ...

Is there any work on a shapes constraint language for gremlin?

https://www.w3.org/TR/shacl/ I want to constrain the shapes in my graph but I’m finding that there is a lack of tooling in this area. Can anyone tell me if there is such a thing as a shapes constraint language for Gremlin? I want to use it with Neptune...
Solution:
Unfortunately TinkerPop/Gremlin is schemaless and does not provide any tools for constraint enforcement at this time. It's a capability that I personally would very much like to see in gremlin, but at this time seems unlikely to arrive in the near future.

Inconsistent Behavior with WhereStep with labels

I'm getting some weird behavior when using labels on an anonymous traversal within the WhereStep. Below are some code examples - excuse the fact that they're kind of silly they're just meant to demonstrate the issue ``` final var tinkerg = TinkerFactory.createModern(); tinkerg.traversal().V().drop().iterate();...

New websocket connection on each traversal

I am using gremlin for traversing the janusgraph data via my java spring application. I am initiating the graph as below snippet @Bean public GraphTraversalSource g(Cluster cluster) { return AnonymousTraversalSource.traversal().withRemote(DriverRemoteConnection.using(cluster)); // Or "conf/remote.yaml" }...

PuppyGraph: Vertex Definitions with Filtering

When I create vertex definitions to build a PuppyGraph schema, is there a way to apply simple Where clauses to apply filtering? That would have to go into the mappedTableSourceobject. Thanks.

Supplying multiple IP:port pairs to Java GLV

I am trying to connect to multiple gremlin-server nodes that have different ports. Is there a workaround in the Java driver that would allow this? I cannot find any way to build the Cluster without using the same port.
Solution:
Looking at the code, I agree there doesn't seem to be a way to do this unfortunately

Could you point out to the active OGM/ORM projects that are based on Tinkerpop ?

We are working on our own implementation of "MaterializedEntities" for Java and integrating YTDB in XodusDNQ for Kotlin but we interested in wide coverage.

When gremlin-JavaScript release?

Any plans for a new release of gremlin-JavaScript? 3.7.4?...

Cosmos functionality

Hi all, I'm toying with cosmos gremlin for my DB and after experimenting more, I find that the limitations it has are getting to be a bit ridiculous. I'm trying to use mergeV/E to simply upsert but since there is no map support I can't upsert with this function. Am I correct? Is this version of the language even turing complete?...

GraphBinary and Graphson version 4.0 specifications?

Where is the description of the GraphBinary and Graphson version 4.0 formats? I looked at https://tinkerpop.apache.org/docs/3.4.1/dev/io/, although it covers up to GraphBinary 1.0 and Graphson 3.0. Is there another place with their description?...
Solution:
that's a really old link and refers to the 3.4.1 release. i imagine it very out of date. you can replace that version number with any you like. so the most current would be like: https://tinkerpop.apache.org/docs/3.7.3/dev/io/ but you can always just specify "current" and the version to get the most recent one: https://tinkerpop.apache.org/docs/current/dev/io/ "current" only covers full official releases. upcoming releases get SNAPSHOT publication occasionally: https://tinkerpop.apache.org/docs/4.0.0-SNAPSHOT/dev/io/ though the most up to date for the future will be in github: https://github.com/apache/tinkerpop/tree/master/docs/src/dev/io...

Gremlin traversal exceeded maximum compilation depth. Max: 400

Hi all, I'm using gremlin through cosmos and the python library and I'm getting this error when I try to add a lot of vertices to my graph at the same time. (A lot as in only 583 vertices). I'm guessing this refers to the actual traversal part, but considering my query is structurally just chained addV's: g.addV("..").property(...).addV("..").... I can't imagine it's that complex. I tried chunking them into smaller batches and submitting them individually but I still get the same error after the last batch....
Solution:
Hey, i've run into that one before - there's a maximum length of query Cosmos DB can handle and it looks like you're exceeding it. When writing a big big gremlin query that creates a bunch of vertices and their properties it can quickly exceed that limit. I believe if I remember right from the CosmosDB docs that the solution here is to batch these smaller and run them in parallel (e.g. threading) to get the best performance...

Seeking Help: Building a Text-to-Gremlin Corpus Generator - AST Parsing

Hey everyone, I'm working on fine-tuning a large language model for text-to-Gremlin generation. To do this, I need a substantial dataset of natural language queries paired with their corresponding Gremlin queries. I'm currently building a corpus generator for this. I've seen some work on text-to-Cypher where they parsed the Cypher AST (Abstract Syntax Tree). However, the ASTs for Cypher and Gremlin are quite different. Does anyone have suggestions on how to tackle this? Specifically: * Are there any existing tools for parsing Gremlin ASTs?...

g.dot.v new version

A question for Awesome @G.V() - Gremlin IDE (Arthur) . The newest version of g.dot.v opens and claims that I have no existing saved connections and no saved queries. Did I just erase a lot of good work? Can I find those former queries in Mac's /Library/... folders?...
Next