5

我正在使用 Titan v0.3.1 并希望查看我已经通过 索引的键的列表createKeyIndex。我怎样才能做到这一点?

4

2 回答 2

5

在 Gremlin shell 中,您可以使用 Blueprints 的KeyIndexableGraph getIndexedKeys函数:

gremlin> g.getIndexedKeys(Vertex.class)
==>my_key_1
==>my_key_2
==>my_key_3

( my_key_1, my_key_2, 和my_key_3是 3 个索引顶点键)

要获取边缘键的索引,请使用上面Edge.class的代替Vertex.class

于 2013-08-28T19:19:28.420 回答
4

正如您自己发现的那样,您可以getIndexedKeys(Vertex.class)为此使用 Blueprints 方法,但是 Titan 类型系统提供的功能比createKeyIndex. 您使用 Titan 的时间越长,您就越想了解 Type Maker 系统:

https://github.com/thinkaurelius/titan/wiki/Type-Definition-Overview

在这种情况下,返回的类型getIndexedKeys可能还不够。这里有一些 Gremlin 可以为您提供更多详细信息:

gremlin> g = GraphOfTheGodsFactory.create('/tmp/titan')
13/08/28 16:28:23 INFO diskstorage.Backend: Configuring index [search] based on: 
...
13/08/28 16:28:25 INFO cluster.metadata: [Astaroth / Asteroth] [titan] update_mapping [vertex] (dynamic)
==>titangraph[local:/tmp/titan]
gremlin> import static com.thinkaurelius.titan.graphdb.types.system.SystemKey.*
==>import com.tinkerpop.gremlin.*
==>import com.tinkerpop.gremlin.java.*
==>import com.tinkerpop.gremlin.pipes.*
==>import com.tinkerpop.gremlin.pipes.filter.*
==>import com.tinkerpop.gremlin.pipes.sideeffect.*
==>import com.tinkerpop.gremlin.pipes.transform.*
...
==>import static com.thinkaurelius.titan.graphdb.types.system.SystemKey.*
gremlin> import com.thinkaurelius.titan.graphdb.types.*
==>import com.tinkerpop.gremlin.*
==>import com.tinkerpop.gremlin.java.*
==>import com.tinkerpop.gremlin.pipes.*
==>import com.tinkerpop.gremlin.pipes.filter.*
==>import com.tinkerpop.gremlin.pipes.sideeffect.*
==>import com.tinkerpop.gremlin.pipes.transform.*
...
==>import com.thinkaurelius.titan.graphdb.types.*
gremlin> g.newTransaction().getVertices(TypeClass, TitanTypeClass.KEY).collect{[it.name,it.dataType]}
==>[reason, class java.lang.String]
==>[name, class java.lang.String]
==>[type, class java.lang.String]
==>[time, class java.lang.Integer]
==>[place, class com.thinkaurelius.titan.core.attribute.Geoshape]
==>[age, class java.lang.Integer]

您可能希望查看 Titan API 以获取有关TitanKey从该调用返回的更多信息getVertices(因为类型存储为顶点):

http://thinkaurelius.github.io/titan/javadoc/0.3.2/com/thinkaurelius/titan/core/TitanKey.html

于 2013-08-28T20:52:05.593 回答