JanusGraph

J

JanusGraph

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

Join

Permission denied with (almost) default docker-compose.yml

When starting the JanusGraph container I get an "Operation not permitted" error specifically for the janusgraph-default-data (named) volume (the directory for BerkleyDB persistence). My docker-compose.yml file is as follows: ``` services: janusgraph: image: janusgraph/janusgraph:latest...

Metrics around cache usage

embedded janusgraph (java) - 0.6.3 storage - cassandra index - elasticsearch I enabled metrics and am collecting them using a custom reporter. Just wanted to know, are there any metrics for cache size and/or cache evictions ? The only ones I see are misses and retrievals...

Need advice on setting up janusgraph as a microservice

I am trying to build a recommendation system using janusgraph. I already have setup one janusgraph instance with an index backend for just the product and its related entities. Now, I need to add the users to the mix as well. But, I am confused as to whether introduce the User vertices in the product graph instance or should make a separate graph altogether. The reason for wanting a new instance for the users is that, there is a community feature that is included as well where creating personalities based on that user graph will becomes crucial....

What is the latest version of Cassandra is supported by 1.1.0-SNAPSHOT?

I am trying to run the latest SHANPSHOT version if JanusGraph against a Cassandra backend? The Cassandra DB I have running in a container is v5. What is the latest supported? I get the following error on the server startup:...

Syncing data between MongoDB and Janusgraph

My primary data source is MongoDB where collections are already. I need a way to sync the data from MongoDB to Jansugraph. The manual way of doing this is using MongoDB oplogs but I would like to know if there are any other better options before I get into that....

Indexes are not being used even after enabling

I have setup one composite index, one mixed index and one relation index. Although all of them have the 'ENABLED' status, the queries are still doing a full scan. I have attached the schema. Here is the query that I am trying to execute: ```gremlin> g.V().has('_id', '66b0dc9f2bd5e4709894fc29').profile()...
Solution:
Your index byIdTypeAndName includes 3 property keys: _id, type, and name. In that case, you also have to use all 3 property keys in your traversal for the index to work

How to delete static vertex link to another vertex (not static)?

Hello, in the same query i create a static vertex and an edge linked to another vertex not static. When i try to delete static vertex and its related edge in the same query, i get an exception, how can i do it ?...

Sack with List (Split and Merge operations)

Hi all, I am trying to get the following usage of sack working (with JanusGraph) and would appreciate a pointer in the right direction. I have broken the query down to the following, because I want to get the sack working at first. g.withSack([] as Set){set-> set.clone()}{setA,setB -> setA.appendAll(setB); setA}. V() .has('name', 'TS')...

Edge Index stuck at Installed

