JanusGraph

J

JanusGraph

JanusGraph - Distributed, open source, massively scalable graph database.

Join

Support for OpenSearch v3 as index search backend

I got OpenSearch v2.19.3 working (https://github.com/humemai/janusgraph/blob/40b5e0a808e6a62e85b379968d9470505f6bf588/janusgraph-dist/docker/examples/docker-compose-cql-es.yml) as a janusgraph.index.search.backend, but as you know since OpenSearch is not officially supported and also due to the nature of how OpenSearch initially started, currently we have to pretend that it's ElasticSearch by doing janusgraph.index.search.backend: elasticsearch. AFAIK this hack doesn't work from OpenSearch v3. Do you think JanusGraph can "officially" support OS v3? Since ElasticSearch is not Apache 2.0 anymore, and OpenSearch currently is, I wanna move away from ES to OS. I'm more than happy help you, if anything is needed from my side. Thank you....

Is there any plans of building janusgraph using JDK 21?

current janusgraph image docker.io/janusgraph/janusgraph:1.1.0 uses jdk-11.0.25+9

Incorrect results for .count() when using mixed index and trying to count a large amount of nodes

Using a Lucene mixed index when counting nodes has inconsistent behavior depending on the amount of nodes counted. When I expect a result of >100k, Janusgraph returns a value somewhere between 1000-4000 instead of the correct result. The only way I've been able to force it to always fully count the nodes is by replacing .count() with .constant(1).count() in all my queries, which works but seems inefficient. Does anyone have any tips on how to avoid doing this / improve performance of large .count() queries? Thank you! ...

Adding an edge to a non-existent vertex creates a shell vertex

Hi, I recently noticed an odd behaviour when using the Java Janusgraph library (version 1.1.0) to add edges. Adding an edge from an existing vertex S, to a non-existing vertex T, will automatically create an empty shell vertex for T....

Transaction Recovery not working as expected.

Hi all, I'm running into issues with JanusGraph's transaction recovery and log replay. I'm using JanusGraph 1.1.0 with Cassandra + Elasticsearch, and have tx.log-tx = true enabled. I can see that the txlog table in Cassandra is being written to whenever I insert data — for example, when Elasticsearch is down. However, when I call:...

How much RAM should I allocate to Janusgraph while using built-in Lucene index?

Apologies if this has been asked before. I am running a minimalist setup of ScyllaDB + Janusgraph using the built-in Lucene index on a single machine with 32gb of RAM (the database is small, roughly 30gb). I am trying to figure out the optimal memory split between Janus and Scylla primarily for maximum read performance. The problem I've run into is despite setting -Xmx to 8gb, I see Janusgraph using up to 12.5gb and running out of memory. I am currently using Janusgraph 1.1 with db-cache-size=0.25, lucene as index backend, Xmx=8g, and all other settings default. ...
Solution:
Lowering down db-cache-size config a bit sounds reasonable and worth trying

Use BM25 score from Elasticsearch to order the results.

Hello Dear Janusgraph Community ! Hope every one does great these days. I couldn't find an answer online, so trying my luck here. Perhaps, you can help me understand how can I get Gremlin results sorted according to BM 25 search score provided by Elasticsearch....

Thanks to g.dot.v

A shout out to @Arthur from gdotv who came back online from trying to catch some sleep to help me find the json cache of my saved queries. Awesome customer support.

List property ordering - mixed index not used as expected

Hi All, Using JanusGraph 1.1.0, it seems that mixed index is not used when order().by() step is used for a property with LIST cardinality. I have tried both with Lucene and Elasticsearch index backends and with none of them the index was used for sorting. For single cardinality submissionDate4 property, it seems that mixed index is utilized for sorting as seen on single property - index used for ordering.png enclosed....
No description

Unable to use mounted configuration

As per documentation https://docs.janusgraph.org/operations/container/#mounted-configuration, I need to provide ro to volume parameter for mounting custom configurations. However, I get below error in container Attaching to wfx-janusgraph-1 wfx-janusgraph-1 | cp: cannot create regular file '/etc/opt/janusgraph/janusgraph.properties': Read-only file system...

ConfiguredGraphFactory works on versions<=0.6.4 but does not work with version>=1.0.0

Hi JanusGraph Folks. I've been tinkering with the stack and JanusGraph and wanted to use ConfiguredGraphFactory in my project. What I came to observe is that JanusGraph's ConfiguredGraphFactory works with the versions less than 0.6.4. Since the major upgrade occured I cannot get it to work. To be more precise I consistently get the error "org.janusgraph.graphdb.management.utils.ConfigurationManagementGraphNotEnabledException: Please add a key named "ConfigurationManagementGraph" to the "graphs" property in your YAML file and restart the server to be able to use the functionality of the ConfigurationManagementGraph class."...

The traversal source [g] for alias [g] is not configured on the server.

I am running a janusgraph container locally and trying to execute graph traversal commands via my java application code. (I have verified the janusgraph container connection with backend storage which is a cassandra container) However, I get the error mentioned in the title. I have explicitly set alias in relevant plugin in janusgraph-server.yaml ( org.apache.tinkerpop.gremlin.server.jsr223.GremlinServerGremlinPlugin: { MAPPING_ALIAS: g=graph...

Guava com.google.common.base.Preconditions getting java.lang.IllegalArgumentException: null

I am getting the following error java.lang.IllegalArgumentException: null at com.google.common.base.Preconditions.checkArgument(Preconditions.java:129) ~[janusgraph-driver-1.1.0-shaded.jar:?] ...

Cross-graph querying with Janusgraph

Hello! I am using Janusgraph (embedded), over a ScyllaDB backend, where all my graphs are currently stored in a single keyspace. Is it possible to split these graphs and store them across multiple different keyspaces, but still query across them? ie, a single query may traverse multiple graphs stored in multiple keyspaces....

How to disable embedded gremlin server in Janusgraph docker image?

I would like to host a janusgraph instance with a cassandra storage backend, and have a separate gremlin server running (so I can use it for multiple different graph databases and/or other janusgraph instances). From what I can tell it looks like the standard janusgraph image starts up an embedded/packaged gremlin server by default when I spin it up on my kubernetes cluster. Is it possible to disable this?

CQL query timeout issues

I am trying to create an edge between two vertices, where one of the vertex contains more than 450K edges. But everytime the operation fails with Query Timeout error as shown below: ```Caused by: com.datastax.oss.driver.api.core.DriverTimeoutException: Query timed out after PT12S at com.datastax.oss.driver.internal.core.cql.CqlRequestHandler.lambda$scheduleTimeout$1(CqlRequestHandler.java:207)...

Janusgraph + Solr Cloud + Zookeeper

I am trying to configure Janusgraph 1.1 using Solr 8.11.4 and Zookeeper, but i ran to the same error as mentioned here https://issues.apache.org/jira/browse/ATLAS-4940 , although i see that 8.11.4 is compatible with Janusgraph and while building Janusgraph from Repository i see that also the tests can run with solr. So what is the workaround to solve it?

Janus support of openCypher or GQL

Is this in the roadmap somewhere?

Gremlin console ConfiguredGraphFactory issue with 1.1.0 (working fine on 1.0.0)

Also asked here: https://lists.lfaidata.foundation/g/janusgraph-users/topic/gremlin_console/111118784 Hi All, I am running JanusGraph in container with ConfiguredGraphFactory configured. After upgrading to 1.1.0, ConfiguredGraphFactory.getGraphNames() does not work any more when Gremlin console is used from the container....
Solution:
Thanks @Clément de Groc and @Wleong for the response. For now, we can live with using :> ConfiguredGraphFactory.getGraphNames(). Thanks for the hints.

Janusgraph-Cassandra Storage Backend issue and table clarification

Hello!! 1) I would like to know how the janusgraph stores the data in cassandra as storage backend what's the algo or class used to achieve this process (Java File) 2) How the data is actually stored in edgestore, graphindex tables in cassandra (the concept behind it or on what basis because i am not able to visibily see how the values or stored) it will be helpful if you explain it 3) the data are stored in blob is there any way to retrieve the data in fast manner when bulk data set (in lakhs) are stored in the cassandra-janusgraph database through java connectivity?...
Next