如何使用 JanusGraph API 识别配置的密钥空间?

问题描述 投票:0回答:1

在浏览https://docs.janusgraph.org/v0.5/basics/configuration-reference/时,我发现对于关键

storage.cassandra.keyspace

JanusGraph 的键空间名称。如果不存在,则会创建它。如果未提供,但 graph.graphname 已提供,则键空间将设置为该值。

我想在运行时在java代码中获取这个配置的键空间以进行一些验证。有什么方法可以识别这个配置的键空间吗?

此外,如果我们通过 Cassandra CQL 命令创建键空间并尝试在 JanusGraph 服务器中使用它,服务器会抛出异常。这意味着JanusGraph只能识别JanusGraph本身创建的键空间。所以,我想确定哪个键空间是由 JanusGraph 创建的,哪个是由 Cassandra 本身创建的。

cassandra gremlin janusgraph gremlin-server janus
1个回答
0
投票

如果您不指定

storage.cassandra.keyspace
,JanusGraph 服务器将使用
graph.graphname
的值,如您链接的文档中所述(来自
CQLStoreManager.java
):

    private String determineKeyspaceName(Configuration config) {
        if ((!config.has(KEYSPACE) && (config.has(GRAPH_NAME)))) return config.get(GRAPH_NAME);
        return config.get(KEYSPACE);
    }

如果未配置

graphname
,JanusGraph 服务器默认会创建一个名为
janusgraph
的键空间(如果它尚不存在)。

请注意,如果您自己创建键空间,则必须使用

conf/cassandra/cassandraTables.cql
中提供的模式创建 JanusGraph 表。否则,JanusGraph 会认为键空间无效并抛出错误。干杯!

© www.soinside.com 2019 - 2024. All rights reserved.