- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Neptune 文档说他们仅支持通过 CSV 导入的属性数据的“设置”属性基数,这意味着新到达的属性值无法覆盖同一属性上同一顶点上的旧属性值。
例如,如果第一个 CSV 导入
~id,~label,age
Marko,person,29
然后 Marko 有一个生日和第二个 CSV 导入
~id,~label,age
Marko,person,30
“Marko”顶点的“age”属性将包含两个年龄值,这似乎没有用。
AWS 说这(折叠设置为单一基数属性(仅保留最后到达的值)需要通过 Gremlin 遍历通过后处理完成。
这是否意味着应该有一个遍历,不断扫描具有多个(Set)属性的 Vertexes 并再次使用 Single cardinality 设置属性,最后一个可能的值?如果是这样,执行此操作的最佳 Gremlin 查询是什么?
在 pseudo-Gremlin 中,我会想象这样的事情:
g.V().property(single, properties(*), _.tail())
是否可以保证 Set-cardinality 属性始终按到达顺序列出?
还是我完全走错了路。
如有任何帮助,我们将不胜感激。
更新:所以到目前为止,我能想到的最好的事情仍然远非完美的解决方案,但它仍然可能对我这样的人有用。
在计划 A 中,如果我们碰巧知道属性名称并且到达顺序根本不重要(只希望这些属性具有单一基数),则所有顶点的遍历可能类似于:
g.V().has(${propname}).where(property(single, ${propname}, properties(${propname}).value().order().tail() ) )
计划 B 是在同一顶点(例如以 _ 开头)的临时属性名称下收集新的属性值,并遍历具有此类临时属性名称的顶点,并使用单基数的尾部值设置原始属性:
g.V().has(${temp_propname}).where(property(single, ${propname}, properties(${temp_propname}).value().order().tail() ) ).properties('temp_propname').drop()
计划 C 是最酷的,但不幸的是行不通,它是在专用顶点中继续收集属性值,以纪元时间戳作为属性名称,属性值作为它们的值:
g.V(${vertexid}).out('has_propnames').properties()
==>vp[1542827843->value1]
==>vp[1542827798->value2]
==>vp[1542887080->latestvalue]
并对属性名称(键)进行排序,取最后一个,并使用其值使主顶点属性值与最新值保持同步:
g.V().has(${propname}).where(out(${has_these_properties}).count().is(gt(0))).where(property(single, ${propname}, out(${has_these_properties}).properties().value( out(${has_these_properties}).properties().keys().order().tail() ) ) )
看起来 value() 步骤的参数必须是常量,它不能使用另一个遍历的结果作为参数,所以我无法让它工作。也许拥有更多 Gremlin 经验的人知道解决此问题的方法。
最佳答案
AWS 最近在 CSV 批量加载器上引入了“单一”基数支持: https://docs.aws.amazon.com/neptune/latest/userguide/bulk-load-tutorial-format-gremlin.html因此,不再需要 Gremlin 级别的属性值安排。
关于amazon-web-services - 如何为通过 CSV 导入 AWS Neptune 的 Vertex 属性安排单一基数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53340849/
我似乎无法制作海王星笔记本,每次尝试时都会出现以下错误: Notebook Instance Lifecycle Config 'arn:aws:sagemaker:us-west-2:XXXXXXX
我已经找到了“请求预览”page ,除此之外还有什么方法可以在本地部署和测试 Neptune 吗? 最佳答案 AWS Neptune 只能在 VPC 内进行测试。你可能可以做的是 1.在同一个VPC内
我已经找到了“请求预览”page ,除此之外还有什么方法可以在本地部署和测试 Neptune 吗? 最佳答案 AWS Neptune 只能在 VPC 内进行测试。你可能可以做的是 1.在同一个VPC内
我有以下基于文档的代码... @Controller @RequestMapping("neptune") public class NeptuneEndpoint { @GetMapping
我在其他问题上看到 Gremlin 和 Neptune 本身不支持全文搜索。 如何在我的网站中提供此功能? 理想情况下,不需要运行更多我必须照顾的基础设施/软件。 认为某些选项正在使用外部搜索服务,如
我之前能够连接到我的数据库集群的笔记本,但现在我在执行 %status 时遇到错误。 我已经使用新的 VPC 连接创建了集群和笔记本,还添加了角色。我还验证了笔记本和数据库集群的 VPC 连接相同 请
我尝试通过 Fiddler 使用 Neptune END Point 发送 HTTP Post 请求来连接到 Amazon Neptune 实例。但最终出现超时错误。可以使用 fiddler/Post
我已经设置了一个 AWS Neptune 数据库集群,其中一个主节点和两个副本节点位于三个私有(private)子网中,每个子网位于同一区域的三个可用区中。我还创建了相应的公共(public)子网,其
AWS Neptune 数据库集群只能在 VPC 内创建,其端点只能在 VPC 内访问。我想通过 Gremlin Java 驱动程序连接到集群端点,并能够在本地调试我的代码。这可能吗? 最佳答案 是的
我在使用 AWS Neptune DB 时遇到了一个非常奇怪的问题。我只能将属性更改为新值,不能使用任何以前的名称。 我正在使用 gremlin 和 node.js。 这听起来很奇怪所以让我添加一些代
我正在使用 gremlin-javascript从 Node 与 AWS Neptune 对话。根据docs和 quickstart , 日期应使用 datetime() 设置. 我没有找到这个 da
Neptune 目前只支持 OLTP 类型的图遍历查询? 但来自 documentation : TransactionsNeptune opens a new transaction at the
我想以与在 AWS Neptune 中使用 curl 操作批量加载数据相同的方式批量删除节点。有没有像我在 SPARQL 中看到的那样的 gremlin 的 API 约定?如果是这样,您可以发布引用吗
我无法理解 Gremlin 数据加载格式化列的基数规范,如下所述: https://docs.aws.amazon.com/neptune/latest/userguide/bulk-load-tut
我无法理解 Gremlin 数据加载格式化列的基数规范,如下所述: https://docs.aws.amazon.com/neptune/latest/userguide/bulk-load-tut
在官方 aws neptune 文档中,他们提到我们可以连接到 vpc 外部的 neptune,但必须为此定义一个安全组。尽管有人提到您无法从外部 vpc 连接到它,如果想连接则只能通过 EC2 进行
我正在尝试使用 gremlin 测试我们的海王星数据库。我想出了在本地进行测试的方法。我有哪些选择? 目前只是实时测试。这显然不是很有效。 最佳答案 如果这纯粹是为了测试目的,那么您可以做的是解析集群
我在 aws 中创建了一个海王星实例。我现在如何连接到它? 我尝试了 documentation 中给出的示例从我的笔记本电脑本地。 from gremlin_python.structure.gra
在 Amazon Neptune 中,我想在 Java 中将多个 Gremlin 命令作为单个事务运行。文档说不支持 tx.commit() 和 tx.rollback() 。它表明了这一点 - 由分
所以SPARQL documentation包含如何指定要搜索的多个字段的示例: PREFIX foaf: PREFIX neptune-fts: SELECT * WHERE { SERVI
我是一名优秀的程序员,十分优秀!