Tinkerpop3 连接到远程 TitanDB 服务器
Tinkerpop3 connect to remote TitanDB server
我正在尝试使用 Java 中的 Tinkerpop3 作为客户端从 运行 TitanDB 服务器(我不想创建服务器)获取 Graph 对象。
换句话说,我正在尝试实现这样的功能:
public Graph obtainGraph(String serverIp, String graphName);
我试着像这里那样做:
但据我所知,TitanFactory.open()
启动服务器,我不想这样做 - 我只想连接到现有服务器。
文档以及 Internet 上的大多数资料都使用内存中的图表作为示例,但我找不到一个说明如何:
创建新图并将其保存在远程服务器上
从远程服务器检索现有图表
更新此类远程图,因此在 adding/removing 边缘提交更改后
删除整个图表
我不想通过 Gremlin 语言(字符串)来做上述事情,而是通过 Java API (TinkerpopBlueprins)。
这家伙越来越接近我需要的东西了:
Add vertices to TitanDB Graph in Java
但是,他的方法已经将 Graph
作为参数。
我在 Internet 的许多地方看到,GraphFactory.open() 获取属性文件的路径,但是我还没有看到此类文件内容的示例,尤其是与 TitanDB 相关的数据,所以我会更喜欢使用 Configuration
对象。
Graph graph = GraphFactory.open(new BaseConfiguration())
表示没有 gremlin.graph 属性.
Configuration configuration = new BaseConfiguration();
configuration.setProperty("gremlin.graph", "titan");
Graph graph = GraphFactory.open(configuration);
说 GraphFactory
找不到 [titan] - 确保 jar 在类路径中
是否有任何带有枚举和常量的静态类型构建器,而不是 Map<String, Object>
,它会告诉我,我必须提供哪些属性以及它们的类型是什么?
是否有任何开源项目使用 Tinkerpop3 作为客户端连接到远程 TitanDB 服务器,我可以用作示例?
我希望看到完整的工作示例,而不是在内存中使用外部配置。
这是连接到 运行 Titan 服务器的 Titan 驱动程序示例。 https://github.com/pluradj/titan-tp3-driver-example 正如您所注意到的,这会将 Gremlin 作为字符串传递给远程 Titan 服务器。
如果你不想这样做,因为你想直接使用 Java API,你应该使用 TitanFactory.open()
to make a direct connection to your graph. TitanFactory.open()
creates a TitanGraph 可以执行你的图表的实例 API呼吁反对。 它不会启动 Titan 服务器。在幕后,它会创建到后端存储和索引的客户端连接。
没有Titan Server https://github.com/pluradj/titan-tp3-java-example
的Titan Java程序可以参考这个例子
您可以使用属性文件配置它(这里是一个通过代码的 example configuration using Cassandra and Elasticsearch) or by constructing a Configuration
对象(基本上设置与属性文件中相同的键值对)。
如果在您初始连接之前图形不存在,Titan 将在 Cassandra 中创建图形键空间并在 Elasticsearch 中创建索引。
记下 storage.hostname
和 index.search.hostname
,因为它们分别是您的 Cassandra 和 Elasticsearch 集群。 这些本质上是您的 "graph server". 您不需要单独的 Titan 服务器 运行.
Titan 没有任何 API 可以从后端存储中删除图形。要删除整个图表,您需要通过 Java client driver, and execute the API to drop the keyspace. Similarly, you would need to connect to Elasticsearch through its Indices API 连接到 Cassandra,然后删除索引。
我正在尝试使用 Java 中的 Tinkerpop3 作为客户端从 运行 TitanDB 服务器(我不想创建服务器)获取 Graph 对象。
换句话说,我正在尝试实现这样的功能:
public Graph obtainGraph(String serverIp, String graphName);
我试着像这里那样做:
但据我所知,TitanFactory.open()
启动服务器,我不想这样做 - 我只想连接到现有服务器。
文档以及 Internet 上的大多数资料都使用内存中的图表作为示例,但我找不到一个说明如何:
创建新图并将其保存在远程服务器上
从远程服务器检索现有图表
更新此类远程图,因此在 adding/removing 边缘提交更改后
删除整个图表
我不想通过 Gremlin 语言(字符串)来做上述事情,而是通过 Java API (TinkerpopBlueprins)。
这家伙越来越接近我需要的东西了:
Add vertices to TitanDB Graph in Java
但是,他的方法已经将 Graph
作为参数。
我在 Internet 的许多地方看到,GraphFactory.open() 获取属性文件的路径,但是我还没有看到此类文件内容的示例,尤其是与 TitanDB 相关的数据,所以我会更喜欢使用 Configuration
对象。
Graph graph = GraphFactory.open(new BaseConfiguration())
表示没有 gremlin.graph 属性.
Configuration configuration = new BaseConfiguration();
configuration.setProperty("gremlin.graph", "titan");
Graph graph = GraphFactory.open(configuration);
说 GraphFactory
找不到 [titan] - 确保 jar 在类路径中
是否有任何带有枚举和常量的静态类型构建器,而不是 Map<String, Object>
,它会告诉我,我必须提供哪些属性以及它们的类型是什么?
是否有任何开源项目使用 Tinkerpop3 作为客户端连接到远程 TitanDB 服务器,我可以用作示例?
我希望看到完整的工作示例,而不是在内存中使用外部配置。
这是连接到 运行 Titan 服务器的 Titan 驱动程序示例。 https://github.com/pluradj/titan-tp3-driver-example 正如您所注意到的,这会将 Gremlin 作为字符串传递给远程 Titan 服务器。
如果你不想这样做,因为你想直接使用 Java API,你应该使用 TitanFactory.open()
to make a direct connection to your graph. TitanFactory.open()
creates a TitanGraph 可以执行你的图表的实例 API呼吁反对。 它不会启动 Titan 服务器。在幕后,它会创建到后端存储和索引的客户端连接。
没有Titan Server https://github.com/pluradj/titan-tp3-java-example
的Titan Java程序可以参考这个例子您可以使用属性文件配置它(这里是一个通过代码的 example configuration using Cassandra and Elasticsearch) or by constructing a Configuration
对象(基本上设置与属性文件中相同的键值对)。
如果在您初始连接之前图形不存在,Titan 将在 Cassandra 中创建图形键空间并在 Elasticsearch 中创建索引。
记下
storage.hostname
和index.search.hostname
,因为它们分别是您的 Cassandra 和 Elasticsearch 集群。 这些本质上是您的 "graph server". 您不需要单独的 Titan 服务器 运行.Titan 没有任何 API 可以从后端存储中删除图形。要删除整个图表,您需要通过 Java client driver, and execute the API to drop the keyspace. Similarly, you would need to connect to Elasticsearch through its Indices API 连接到 Cassandra,然后删除索引。