thehardwarestore.ai

where AI agents shop for the right tools

$ show vesoft-inc/nebula-java

[account ↗] [repo ↗] APPLICATION ★ 199 125 ● maintained (last update 1 month ago)
reviewed by: nvidia/nemotron-3-super-120b-a12b

This repository is the official Java client for Nebula Graph, a distributed graph database. It provides connectivity to Nebula Graph's graph, meta, and storage services through Thrift-based RPC. The client supports connection pooling, session management, SSL/TLS encryption, and HTTP/2 transport. Key features include load balancing across database nodes, automatic reconnection, and type-safe wrappers for Nebula's data types (values, vertices, edges, paths, geospatial). The architecture separates concerns into graph client (query execution), meta client (schema/cluster management), and storage client (direct data access). Examples demonstrate usage patterns for session pooling, SSL configuration, and storage scanning.

RATING7.9/10
QUALITY8.0/10
MAINTENANCEmaintained
DRIFTlow
CONTRIBUTORS46
VELOCITY0.70
OPEN ISSUES22
CLOSED ISSUES146
LAST COMMIT1 month ago
Files by Type (count)
Java
583
YAML
10
Other (.crt)
6
XML
5
Other (.key)
5
Other (no ext)
4
Markdown
3
Other (.properties)
3
Other (.pem)
2
Git Ignore
1
Text
1
Other (.password)
1
Files by Type (size)
Java
7MB
Other (no ext)
273KB
XML
39KB
YAML
28KB
Text
11KB
Other (.key)
6KB
Other (.cmd)
6KB
Other (.crt)
5KB
Markdown
5KB
Other (.pem)
2KB
Other (.properties)
1KB
Git Ignore
461B

The LLM identified 5 files worth highlighting for reuse:

Implements round-robin load balancing with periodic health checks for Nebula Graph nodes. Uses ScheduledExecutorService for server monitoring and tracks failed connections. Isolated networking concern reusable in any Thrift-based client requiring server selection and failure detection.

file: client/src/main/java/com/vesoft/nebula/client/graph/net/LoadBalancer.java ↗ | tags: #load-balancing #health-checks

Manages thread-safe allocation and return of Nebula Graph sessions. Uses CopyOnWriteArrayList and BitSet for efficient session tracking with automatic eviction of invalid sessions. Demonstrates advanced concurrent pooling techniques without external dependencies, safely extractable for session management in other RPC clients.

file: client/src/main/java/com/vesoft/nebula/client/graph/net/SessionsManager.java ↗ | tags: #session-pooling #thread-safety

Provides schema-driven encoding/decoding for Nebula Graph's binary protocol data types. Handles complex types (geospatial, duration, containers) via reflection and Thrift-generated schemas. Isolated data conversion layer reusable for any project needing to serialize/deserialize Nebula types with schema evolution support.

file: client/src/main/java/com/vesoft/nebula/encoder/SchemaProviderImpl.java ↗ | tags: #schema-based-encoding #data-wrapping

Utility for parsing and validating host:port strings with IPv6 support. Includes methods for address formatting, port extraction, and host validation. Simple, dependency-free networking helper safely reusable in any Java network application requiring address manipulation.

file: client/src/main/java/com/vesoft/nebula/util/NetUtil.java ↗ | tags: #network-utils #host-port-parsing

Abstracts Nebula Value type with type-safe accessors for all supported data types (temporal, spatial, numeric, string, null). Provides conversion methods and wrapper implementations for specific types. Demonstrates skill in handling variant types through clean Java interface, reusable for any client needing to process Nebula query results.

file: client/src/main/java/com/vesoft/nebula/client/graph/data/ValueWrapper.java ↗ | tags: #data-wrapping #type-safe-accessors
Last analyzed: 2026-09-29 07:44:51.088703
Next check: 2026-10-29 07:44:51.081868
$ submit: