如果 1 个 Gremlin 查询中不存在顶点和边,则创建

2024-05-11

我找到以下代码来创建边缘(如果它尚不存在)。

g.V().hasLabel("V1")
.has("userId", userId).as("a")
.V().hasLabel("V1").has("userId", userId2)
.coalesce(
        bothE("link").where(outV().as("a")),
        addE("link").from("a")
)

它工作正常,但我想创建顶点和边(如果它们不存在于 1 个查询中)。

我用新图尝试以下代码,它只是创建新顶点,但它们之间没有关系。

g.V().hasLabel("V1")
.has("userId", userId).fold()
.coalesce(
        unfold(),
        addV("V1").property("userId", userId1)
).as("a")
.V().hasLabel("V1").has("userId", userId2).fold()
.coalesce(
        unfold(),
        addV("V1").property("userId", userId2)
)
.coalesce(
        bothE("link").where(outV().as("a")),
        addE("link").from("a")
)

感谢丹尼尔·库皮茨 (Daniel Kuppitz)JanusGraph 谷歌组 https://groups.google.com/d/msg/janusgraph-users/AS-_W9SaWS4/rJTInVJ_CwAJ。我找到了解决办法。我将其重新发布在这里,供有需要的人使用。

您的查询有两个问题。第一个是它不能按预期工作的原因:fold() 步骤。使用fold()会破坏路径历史记录,但您可以通过在子遍历中执行该部分来轻松解决它:

g.V().has("V1","userId", userId1).fold().
  coalesce(unfold(),
           addV("V1").property("userId", userId1)).as("a").
  map(V().has("V1","userId", userId2).fold()).
  coalesce(unfold(),
           addV("V1").property("userId", userId2))
  coalesce(inE("link").where(outV().as("a")),
           addE("link").from("a"))

第二个问题是两者的结合和淘汰。你应该使用bothE/otherV, outE/inV or inE/outV.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果 1 个 Gremlin 查询中不存在顶点和边,则创建 的相关文章

  • Flash 图表和图形的最佳解决方案是什么? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我知道融合图表 http www fusioncharts com 还有其他好的解决方案或 API 用
  • Bokeh 中单独的节点和边缘悬停工具?

    我正在尝试为 Bokeh 中的节点和边缘获取单独的悬停工具提示 但未能使其正常工作 有人可以指出我做错了什么吗 我相信代码应该如下所示 from bokeh io import show output notebook from bokeh
  • 如何计算 Postgres 上图表中所有连接的节点(行)?

    我的桌子有account id and device id One account id可以有多个device ids 反之亦然 我正在尝试计算每个连接的多对多关系的深度 Ex account id device id 1 10 1 11
  • 在鼠标光标位置添加 cytoscape 节点

    我想在画布上的单击事件上的鼠标箭头位置添加一个 cytoscape 节点 我怎样才能做到这一点 我的方法 效果不太好 我可以通过单击创建一个节点 但无法确保创建的节点的位置位于我单击的位置 使用这样的东西 cy click function
  • 用表达式分割轴标签

    我有一个带有包含表达式的长标签的图 我想将其分成两行 在表达式中添加 n 结果不符合预期 ylabel lt expression A very long label with text and n expression alpha bet
  • 从数据框中绘制多条平滑线

    我对 R 比较陌生 我正在尝试绘制从 csv 文件加载的数据框 数据由 6 列组成 如下所示 xval col1 col2 col3 col4 col5 第一列 xval 由一系列单调递增的正整数 例如 10 40 60 等 组成 其他列
  • Facebook Workplace API 身份验证

    我正在开发一个与 Facebook 的 Workplace 集成的 Web 应用程序 我花了一整天的时间试图弄清楚如何使用 OAUTH 身份验证机制进行成员身份验证 由于我拥有应用程序访问令牌 我能够获取用于模拟的成员访问令牌 但是 我如何
  • 您将如何显示/布局企业应用程序之间的数据流?

    我的雇主是一家大型瑞士电信公司 我们有许多系统用于为不同任务传输数据 例如性能管理 故障管理 配置管理等 为了向 管理 尖头等 解释这些系统如何交互 我将有关数据流 格式 协议的信息收集到 数据库 逗号分隔的说服者 中 然后为 Graphv
  • 加权图的 BFS 算法 - 寻找最短距离

    我看过很多帖子 即 post1 https stackoverflow com questions 30409493 using bfs for weighted graphs post2 https cs stackexchange co
  • 用于时间线数据的类似 gnuplot 的程序

    我正在寻找一个类似 gnuplot用于在时间轴中绘制数据图表的程序 类似 gnuplot 在 Linux 上运行 命令行功能 GUI 对我帮助不大 可编写脚本的语法 输出为 jpg png svg 或 gif 输出应该是这样的 set5 s
  • 用 HashMap[Int, Vector[Int]] (Scala) 表示图(邻接列表)?

    我想知道如何 如果可能的话 我可以通过以下方式制作 可变 图的邻接列表表示HashMap Int Vector Int HashMap当然是可变的 目前我将其设置为HashMap Int ArrayBuffer Int 但我可以更改 Arr
  • 广度优先搜索:检查访问状态的时机

    在有向图的广度优先搜索中 可能循环 当一个节点出队时 其所有尚未访问的子节点都会入队 并且该过程将继续 直到队列为空 有一次 我以相反的方式实现它 将节点的所有子节点排队 并在节点出队时检查访问状态 如果正在出队的节点之前已被访问过 则该节
  • Flot 0.8.2 折线图 - 颜色错误

    我正在使用 Flot 折线图并设置它们的颜色 我发现了一个奇怪的错误 在前 3 种颜色之后 绘图对所有其他线条使用最后一种颜色 这不是正确的行为 更有趣的是图例显示了正确的颜色 这是一个已知的错误 var dataSet label d1
  • 计算 Adamic-Adar 的快速算法

    我正在研究图形分析 我想计算一个 N N 相似度矩阵 其中包含每两个顶点之间的 Adamic Adar 相似度 为了概述 Adamic Adar 让我从以下介绍开始 给定邻接矩阵A无向图的G CN是两个顶点的所有公共邻居的集合x y 两个顶
  • 求 Petersen 子图中的哈密顿路径

    我开始使用 IDE Jupyter Python 3 6 并出现了一个问题 我必须通过IDE绘制Petersen子图中的哈密顿路径 但我不知道该怎么做 我显示有关该图的信息 彼得森图 https en wikipedia org wiki
  • 添加边权重以在 networkx 中绘制输出

    我正在使用 networkx 包在 python 中做一些图论 我想 将图表边缘的权重添加到绘图输出中 我怎样才能做到这一点 例如 我如何修改以下代码以获得所需的输出 import networkx as nx import matplot
  • 绘制点之间的所有线

    我有以下 R 代码 x lt c 0 01848598 0 08052353 0 06741172 0 11652034 y lt c 0 4177541 0 4042247 0 3964025 0 4074685 d lt data fr
  • 如何在 MATLAB 中绘制 3D 曲面图?

    我有一个像这样的数据集 0 1 0 2 0 3 0 4 1 10 11 12 13 2 11 12 13 14 3 12 13 14 15 4 13 14 15 16 我想在 matlab 中绘制 3D 曲面图 使列标题位于 y 轴 行标题
  • 带剖面的 3D 曲面图

    基本上 我有一个由一组时间序列组成的曲面图 我想在特定高度添加剖面图 以更好地了解一年中值高于所选阈值的时期 由此 其中显示平面但不是剖面 To This 有什么建议吗 使用 alpha 和相机仰角并没有解决问题 平面似乎仍然在人物的前面
  • JpGraph:使用 AccBarPlot 时如何控制 v3.5.0b1 中的 x/y 偏移、边距和颜色?

    一点背景 我正在尝试将使用 Symfony 1 2 构建的项目从一台服务器迁移到另一台服务器 该项目的功能之一是构建图表 最初使用 JpGraph 2 3 5 完成 如果不修改代码 该图表不会按预期显示 我正在寻找一些关于我可能忽略的内容的

