我找不到任何好的文档。我在这里找到的唯一文档也很短,没有那么有用
Gremlin 就是 Gremlin 就是 Gremlin。它是 Python 还是 Java 或 C# 还是 Javascript 都没有关系——这只是 Gremlin。因此,使用 Python 的 Gremlin 的文档很“简短”,因为它只是显示了您如何启动GraphTraversalSource
允许您生成Traversal
实例的方法。从那里,您可以访问 Gremlin 提供的所有标准步骤:
http://tinkerpop.apache.org/docs/current/reference/#graph-traversal-steps
因此文档的其余部分基本上适用于您的需求。需要考虑的主要技巧是某些步骤名称与 Python 保留字冲突 - 在这种情况下,该步骤使用下划线后缀,因此,in()
Java 的步骤变为in_()
Python 中的步骤。
例如如何创建一个新的数据库,如何配置搜索或存储数据库,
您真的不会在 TinkerPop 文档中找到它。您如何创建/配置 TinkerPopGraph
实现取决于您选择的图形数据库。你通常不会在 Python 中这样做。您将采用图表提供的方法。如果您的图表是 IBM Compose 上的 JanusGraph,您应该查阅他们的文档。只有在使用 gremlin-python 建立后,您才会连接到该图。
如何创建节点,如何创建边,
这只是格林姆林。Gremlin 有用于改变 Graph 的步骤,以便添加一个顶点并添加一条边,以便在它们之间创建两个顶点和一条边,我可以将一个遍历串在一起:
g.addV('person').property('name','cegprakash').as('c').
addV('question').property('title','Using gremlin-python Janus for social networking application').as('q1').
addV('question').property('title','Working of CCD algorithm for Inverse Kinematics').as('q2').
addE('asks').property('votes',0).from('c').to('q1').
addE('asks').property('votes',1).from('c').to('q2').iterate()
如何查询具有特定边的顶点没有清楚地记录。
同样,它只是 Gremlin,并且有很多例子。
g.V().has('person','name', 'cegprakash').
out('asks').
has('votes',gt(0))
所以上面说要找到一个名为“cegprakash”的顶点,然后遍历所有标记为“ask”的输出边,其“vote”属性的值大于零。
在我学习和构建它之前,我应该知道什么吗?
如果您以前没有使用过图表,请从简单开始。使用 TinkerGraph 和Gremlin 控制台熟悉 Gremlin 语言,然后开始研究 JanusGraph 在 Compose 下的配置和操作方式。到那时,您将有一个很好的基础来深入了解您的应用程序将如何实际工作,并在必要时提出更具体的问题。