JanusGraph

J

JanusGraph

Join the community to ask questions about JanusGraph and get answers from other members.

Join

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?...

Graph does not support the provided graph computer: SparkGraphComputer

Hi, I'm trying to instantiate a janusgraph server that correctly exports a graph.traversal().withComputer(SparkGraphComputer) As I was unable to find specific documentation on this, I have tried following this: https://stackoverflow.com/questions/45323666/unable-to-use-sparkgraphcomputer-with-tinkerpop-3-2-3-and-janusgraph-0-1-1-in-re ...
Solution:
OK, finally I was able to figure out the issue on my own. To make things work, since JanusGraphFactory fails to create a graph, I replaced
graphManager: org.janusgraph.graphdb.management.JanusGraphManager
graphManager: org.janusgraph.graphdb.management.JanusGraphManager
with...

Embedded graph with Scylla backend in Java

I'm trying to create an embedded graph in Java (using 11) connected to a Scylla cluster. I stood up the Scylla cluster with Docker using the Scylla University instructions linked to in the Janusgraph docs (https://university.scylladb.com/courses/the-mutant-monitoring-system-training-course/lessons/a-graph-data-system-powered-by-scylladb-and-janusgraph/). The cluster and the Janusgraph server is running just fine. I can connect to the server from a gremlin console and run scripts without issue. However, when I try to create an embedded graph in Java, I get errors indicating the connection cannot be made. To create the graph, I'm using JanusGraphFactory.build().set("storage.backend","cql").set("storage.hostname","172.18.0.3").open() The hostname IP is the IP for one of the Scylla nodes. The primary exception seems to be AllNodesFailedException: Could not reach any contact point, make sure you've provided a valid address....
Solution:
Update: I figured out what I was doing wrong. I needed to bind the port in the docker run command. Adding -p 9042:9042 to the docker command worked.

Wrote claim for id block threshold exception

I am using custom string vertex ids and recently found that below exceptions are coming intermittently:
Wrote claim for id block [9280001, 9360001] in PT1.2S => too slow, threshold is: PT0.3S
Wrote claim for id block [9280001, 9360001] in PT1.2S => too slow, threshold is: PT0.3S
I am using all default configurations for "ids" attribute. ...

Running OLAP queries on Janusgraph outside the Gremlin Console (from Java and G.V())

Hi, I'm able to run OLAP queries against my graph DB from the Gremlin Console, by following the directions provided here: https://docs.janusgraph.org/advanced-topics/hadoop/ However, I would like to also run OLAP queries without using the console, from an embedded Janusgraph Java application as well as from G.V(). In G.V(), I tried this while selecting Groovy Mode for query submission:...
Solution:
Thanks, @gdotv. It would be great if the JanusGraph folks can follow up on how to expse a GraphTraversalSource. In the meantime, I've been able to make progress on the question about using Java, by following this old-ish post by @Bo : https://li-boxuan.medium.com/spark-on-janusgraph-tinkerpop-a-pagerank-example-43950189b159 ...

Support for saving arrays of vectors

Hi, I know that JausGraph by default does not support read / write of arrays or vectors of floating point numbers. Is there a reason why?

Why queries are slow when more than one mixed index in query

ConfiguredGraphFactory.open("tenant51").traversal().V().has('_t', 'infra:container').has('_it', gt(123)).limit(100) is taking 400ms while ConfiguredGraphFactory.open("tenant51").traversal().V().has('_it', gt(123)).limit(100) or ConfiguredGraphFactory.open("tenant51").traversal().V().has('t', 'infra:container').limit(100) ...
No description

Index Creation Help

I need some help understanding the difference between Graph Index, Composite Index, and Vertex Centrix Index, and how to create them. I am currently working in Python but I am unsure on how to utilize these three different types of indices to speed up my queries, any suggestions/explanations would be greatly appreciated Looking at this page from a previous thread that I had created here (https://docs.janusgraph.org/schema/index-management/index-performance/#composite-index) I wasn't too sure where to execute some of the commands listed on the website. Is this going to work with Python?...

Transaction Recovery not working as expected

Hi everyone. I'm following the steps in the Transaction Failure section here Failure & Recovery - JanusGraph for handling when persistence to indexing backends fail. I've enabled the tx write-ahead log and have tried setting up the recovery process. Based on the logs, it seems that the process is initializing properly but I don't see much after that and I don't believe indexing is being retried based on queries using this index. I also see that getStatistics returns 0,0. I'm wondering if anyone had any insight into what's going on here/what I might be missing? We're using cassandra as our backend storage and lucene for indexing at the moment. Thank you!...

Mapping.STRING not working as expected?

Hi everyone! Based on the Janusgraph text search documentation: ``` When a string mapping is configured, the string value is indexed and can be queried "as-is" - including stop words and non-letter characters...

Problem with Custom Long IDs in JanusGraph

Hi, I'm experiencing issues with using custom Long IDs in JanusGraph. Although I'm aware of the limitations concerning signed long integers, I'm still facing problems with the range of IDs that can be utilized. Currently, I'm operating with two Cassandra machines as backend storage and a single JanusGraph machine. My database needs to handle at least 3 billion vertex nodes with unique IDs, and I'm trying to determine if this is feasible. I've experimented with various configuration settings, such as cluster.max-partitions and ids.authority.conflict-avoidance-bitwidth, attempting to expand the number of bits available for IDs, but without success....

Gremlin Console in v1.0.0 and v1.1.0

A weird behaviour i am facing in v1.0.0 and v1.1.0 v1.0.0 ``` gremlin> :remote connect tinkerpop.server conf/remote.yaml session...

Query for JANUSGRAPH_RELATION_DELIMITER

I have a use case in which i need to create multiple instances of janusgraph in a single service, and these instances are using different JANUSGRAPH_RELATION_DELIMITER. I have gone through the source code and found the class RelationIdentifier.java, where I can see that the property JANUSGRAPH_RELATION_DELIMITER is read from the environment variable and not from the configurationBuilder. Is this the only way to provide the delimiter variable? If no, then can you provide a workaround for this? ...

Custom Vertex ID and coalesce

I am trying to find a vertex by ID if it exists update a property otherwise create a vertex with the ID. `ConfiguredGraphFactory.open("tenant51").traversal(). V().hasId('45gjttOlN2+udTmQcJnHpp').fold() .coalesce(...
Next