随机推荐

  • VBA 代码中的 Excel 公式

    所以 在 Sheet1 中 我有一些名称的基础 它看起来像这样 在 Sheet2 中 我正在使用 Sheet1 中的这些名称 我这样做的方式是在 A 列中输入代码值 在 B 列中输入名称 在 C 列中输入姓氏 看起来像这样 我已经用公式完成
  • 命令行显示文件的属性?

    我想编写一个显示默认 Windows 属性表的应用程序 我找不到太多关于以正常编程方式执行此操作的信息 所以我想也许可以使用命令行调用 有谁知道 Windows 命令行调用文件的属性 详细信息窗口吗 没有任何运气去寻找它 这个窗口在这里 看
  • 如何添加 Maven 执行任务以在“mvn test”上执行

    我的 pom 中有以下 exec 任务
  • cordova 使用什么 js“引擎”?

    Cordova 使用什么 JS 引擎 它是特定于平台的还是跨所有平台的一个标准 意味着 iOS 的 safari 和 Android 的 chrome 以及 Windows 可能的 IE 标准 或者跨所有平台的 Cordova JS 引擎
  • PHP 中的循环数组

    我创建了一个由部分和问题组成的数组 如何循环浏览各个部分并显示每个部分的嵌套问题 这是我创建数组的方式 db db open query SELECT FROM assessment selections WHERE assessment
  • 多个共享对象使用相同的原型导致错误:文件已存在于数据库中

    与protobuf3相关的错误 我有一个项目 它有一个 C 可执行核心和几个称为插件的共享对象 so dll 当核心启动时 它将使用 dlopen 加载这些插件 核心和插件使用protobuf作为通信协议 因此它们必须编译生成的 pb cc
  • 在R闪亮中,如何在UI端使用在SERVER端计算的值?

    在我的 R闪亮应用程序中 我想调整我的高度d3heatmap 见包装d3热图 https cran r project org web packages d3heatmap index html 作为我的数据框行数的函数 有一个论点heig
  • 优化 WPF 中由单元格组成的网格以获得最短路径

    我目前正在尝试在 WPF 中制作一个由 Cell 对象组成的网格 我需要将单元格绑定到对象 该对象需要位于二维数组中 我需要它很大 可扩展 并改变单元格的颜色并将数据存储在对象中 我已经实现了 但是绘制网格似乎很慢 100x100 网格需要
  • .NET 中的线程中止

    我有一个线程正在分析文件并对数据库进行事务调用 每个事务都有一个审计条目作为其事务的一部分 调用 Thread Abort 来停止文件的处理有什么大问题吗 而不是到处散布丑陋的安全点 文件将在 Abort 调用后关闭 明显的问题是放弃交易的
  • django:django.utils.function.SimpleLazyObject 的目的?

    我遇到了分配的问题request user到一个名为prior user 然后基本上对用户进行了身份验证 然后检查是否request user prior user 我预计它们不会相同prior user应包含 AnonymousUser
  • Microsoft Edge WebView2 - 加载时示例崩溃

    我采用了最新版本的 Microsoft Web WebView2 0 9 515 预发布 并将其添加到测试 C WinForms 应用程序中 我使用VS 2019 NET框架是4 7 2 将WebView2控件放置在窗体上 编译并运行 应用
  • 每个“容器”类一个 DAO 还是每个表一个 DAO?

    我有一个 容器 类 其中的字段包含在多个数据库表中 并且我使用 DAO 模式来访问数据 问题是 我应该为这个 容器 类创建一个 DAO 还是每个表都有一个 DAO 并合并它们的数据更好 您应该根据应用程序的需求而不是数据库的布局来设计 DA
  • 无循环按键对多维数组求和

    我有这个 Array 0 gt Array f count gt 1 uid gt 105 1 gt Array f count gt 0 uid gt 106 2 gt Array f count gt 2 uid gt 107 3 gt
  • 如何在 Rails 中制作动态下拉菜单?

    我正在开发一个电子商务项目 其中将有用于选择尺寸的单选按钮 我有一个数量下拉菜单 我想根据用户所选尺寸的可用库存使此下拉列表动态化 谁能告诉我如何在 Rails 上做到这一点 不会用大量的 javascript 扰乱我的视图文件 如果您使用
  • UV 展开运行时优化

    我正在尝试在运行时创建 UV 我使用 BOX 类型 UV 类似于 3ds max 中的 BOX UVW 并基于面方向进行计算 我知道将其创建为运行时不是一个好的选择 但我别无选择 它是在计算后保存的 所以我做了一次 但我花了 40 秒处理
  • 拒绝在框架中显示“https://www.youtube.com/watch?v=oKZRsBjQJOs”,因为它将“X-Frame-Options”设置为“sameorigin”

    我需要将来自 youtube 的视频放置在我的网站中 但 URL 是一个变量 我创建了一个可以放置的管道 但不起作用 这是我在 HTML 文件中的代码 我的管道的代码是这样的 export class VideoPipe implement
  • Xcode 警告引用开发第三方库的用户帐户

    我在我的项目中使用第三方库 BugSense 我已将他们的框架添加到我的项目中 对其进行初始化等 以便一切正常 然而 每次构建项目时 我都会收到大量 40 多个 以下警告 警告 i386 Users genesis Library Deve
  • Android ListView addHeaderView() XML 中定义的预定义视图出现 nullPointerException

    尝试使用addHeaderView and addFooterView for a ListView 如果我尝试使用在 XML 中为页眉或页脚预定义的视图 则会出现空指针异常 但是 如果我使用代码动态创建一个视图 它工作得很好 This d
  • 在 C# 中根据鼠标点击获取活动窗口名称

    我正在尝试使应用程序获取用户单击的窗口的鼠标单击位置和标题 名称 我目前使用的是 LowLevelMouseProc 它提供了良好的结果 但每当我单击 Google chrome 时 它 都会使应用程序崩溃 这是代码 using Syste
  • 如果 1 个 Gremlin 查询中不存在顶点和边,则创建

    我找到以下代码来创建边缘 如果它尚不存在 g V hasLabel V1 has userId userId as a V hasLabel V1 has userId userId2 coalesce bothE link where o