MCPcopy Index your code
hub / github.com/RedisGraph/JRedisGraph

github.com/RedisGraph/JRedisGraph @v2.5.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.5.1 ↗ · + Follow
331 symbols 1,271 edges 40 files 156 documented · 47%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

license GitHub issues CircleCI Maven Central Javadocs Codecov Language grade: Java Known Vulnerabilities

JRedisGraph

Forum Discord

RedisGraph Java client

Official Releases

  <dependencies>
    <dependency>
      <groupId>com.redislabs</groupId>
      <artifactId>jredisgraph</artifactId>
      <version>2.4.0</version>
    </dependency>
  </dependencies>

Snapshots

  <repositories>
    <repository>
      <id>snapshots-repo</id>
      <url>https://oss.sonatype.org/content/repositories/snapshots</url>
    </repository>
  </repositories>

and

  <dependencies>
    <dependency>
      <groupId>com.redislabs</groupId>
      <artifactId>jredisgraph</artifactId>
      <version>2.5.0-SNAPSHOT</version>
    </dependency>
  </dependencies>

Example: Using the Java Client

package com.redislabs.redisgraph;

import com.redislabs.redisgraph.graph_entities.Edge;
import com.redislabs.redisgraph.graph_entities.Node;
import com.redislabs.redisgraph.graph_entities.Path;
import com.redislabs.redisgraph.impl.api.RedisGraph;

import java.util.List;

public class RedisGraphExample {
    public static void main(String[] args) {
        // general context api. Not bound to graph key or connection
        RedisGraph graph = new RedisGraph();

        Map<String, Object> params = new HashMap<>();
        params.put("age", 30);
        params.put("name", "amit");

        // send queries to a specific graph called "social"
        graph.query("social","CREATE (:person{name:'roi',age:32})");
        graph.query("social","CREATE (:person{name:$name,age:$age})", params);
        graph.query("social","MATCH (a:person), (b:person) WHERE (a.name = 'roi' AND b.name='amit') CREATE (a)-[:knows]->(b)");

        ResultSet resultSet = graph.query("social", "MATCH (a:person)-[r:knows]->(b:person) RETURN a, r, b");
        while(resultSet.hasNext()) {
            Record record = resultSet.next();
            // get values
            Node a = record.getValue("a");
            Edge r =  record.getValue("r");

            //print record
            System.out.println(record.toString());
        }

        resultSet = graph.query("social", "MATCH p = (:person)-[:knows]->(:person) RETURN p");
        while(resultSet.hasNext()) {
            Record record = resultSet.next();
            Path p = record.getValue("p");

            // More path API at Javadoc.
            System.out.println(p.nodeCount());
        }

        // delete graph
        graph.deleteGraph("social");

        // get connection context - closable object
        try(RedisGraphContext context = graph.getContext()) {
            context.query("contextSocial","CREATE (:person{name:'roi',age:32})");
            context.query("social","CREATE (:person{name:$name,age:$age})", params);
            context.query("contextSocial", "MATCH (a:person), (b:person) WHERE (a.name = 'roi' AND b.name='amit') CREATE (a)-[:knows]->(b)");
            // WATCH/MULTI/EXEC
            context.watch("contextSocial");
            RedisGraphTransaction t = context.multi();
            t.query("contextSocial", "MATCH (a:person)-[r:knows]->(b:person{name:$name,age:$age}) RETURN a, r, b", params);
            // support for Redis/Jedis native commands in transaction
            t.set("x", "1");
            t.get("x");
            // get multi/exec results
            List<Object> execResults =  t.exec();
            System.out.println(execResults.toString());

            context.deleteGraph("contextSocial");
        }
    }
}

License

FOSSA Status

Extension points exported contracts — how you extend this code

RedisGraphCacheHolder (Interface)
(no doc) [6 implementers]
src/main/java/com/redislabs/redisgraph/impl/api/RedisGraphCacheHolder.java
Record (Interface)
Container for RedisGraph result values. List records are returned from RedisGraph statement execution, contained within [2 …
src/main/java/com/redislabs/redisgraph/Record.java
ResultSet (Interface)
Hold a query result [2 implementers]
src/main/java/com/redislabs/redisgraph/ResultSet.java
Header (Interface)
Query response header interface. Represents the response schema (column names and types) [2 implementers]
src/main/java/com/redislabs/redisgraph/Header.java
RedisGraphContext (Interface)
(no doc) [2 implementers]
src/main/java/com/redislabs/redisgraph/RedisGraphContext.java

Core symbols most depended-on inside this repo

query
called by 93
src/main/java/com/redislabs/redisgraph/RedisGraph.java
getStatistics
called by 76
src/main/java/com/redislabs/redisgraph/ResultSet.java
size
called by 49
src/main/java/com/redislabs/redisgraph/Record.java
hasNext
called by 48
src/main/java/com/redislabs/redisgraph/impl/resultset/ResultSetImpl.java
getValue
called by 45
src/main/java/com/redislabs/redisgraph/Record.java
next
called by 37
src/main/java/com/redislabs/redisgraph/impl/resultset/ResultSetImpl.java
size
called by 33
src/main/java/com/redislabs/redisgraph/ResultSet.java
addProperty
called by 33
src/main/java/com/redislabs/redisgraph/graph_entities/GraphEntity.java

Shape

Method 289
Class 28
Interface 10
Enum 4

Languages

Java100%

Modules by API surface

src/test/java/com/redislabs/redisgraph/RedisGraphAPITest.java28 symbols
src/main/java/com/redislabs/redisgraph/impl/resultset/ResultSetImpl.java23 symbols
src/main/java/com/redislabs/redisgraph/impl/resultset/StatisticsImpl.java17 symbols
src/main/java/com/redislabs/redisgraph/Statistics.java15 symbols
src/main/java/com/redislabs/redisgraph/impl/api/ContextedRedisGraph.java13 symbols
src/main/java/com/redislabs/redisgraph/graph_entities/Path.java13 symbols
src/test/java/com/redislabs/redisgraph/exceptions/JRedisGraphErrorTest.java12 symbols
src/main/java/com/redislabs/redisgraph/impl/resultset/RecordImpl.java11 symbols
src/main/java/com/redislabs/redisgraph/graph_entities/GraphEntity.java11 symbols
src/test/java/com/redislabs/redisgraph/graph_entities/PathTest.java10 symbols
src/main/java/com/redislabs/redisgraph/graph_entities/Property.java10 symbols
src/main/java/com/redislabs/redisgraph/graph_entities/Edge.java10 symbols

For agents

$ claude mcp add JRedisGraph \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact