Kennh
Kennh
ATApache TinkerPop
Created by masterhugo on 2/7/2025 in #questions
Gremlin python connection to Neptune via IAM and WS
5 replies
ATApache TinkerPop
Created by danielcraig23 on 1/21/2025 in #questions
Trying to load air-routes.graphml yields no such file or directory
What version of TinkerPop is this for? 3.7?
12 replies
ATApache TinkerPop
Created by cdegroc on 1/20/2025 in #questions
Hot reloading of SSL certificates in gremlin-server
I've been thinking about this for a little bit since I read it, but I don't have any current recommendations on how to move forward with this. I'll have to think about it some more as I can see this evolving into a more general way of reloading server settings where lots of different server settings could get updated on the fly.
7 replies
ATApache TinkerPop
Created by Kyle on 1/8/2025 in #questions
Gremlin-JavaScript Global Websocket
I think you are referring to https://github.com/apache/tinkerpop/blob/3.7-dev/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/driver/connection.js#L141 To the best of my knowledge, it's because the constructor for WebSocket is different depending if you are running on Node.js or the browser. With Node the ws library accepts those extra options but the standard globalThis.WebSocket doesn't. There doesn't seem to many options to configure the globalThis.WebSocket. Is there something that you think is missing? It can definitely be added if it helps to create more parity between the browser/Node implementations.
6 replies
ATApache TinkerPop
Created by beef_pork_chicken on 12/21/2024 in #questions
TypeScript incomplete declaration of Traverser
It seems like you are using the type definitions provided from DefinitelyTyped in this question. These definitions haven't been updated for a while so it could be missing items. TypeScript will be supported better in the next major version (4.0.0) as the TypeScript definitions will be maintained within the TinkerPop repo. Does using the as syntax suggested above solve your problem?
5 replies
ATApache TinkerPop
Created by rg2609 on 12/2/2024 in #questions
Neo4j Chypre convention in to gremlin query
effectively replace the extract method for Neo4j and produce the same output
Could you clarify what you meant by this? Did you need the output to be in the exact same output (with the same formatting)? Or just output that contains the same data but it's ok for it to be organized differently? Did you need it back in a JSON compatible format? Also, there's some duplicated data in the results, which tends to make the Gremlin query quite long since you'll need to add steps just for formatting.
4 replies
ATApache TinkerPop
Created by rg2609 on 12/2/2024 in #questions
Neo4j Chypre convention in to gremlin query
I'm not familiar with query languages other than Gremlin, but I can give a shot at coming up with an answer for this tomorrow if no one else has suggested anything by then.
4 replies
ATApache TinkerPop
Created by Memo on 10/16/2024 in #questions
Basic vertex querying does not work in Amazon Neptune but it works with local Gremlin Server
The gremlin-javascript driver deserializes the elementMap() step into the Map class. await this.gremlinService.readClientSource.V().elementMap().toList() will return an Array of Maps. JSON.stringify() , which NestJS is likely calling for you, doesn't support Maps so you need to convert them into objects using something like Object.fromEntries().
9 replies
ATApache TinkerPop
Created by red on 10/14/2024 in #questions
Naming multiple vertices
I'm not sure there is a way to do this in just pure gremlin without needing some sort of lambda. I don't know of a way to iterate two collections at the same time or select from a list using its order index. Any ideas @spmallette ?
9 replies
ATApache TinkerPop
Created by e8l on 9/27/2024 in #questions
[Bug?] gremlinpython is hanged up or not recovering connection after connection error has occurred
9 replies
ATApache TinkerPop
Created by criminosis on 10/1/2024 in #questions
Tinkerpop Server OOM
I guess are next steps to write up an issue report on the Jira after making an account
Yea, that would be good for tracking.
I wouldn't be opposed to taking a stab at trying to fix it either assuming my theory is correct that we're missing a listener removal for the happy path to remove the cancelation future.
We're always looking for contributions so that would be great. That being said, I'm a bit concerned about this particular issue though since the channel holding references to results definitely shouldn't be happening. Might require a bigger change to properly fix it, which might not be worth doing at this point.
17 replies
ATApache TinkerPop
Created by e8l on 9/27/2024 in #questions
[Bug?] gremlinpython is hanged up or not recovering connection after connection error has occurred
What you're noticing here kind of boils down to how connection pooling works in gremlin-python. The pool is really just a queue that the connection adds itself back to after either an error or a success but it's missing some handling for the scenarios you pointed out. One of the main issues is that the pool itself can't determine if a connection is healthy or if it unhealthy and should be removed from the pool. I think you should go ahead and make a Jira for this. If it's easier for you, I can help you make one that references this post. I think the only workaround right now is to occasionally open a new Client to create a new pool of connections when you notice some of those exceptions.
9 replies
ATApache TinkerPop
Created by criminosis on 10/1/2024 in #questions
Tinkerpop Server OOM
Sorry for the delayed response. I'll try to take a look at this soon. But for now, I just wanted to point out that SingleTaskSession and the like are part of the UnifiedChannelizer. From what I remember, the UnifiedChannelizer isn't quite production ready, and in fact is being removed in the next major version of TinkerPop. We can certainly still make bug/performance fixes to this part of the code for 3.7.x though.
17 replies
ATApache TinkerPop
Created by Balan on 8/23/2024 in #questions
How can we extract values only
If I understand this correctly, you are first trying to take the result of a gremlin query that returns Latitude and Longitude (like in the initial post you made), and use those values in the in the math() step that calculates the Haversine formula (your latest post). If that is the case, you have two options. 1. You should combine this into one Gremlin query. You can save the results of the Latitude and Longitude to variables or use them in a by() modulator to the math step. Assuming that those values are properties on a vertex called 'lat' and 'lon' it would look something like g.V().project('Latitude', 'Longitude').by('lat').by('lon').math(...). You would replace the ... in the math() step with the Haversine formula. 2. If you want to keep these as two separate queries, then you should use one of the Gremlin Languages Variants (GLVs) which are essentially drivers that will automatically deserialize the result into the appropriate type so you don't have to deal with the GraphSON (which is what your initial post shows). Read triggan's answer above for more details about that.
9 replies
ATApache TinkerPop
Created by Max on 9/3/2024 in #questions
Gremlin query to order vertices with some locked to specific positions
I don't think there is that sort of fine-grained control over traversal iteration order or collection order. Do you have any ideas @spmallette ?
18 replies
ATApache TinkerPop
Created by Memo on 8/27/2024 in #questions
Query works when executed in console but not in javascript
Is this problem specific to this query? If you run a simple query like g.V().count().next() do you see incorrect results as well?
3 replies
ATApache TinkerPop
Created by Balan on 8/23/2024 in #questions
How can we extract values only
Could you clarify what you mean by "only values". What is the query you are running now? Or are you saying that you don't want the "@type" information and you only want the "@value", in which case you are going to want to use the untyped serializer like "GraphSONUntypedMessageSerializerV1". The HTTP accept header for such a request would be "application/vnd.gremlin-v1.0+json;types=false"
9 replies
ATApache TinkerPop
Created by b4lls4ck on 8/22/2024 in #questions
How to speed up gremlin query
This seems like a JanusGraph-specific performance question so you may be able to get more help by asking in the JanusGraph Discord. For TinkerPop in general though, I'd start with the profile() step. It'll let you know which step is taking the most time and I believe JanusGraph returns some index details in there as well. That information could probably be used as a starting point to help you tweak your indices.
6 replies
ATApache TinkerPop
Created by criminosis on 7/27/2024 in #questions
op_traversal P98 Spikes
There could potentially be lots of different causes for this as there are a lot of pieces in the scenario you laid out. Something worth investigating is whether transactions are causing a slowdown. JanusGraph itself has different options for transactional behavior. I'm not that familiar with JanusGraph, but I believe it has different locking mechanisms based on the storage backend being used.
9 replies
ATApache TinkerPop
Created by Limosin18 on 7/3/2024 in #questions
Optimising python-gremlin for fastApi
Yea, the thread you mentioned has some good information that is relevant to your question. The gremlin-python module currently isn't async which is why it blocks. There is an open JIRA about adding full async support, https://issues.apache.org/jira/browse/TINKERPOP-2774 , you can see that there are others that use FastAPI that have run into similar situations and have had similar questions. Feel free to leave a comment in that JIRA if you are interested in seeing full async support. In any case, following the advice from the thread you linked will probably lead to the highest RPS you can have for now until TINKERPOP-2774 is implemented. Would you consider your question solved for now?
4 replies