# TinkerPop **Repository Path**: apache/tinkerpop ## Basic Information - **Project Name**: TinkerPop - **Description**: TinkerPop是一种开源图计算框架,既可用于联机事务处理(OLTP),又可用于联机分析处理系统(OLAP)。它可以用于处理单一机器以及分布式环境的庞大数据 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 12 - **Forks**: 0 - **Created**: 2017-04-03 - **Last Updated**: 2026-02-17 ## Categories & Tags **Categories**: database-service **Tags**: None ## README # Apache TinkerPop [![Maven Central](https://img.shields.io/maven-central/v/org.apache.tinkerpop/gremlin-driver?color=brightgreen)](https://mvnrepository.com/artifact/org.apache.tinkerpop/gremlin-driver) [![NuGet](https://img.shields.io/nuget/v/Gremlin.Net?color=brightgreen)](https://www.nuget.org/packages/Gremlin.Net) [![PyPI](https://img.shields.io/pypi/v/gremlinpython?color=brightgreen)](https://pypi.org/project/gremlinpython/) [![npm](https://img.shields.io/npm/v/gremlin?color=brightgreen)](https://www.npmjs.com/package/gremlin) [![Go.Dev](https://badge.fury.io/go/github.com%2Fapache%2Ftinkerpop%2Fgremlin-go%2Fv3.svg)](https://pkg.go.dev/github.com/apache/tinkerpop/gremlin-go/v3) [![Codecov](https://codecov.io/gh/apache/tinkerpop/branch/master/graph/badge.svg?token=TojD2nR5Qd)](https://codecov.io/gh/apache/tinkerpop) [![TinkerPop3](https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/images/tinkerpop3-splash.png)](https://tinkerpop.apache.org) Apache TinkerPop™ is a graph computing framework for both graph databases (OLTP) and graph analytic systems (OLAP). It provides the Gremlin graph traversal language, drivers, and tools for working with property graphs across a wide variety of underlying data systems. ## Project overview TinkerPop defines a common interface and language (Gremlin) so that applications can work against many different graph systems without being locked into a single vendor. It includes a reference in‑memory graph database (TinkerGraph), Gremlin Server, language variants, and a rich collection of recipes and documentation. Key resources: - Website: https://tinkerpop.apache.org - Documentation Index: https://tinkerpop.apache.org/docs/current/index.html - Upgrade documentation: https://tinkerpop.apache.org/docs/current/upgrade/ - Reference documentation: https://tinkerpop.apache.org/docs/current/reference/ - Recipes: https://tinkerpop.apache.org/docs/current/recipes/ - Provider documentation and Gremlin Semantics: https://tinkerpop.apache.org/docs/current/dev/provider - Developer documentation: https://tinkerpop.apache.org/docs/current/dev/developer - IO Documentation: https://tinkerpop.apache.org/docs/current/dev/io - Roadmap and proposals: https://tinkerpop.apache.org/docs/current/dev/future/ - Javadocs: https://tinkerpop.apache.org/javadocs/current/full/, [core javadoc](https://tinkerpop.apache.org/javadocs/current/core/) ## Building and Testing TinkerPop uses [Maven](https://maven.apache.org/) and requires Java 11/17 for proper building and proper operations. To build, execute unit tests and package Gremlin Console/Server run: ```bash mvn clean install ``` Please see the [Building on Windows](docs/src/dev/developer/development-environment.asciidoc#building-on-windows) section for Windows-specific build instructions. The zip distributions can be found in the following directories: 1. `gremlin-server/target` 2. `gremlin-console/target` Please see the CONTRIBUTING.md file for more detailed information and options for building, test running and developing TinkerPop. ## Get Started Download [Gremlin Console](https://tinkerpop.apache.org/download.html) (compatible with Java 11/17) and unzip to a directory, then: ```bash $ bin/gremlin.sh \,,,/ (o o) -----oOOo-(3)-oOOo----- plugin activated: tinkerpop.server plugin activated: tinkerpop.utilities plugin activated: tinkerpop.tinkergraph gremlin> Gremlin.version() ==>3.8.0 gremlin> graph = TinkerFactory.createModern() ==>tinkergraph[vertices:6 edges:6] gremlin> g = traversal().with(graph) ==>graphtraversalsource[tinkergraph[vertices:6 edges:6], standard] gremlin> g.V().has('name','vadas').valueMap() ==>[name:[vadas], age:[27]] ``` From the Gremlin Console, you can connect to a TinkerGraph instance and run your first traversals. Refer to the [Getting Started](https://tinkerpop.apache.org/docs/current/tutorials/getting-started/) for detailed walkthroughs and examples. ## Using TinkerPop Common ways to use TinkerPop include: - Embedding **TinkerGraph** in your application for development, testing, or lightweight graph workloads. - Connecting to a **Gremlin‑enabled graph database** via drivers or [Gremlin Server](https://tinkerpop.apache.org/docs/current/reference/#gremlin-server). - Running **Gremlin traversals** from the JVM, or via Gremlin Language Variants (Python, .NET, JavaScript, Go, etc.). - Using the **Gremlin Console** for interactive exploration, debugging, and learning. See the [Reference Documentation](https://tinkerpop.apache.org/docs/current/reference/) for supported features, configuration options, and other details. ## Documentation The full TinkerPop documentation is published on the project website and is also maintained in this repository under `docs/src/` as AsciiDoc “books.” When changing or adding documentation, follow the existing AsciiDoc structure in `docs/src/**` and update the relevant `index.asciidoc` files so new content is included in the build. ## Contributing Contributions to Apache TinkerPop are welcome. The [Developer Documentation](https://tinkerpop.apache.org/docs/current/dev/developer) and contributing guide describe how to set up a development environment, run tests, and submit changes. - Contribution guidelines: `CONTRIBUTING.md` in the repository root. - Developer documentation: https://tinkerpop.apache.org/docs/current/dev/developer/ Before opening a pull request, please: - Discuss larger changes on the appropriate Apache mailing list. - Ensure tests pass locally and, where appropriate, add new tests and documentation. - Update `CHANGELOG.asciidoc` and upgrade docs when behavior or public APIs change. ## Using AI and IDE assistants If you use AI coding agents or IDE assistants when working on TinkerPop, please consult `AGENTS.md`. That file summarizes: - Recommended build and test commands. - Code style and testing conventions. - “Do and don’t” guidance specific to automated tools. `AGENTS.md` is a concise guide for tools and tool‑using contributors, while `CONTRIBUTING.md` and the [Developer Documentation](https://tinkerpop.apache.org/docs/current/dev/developer) remain the canonical sources for project policies and processes. ## License Apache TinkerPop is an open source project of The Apache Software Foundation and is licensed under the Apache License, Version 2.0. See the `LICENSE` file in this repository for details.