如何使用示例数据集填充Titan?

时间:2015-12-04 01:20:36

标签: amazon-web-services amazon-dynamodb titan gremlin rexster

我正在关注如何以AWS docs作为存储后端运行TitanDynamoDB。似乎有很多方法可以通过JSON和Web UI查询我的图形(Gremlin CLI,Rexster。我的rexster.xml configuration file引用了graph-name名为" v054"。

但是,如何将图表实际保存到存储层并进行更新呢?

来自我的rexster.xml

<graph-name>v054</graph-name>
<graph-type>com.thinkaurelius.titan.tinkerpop.rexster.TitanGraphConfiguration</graph-type>
<graph-location>/tmp/titan</graph-location>
<graph-read-only>false</graph-read-only>

Rexster Web UI:

Screenshot from Rexster

更新1

要查看为存储Titan图而创建的DynamoDB表,请确保使用-sharedDb标志启动DynamoDB本地(请参阅文档)。 start-dynamodb-local个人资料尚未强制执行此操作。将-inMemory标记替换为-shared中的pom.xml

    <profile>
        <id>start-dynamodb-local</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>exec-maven-plugin</artifactId>
                    <version>${exec.maven.plugin.version}</version>
                    <executions>
                        <execution>
                            <phase>initialize</phase>
                            <configuration>
                                <executable>java</executable>
                                <arguments>
                                    <!-- left out other arguments for brevity .. -->
                                    <argument>-sharedDb</argument>
                                </arguments>
                            </configuration>

使用-sharedDb运行DynamoDB Local后,您将看到创建了以下表格:

{
  "TableNames": [
    "v054_edgestore",
    "v054_graphindex",
    "v054_system_properties",
    "v054_systemlog",
    "v054_titan_ids",
    "v054_txlog"
  ]
}

更新2

我可以通过运行step 5 in the docs下提到的命令来获取对图表的引用。但是,我必须使用完全限定的TitanFactory.open()名称(见下文)。有关详细信息,请参阅this Github issue

gremlin> conf = new BaseConfiguration()
gremlin> conf.setProperty("storage.backend", "com.amazon.titan.diskstorage.dynamodb.DynamoDBStoreManager")
gremlin> conf.setProperty("storage.dynamodb.client.endpoint", "http://localhost:4567")
gremlin> conf.setProperty("index.search.backend", "elasticsearch")
gremlin> conf.setProperty("index.search.directory", "/tmp/searchindex")
gremlin> conf.setProperty("index.search.elasticsearch.client-only", "false")
gremlin> conf.setProperty("index.search.elasticsearch.local-mode", "true")
gremlin> conf.setProperty("index.search.elasticsearch.interface", "NODE")
gremlin> g = TitanFactory.open(conf)
==>javax.script.ScriptException: groovy.lang.MissingPropertyException: No such property: TitanFactory for class: Script12
gremlin> g = com.thinkaurelius.titan.core.TitanFactory.open(conf)
==>titangraph[com.amazon.titan.diskstorage.dynamodb.DynamoDBStoreManager:[127.0.0.1]]

1 个答案:

答案 0 :(得分:1)

你发布了Rexster Doghouse的截图。它嵌入了Gremlin Shell。单击顶部的Gremlin按钮,然后开始使用Gremlin脚本修改新图形。有关添加图形数据的gremlin命令示例,请参阅the project readme;有关更多示例,请参阅gremlin docs here。记得在创建自己的图形数据时调用g.commit()(不使用像Marvel数据集或神图的样本图数据。