I have a Janusgraph instance running 1.0.0 with scylladb storage and Elastic indexing. I am trying to follow the example for creating an index on one of my edges: ``` graph.tx().rollback() //Never create new indexes while a transaction is active mgmt = graph.openManagement() time = mgmt.getPropertyKey('time')...

Speeding up Queries Made to JanusGraph

Hi, I am working with Janusgraph and my query is taking a while to execute (around 2.8 seconds), but I would like it to be faster. I read that I should create a composite index to improve speed and performance or something of that sort, but I am unfamiliar with how to do that in Python. Here is my query: g.V().has("person", "name", "Bob").outE("knows").has("weight", P.gte(0.5)).inV().values("name").toList() What my query does is it finds all the nodes that Bob has relationship "knows" with, as long as the weight of the edge to those nodes are >=0.5. Bob has around ~600 nodes that it's connected to with the "knows" relationship. It's fairly slow and takes 2.5-2.8 secs to complete....

Implement new storage backend using Tablestore

Hello, thank you for allowing me to join. This is my first post so apologize if I post my question in the wrong channel. So, I am planning to setup a new storage backend using Tablestore from AlibabaCloud https://www.alibabacloud.com/help/en/tablestore/tablestore-hbase-client, is there a doc on how to get started to integrate a new storage backend in Janusgraph? Thanks in advance...

Is there a way to connect janusgraph to an existing opensearch instance as the index backend?

I have an opensearch instance running already which I want to also use as the index backend for janusgraph.
janusgraph.index.search.backend: elasticsearch
janusgraph.index.search.hostname: <my-opensearch-hostname>:9200
janusgraph.index.search.backend: elasticsearch
janusgraph.index.search.hostname: <my-opensearch-hostname>:9200
...

Janusgraph Servers start throwing Exceptions when load increases

We have 10 instances of Janusgraph servers with 1 CPU each and 10GB of memory limit. It works fine when the number of requests are not much, but when we increase the request load, every instance of server starts throwing "Connection reset by peer" error. Previously we were facing idle connection closing issue, for which we added below configuration in our servers to resolve: evaluationTimeout: 0 idleConnectionTimeout: 0...
No description

Granular configuration options for such as JANUSGRAPH_RELATION_DELIMITER on driver

Hi folks, I'm curious about the possibility to make configuration options such as JANUSGRAPH_RELATION_DELIMITER more granular at the driver level. I know it can currently be set as an environment variable, but I'm wondering if there's thoughts of making this configurable on a per DriverRemoteConnection/Cluster basis client-side. The reason I'm asking is to cater for potential use cases where users on G.V() might need to connect to multiple janusgraph databases with disparate setups. Is that something reasonable/achievable as a potential new feature?...
Solution:
It’s unfortunately not viable, because driver package has no dependencies on config (core) package

Schema creation with groovy script does not work on inmemory setup

Hello, all. We are facing an issue while trying to create a schema by executing a groovy script with an inmemory setup. Below are the steps to reproduce: Create container via docker compose -f docker-compose.yml up -d (see attachments). Use the schema.groovy (see attachments) file to instantiate graph. In order to do this, we must:...

What would be the ideal way to set up deep learning on janusgraph data?

I have setup a simple knowledge graph on janusgraph and I wanted to use the data to train a deep learning model. I found DGL(https://dglke.dgl.ai/doc/index.html) library which seems to be used mostly. I am not sure how I should go about this. DGL accepts training data as a simple comma seperated strings which defines the from_vertex, relationship and the to_vertex ex: "London", "isCapitalOf", "UK" ...

How does remote gremlin server reacts to credential rotation.

I have are remote gremlin server setup with backend database as Cassandra. I need to rotate Cassandra Username/password once a week. My Cassandra credential are stored in gremlin server properties file and are injected by side-car container at boot time. How does the Janus graph reacts to if Cassandra credential are changed ? How can I achieved a rotation of Cassandra credentials without any downtime for gremlin server? ...

Infinite recursion error when evaluating script on Inmemory setup

Hello all, in our usecase, we use a Cassandra backend for development and production, but use an inmemory setup for running integration tests. We run our tests from a python application, using Gremlin Python and JanusGraph Python. The issue we face when running the inmemory setup is that the following error is thrown when trying to submit a script to JanusGraph: org.apache.tinkerpop.shaded.jackson.databind.JsonMappingException: Infinite recursion (StackOverflowError) Some background configuration on how we run our setup can be found below (setup.yml). The python script and groovy code we are submitting to JanusGraph (script.py)....

Incremental schema changes - Indices get stuck in 'Installed' state

Hi All, in our use-case the graph schema is changing over time and we have issues to incrementally add indices to the schema as we get error in the below scenario: 1. We create a graph with an initial schema and fill it with data. 2. We try adding a new index and cycling through the recommended steps in the documentation document here: https://docs.janusgraph.org/schema/index-management/index-lifecycle/ (Installed -> Registered -> Enabled (through Reindex action). ...

Is there a suitable JanusGraph visualizer where you can see your created graphs?

I am using Python (gremlin-python) to create JanusGraph graphs, and am using Docker to host the JanusGraph on my machine. Is there any software or plugin available that can display my created graphs?