cdegroc
Explore posts from serversJJanusGraph
•Created by karthikraju on 10/15/2024 in #questions
Unable to use text predicates like 'textContains' in gremlin python
To use JanusGraph-specific predicates, you would need to swap gremlin-python with janusgraph-python I believe: https://github.com/JanusGraph/janusgraph-python#text-predicates
Can you give this a try?
5 replies
JJanusGraph
•Created by b4lls4ck on 8/23/2024 in #questions
Speeding up Queries Made to JanusGraph
Thanks Florian for chiming in. I had overlooked that option!
29 replies
JJanusGraph
•Created by b4lls4ck on 8/23/2024 in #questions
Speeding up Queries Made to JanusGraph
You can start Gremlin Console from a dedicated JanusGraph container or even JanusGraph server itself (https://docs.janusgraph.org/v0.3/basics/server/#connecting-to-gremlin-server)
29 replies
JJanusGraph
•Created by b4lls4ck on 8/23/2024 in #questions
Speeding up Queries Made to JanusGraph
Technically, I think so (afaik). A grpc endpoint was added to JanusGraph 1.0 but does not yet support index management (https://github.com/JanusGraph/janusgraph/tree/master/janusgraph-grpc#todo-1).
But, it doesn't mean that you need to implement something yourself. You could start a Gremlin Console and update indexes from there using Groovy.
29 replies
JJanusGraph
•Created by b4lls4ck on 8/23/2024 in #questions
Speeding up Queries Made to JanusGraph
I would suggest that you create a Graph Index first. Since your condition does an exact match on "Bob", you can use a Composite Index.
Indexes cannot be created from Python (AFAIK) but only through JanusGraph management interface.
We have sample commands in the doc showing how to create one: https://docs.janusgraph.org/schema/index-management/index-performance/#composite-index
29 replies
JJanusGraph
•Created by b4lls4ck on 8/23/2024 in #questions
Speeding up Queries Made to JanusGraph
👋🏻 Hey. Your traversals
g.V().has("person", "name", "Bob").outE("knows").has("weight", P.gte(0.5)).inV().values("name").toList()
could probably benefit from different indexes.
Without a Graph Index (https://docs.janusgraph.org/schema/index-management/index-performance/#graph-index), the first part g.V().has("person", "name", "Bob")
has to filter through all vertices to find the ones with property value "Bob".
Then, without a Vertex Centric Index (https://docs.janusgraph.org/schema/index-management/index-performance/#vertex-centric-indexes), JanusGraph needs to filter all of the matching vertices' "knows" out edges - .outE("knows")
- to find the ones with a weight >= 0.5 - .has("weight", P.gte(0.5))
.29 replies
JJanusGraph
•Created by cdegroc on 2/20/2024 in #questions
Concurrent updates during a REINDEX
Thank you both! 🙇🏻
16 replies
JJanusGraph
•Created by cdegroc on 2/20/2024 in #questions
Concurrent updates during a REINDEX
Also, as a follow-up, my understanding of the code is that a REINDEX does not clear the existing index data and will only reindex what's currently in the backend's edgestore. Is that correct? I imagine for such cases the work in https://github.com/JanusGraph/janusgraph/issues/1099 could help.
16 replies
JJanusGraph
•Created by cdegroc on 2/20/2024 in #questions
Concurrent updates during a REINDEX
Thanks Boxuan. I'm trying to link that to the code.
IIUC this is because keys are iterated and SliceQueries are built/emitted on the fly as the job is making progress. Is that right?
16 replies
ATApache TinkerPop
•Created by cdegroc on 1/17/2024 in #questions
LazyBarrierStrategy/NoOpBarrierStep incompatible with path-tracking
fi: thought I'd try
mvn clean install -DskipIntegrationTests=false -DincludeNeo4j
as well and it also succeeds 100% with the change12 replies
JJanusGraph
•Created by cdegroc on 1/12/2024 in #questions
TreeStep and MultiQuery support
FI started this TinkerPop thread: https://discord.com/channels/838910279550238720/1197157803907874829/1197157803907874829
10 replies
ATApache TinkerPop
•Created by cdegroc on 1/17/2024 in #questions
LazyBarrierStrategy/NoOpBarrierStep incompatible with path-tracking
when you say "path tracking is enabled", you mean a step with TraverserRequirement.PATH is part of the path, right? Just to make sure I'm not misunderstanding.
12 replies
ATApache TinkerPop
•Created by cdegroc on 1/17/2024 in #questions
LazyBarrierStrategy/NoOpBarrierStep incompatible with path-tracking
Gremlin Spark was failing due to my corp VPN (i.e. https://stackoverflow.com/questions/52133731/how-to-solve-cant-assign-requested-address-service-sparkdriver-failed-after). But now that I turned it off, all tests are passing.
My local diff (compared to
master
branch) is just
So it could also be that this is not tested or that another factor prevents us from hitting this condition.12 replies
ATApache TinkerPop
•Created by cdegroc on 1/17/2024 in #questions
LazyBarrierStrategy/NoOpBarrierStep incompatible with path-tracking
Thanks Stephen. I actually ran unit tests for more than that, incl. Gremlin Test and TinkerGraph Gremlin.
12 replies
JJanusGraph
•Created by cdegroc on 1/12/2024 in #questions
TreeStep and MultiQuery support
Thanks for your quick answer. I can see this requirement was added long ago. I will review TinkerPop tests, and then ask questions on the TinkerPop discord.
10 replies
JJanusGraph
•Created by cdegroc on 1/12/2024 in #questions
TreeStep and MultiQuery support
Even though unit tests are green, I imagine this could be breaking some traversal types I haven't tried or am not used to.
@rngcntr, since you're the original author of this change (https://github.com/JanusGraph/janusgraph/pull/2516/files#diff-e1f91b256e6c63d882f9b043cbfa4d264c15299c52bae1b845dcd90b8beadabbR239-R252), would you remember why MultiQuery optimizations were disabled for Path-based traversals by any chance? 🙇🏻
10 replies
JJanusGraph
•Created by cdegroc on 1/12/2024 in #questions
TreeStep and MultiQuery support
👋🏻 Hey. This worked and the traversal now leverages multiQuery, resulting in a nice performance improvement in my tests.
10 replies
JJanusGraph
•Created by cdegroc on 1/12/2024 in #questions
TreeStep and MultiQuery support
Thanks! That's worth a try! 👀
10 replies
JJanusGraph
•Created by rpuga on 11/17/2023 in #questions
Unable to use next() in gremlin-python
My 2🪙: I think it just defaults to GraphSONMessageSerializer here: https://github.com/apache/tinkerpop/blob/master/gremlin-python/src/main/python/gremlin_python/driver/driver_remote_connection.py#L65-L68
14 replies
ATApache TinkerPop
•Created by cdegroc on 10/24/2023 in #questions
Gremlin Driver and frequently changing servers
Sure! I'll spend some time on this. If this looks worth contributing I'll ping here or will open a JIRA with more details.
8 replies