我发现,当从DB或任何格式将数据导入到图中时,我需要使用这些键创建边,这些键已经是顶点中的属性。
我如何通过使用这些我已经摄入到图中的FK遍历所有顶点来创建边?
我需要这是可编程的,因为我有很多需要这一步的数据。目前我正在使用Gremlin。Net,因为我使用的大部分代码已经是C#
示例:假设我吞下了一些客户
g.add客户,c_id,product_id
和一些产品
g、 addV(“产品”)。属性(“id”,产品id)
我想创建像这样的边缘:客户[购买-
我想做以下事情:
g、 V.hasLabel(“客户”)。作为(“c”)。将(“购买的”)添加到(g.V(c.product))
显然我不能做c。如果有任何使用循环的解决方案,很遗憾,这是不可能的,因为宇宙图不支持它。
到目前为止,我一直在使用C语言中的循环,但即使是我的样本数据也不可扩展。
也许有更好的方法可以做到这一点,但我会提供:
gremlin> g = TinkerGraph.open().traversal()
==>graphtraversalsource[tinkergraph[vertices:0 edges:0], standard]
gremlin> g.addV('customer').property('id', 321).property('productBought', 123)
==>v[0]
gremlin> g.addV('product').property('id', 123)
==>v[3]
gremlin> g.addV('customer').property('id', 987).property('productBought', 789)
==>v[5]
gremlin> g.addV('product').property('id', 789)
==>v[8]
gremlin> g.V().hasLabel('customer').as('c').
......1> V().hasLabel('product').as('p').
......2> where('p', eq('c')).
......3> by('id').
......4> by('productBought').
......5> select('p').
......6> addE('buys').from('c').to('p')
==>e[10][0-buys->3]
==>e[11][5-buys->8]
上述概念在某种程度上是基于“遍历诱导值”,本文对此进行了更详细的描述。
我最近看到很多问题都在问这类问题——人们想在哪里进行无边连接(即顶点属性值上的连接)。这不是一个图形查询大放异彩的地方,对于大多数Gremlin的实现,可能还有CosmosDB,这将是一个昂贵的操作,取决于您拥有多少数据。
当关系的知识已知时,最好生成边。因此,如果您在某一点上知道“ProductBuild”存在,那么它不应该作为“ProductBuild”属性键加载,而是作为“product”顶点的边加载。在您的模式设计中预先做出这些选择将在以后节省很多困难。
OrientDB数据库不仅是一个文档数据库,也是一个图形数据库。 和等新概念用于以图形的形式存储数据。 它在顶点上应用多态性。 的基类是. 在本章中,您将学习如何创建顶点来存储图形数据。 以下语句是创建顶点()命令的基本语法。 以下是有关上述语法中选项的详细信息。 - 定义顶点所属的类。 - 定义存储顶点的集群。 - 定义要设置的字段。 - 定义为字段设置的表达式。 示例 尝试下面的示例来了解如何
我有以下图表 如果我写一个查询g.V('a')。Out(),我如何才能得到被遍历的边和在traveral中遇到的顶点的值?
我正在使用salesforce的沙盒开发人员版本。在安装程序中,当我在快速查找框中搜索“Apex Class”时,未找到任何结果。还有文件--
通过几何体BufferGeometry的顶点索引属性BufferGeometry.index可以设置几何体顶点索引数据,如果你有WebGL基础很容易理解顶点索引的概念,如果没有也没有关系,下面会通过一个简单的例子形象说明。 比如绘制一个矩形网格模型,至少需要两个三角形拼接而成,两个三角形,每个三角形有三个顶点,也就是说需要定义6个顶点位置数据。对于矩形网格模型而言,两个三角形有两个顶点位置是重合的
下面的堆栈溢出问题 我尝试了在语句中使用两个重复的多个构造,但无法为每个起始顶点获得独立的。我也在使用平台,因此它限制了Gremlin的使用,其中不允许使用循环/脚本。所有gremlin查询必须以并由与链接在一起的命令组成 https://docs.aws.amazon.com/neptune/latest/userguide/access-graph-gremlin-differences.ht
我正在创建一个Titan图(由Dynamodb支持);我正在使用Titan 1.0.0并运行Gremlin Server 3(在TinkerPop3上)。 我试图在一条直线上用一个标签和多个属性向图中添加一个顶点。我可以用一个标签和一个属性添加一个顶点,在创建一个顶点后,我可以向其添加多个属性,但似乎我不能一次完成所有操作。 为了测试,我在gremlin shell中运行命令,但最终用例是通过RE