Gremlin 掉落多个顶点

2023-12-29

我正在尝试删除给定 Gremlin 查询返回的所有顶点。目标是删除作为特定顶点的子级的所有子顶点。

这是一个例子:

gremlin> g.V('dcb26be6-8d39-ae81-6ef2-6f60d06bce10').emit().repeat(out())
==>v[dcb26be6-8d39-ae81-6ef2-6f60d06bce10]
==>v[16b26be6-8d37-e882-38c6-a56f39ee4259]
==>v[9cb26be6-8d3c-d61e-4ab4-6c6993e8be7a]
==>v[82b26be6-8d3a-c01a-3771-085c94d1780a]
==>v[00b26be6-8d3c-68d9-6871-702a1247a692]
==>v[d4b26be6-8d38-81ea-b75d-25bbf563f81e]
==>v[cab26be6-8d39-3611-76fa-f369eab9d50e]

此查询返回具有连接到父级的朝外边的所有顶点dcb26be6-8d39-ae81-6ef2-6f60d06bce10顶点。有没有一种简单的方法可以删除此查询返回的所有顶点?

Thanks

EDIT:

@stephan 的反应很好,但是如果孩子们有互相指向对方的边缘,gremlin 就会生我的气。看一下这个:

gremlin>  g.V('2ab26c9e-1bbb-73f6-4ee8-6cecc7e21ee1').emit().repeat(out()).fold().unfold()
==>v[2ab26c9e-1bbb-73f6-4ee8-6cecc7e21ee1]
==>v[0eb26c9e-1bbc-12f3-e074-d7328ee4984e]
**==>v[92b26c9e-1bbd-b59f-0b5f-d4c985b176b6]**
==>v[18b26c9e-1bbf-a96c-90d3-e50e61fe7267]
==>v[12b26c9e-1bc1-40ee-292d-2bc7b08dcb9e]
==>v[ccb26c9e-1bbc-a82a-532f-7fbdea87deb1]
==>v[42b26c9e-1bbd-5f1f-f3ad-6f6670ab16ee]
==>v[7ab26c9e-1bc1-e773-6995-18159d610b77]
==>v[3ab26c9e-1bbe-add8-2ab2-948d7c9c0021]
**==>v[2eb26c9e-1bbf-1657-e212-98d1dfff33cd]**
**==>v[92b26c9e-1bbd-b59f-0b5f-d4c985b176b6]**
==>v[8cb26c9e-1bc2-500b-ae27-370a0cc4d392]
==>v[42b26c9e-1bc0-b4b0-4d54-fc7f20ca71d4]
==>v[7ab26c9e-1bc1-e773-6995-18159d610b77]
==>v[3ab26c9e-1bbe-add8-2ab2-948d7c9c0021]
**==>v[2eb26c9e-1bbf-1657-e212-98d1dfff33cd]**

正如您所看到的,顶点 92b26c9e-1bbd-b59f-0b5f-d4c985b176b6 作为对此查询的响应出现了两次。所以当我尝试做时g.V('2ab26c9e-1bbb-73f6-4ee8-6cecc7e21ee1'). emit(). repeat(out()). fold(). unfold()

这是我得到的回复

gremlin>  g.V('2ab26c9e-1bbb-73f6-4ee8-6cecc7e21ee1'). emit(). repeat(out()). fold(). unfold().drop()
{"requestId":"2def0086-d71f-42e4-9c5f-c692d07cc96a","detailedMessage":"The 
vertex does not exist 92b26c9e-1bbd-b59f-0b5f- 
d4c985b176b6","code":"ConstraintViolationException"}

有什么方法可以从初始查询中删除重复项吗?


也许这只是一天的结束,我的大脑已经烧焦了,但是怎么样:

g.V('dcb26be6-8d39-ae81-6ef2-6f60d06bce10').
  store('a').
  repeat(out().store('a')).
  cap('a').
  unfold().
  drop()

或者在我看来可能可读性稍差一些:

g.V('dcb26be6-8d39-ae81-6ef2-6f60d06bce10').
  emit().
  repeat(out()).
  fold().
  unfold().
  drop()

你可能会得到更好的答案 - 甚至可能来自我:)

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

Gremlin 掉落多个顶点 的相关文章

  • Neo4J 数据库大小/缩小

    我们有一个包含约 1000 万个节点和约 3 亿个关系的 Neo4j 数据库 数据库已增长至约 80 Gig 日常工作会删除旧数据并添加新数据 因此节点和关系的大约数量保持相当恒定 然而 db 文件的物理文件大小不断增长 例如 relati
  • 在 Azure Cosmos DB 中使用 Gremlin 重命名属性

    我们的一些代码库已经更改 因此它现在期望过去具有名称为 Sdg 的属性的顶点现在具有名称为 causeType 且具有相同值的属性 简而言之 财产的重命名 在这一点上我已经尝试了很多 而且 令我有点惊讶的是弄清楚如何搜索图表并在需要时进行重
  • Neo4j慢创建方法[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 在我的 Neo4j Neo4j Spring Data 应用程序中 我有以下实体 VoteGroup包含关系VOTED ON an
  • 如何使用 HTTP POST/GET 请求连接/查询 AWS Neptune 实例

    我尝试通过 Fiddler 使用 Neptune END Point 发送 HTTP Post 请求来连接到 Amazon Neptune 实例 但最终出现超时错误 可以使用 fiddler Postman 通过 HTTP 请求连接 Nep
  • 过滤 gremlin 结果

    我是 Gremlin 新手 我正在使用 Gremlin 3 0 2 和 Stardog 5 0 我编写此查询是为了找出 schema org 本体中两个实体之间的路径 下面是输出 gremlin gt g V hasLabel Canal
  • 如何去除两个顶点之间的边?

    我想删除两个顶点之间的边 所以我在 javatinkerpop3 中的代码如下 private void removeEdgeOfTwoVertices Vertex fromV Vertex toV String edgeLabel Gr
  • 如何使 gremlin_python DriverRemoteConnection 对每次提交都有超时和重试限制?

    免责声明 我们目前正在使用gremlinpython 3 4 8我相信最近的版本中已经解决了其中一些问题 但我不确定 一般来说 这似乎是一个非常活跃的存储库 在过去两个最新版本日志 当前为 3 4 10 中进行了一些相关更改 很高兴根据需要
  • Neo4j 数据库大小增长

    我使用 neo4j 3 0 1 社区 并且我有几 GB 的数据 这些数据很快就会过时 比如每天 2 3 次 我必须先创建新数据 然后删除旧数据 因此在任何时间点都有一些数据可用 问题是 Neo4j 不使用已删除节点 关系中的空间 我使用 M
  • 最快的 ArangoDB 朋友的朋友查询是多少(带计数)

    我正在尝试使用 ArangoDB 获取朋友的朋友列表 不仅仅是一个基本的朋友的朋友列表 我还想知道用户和朋友的朋友有多少个共同的朋友并对结果进行排序 经过多次尝试 重新 编写性能最佳的 AQL 查询 我最终得到的是 LET friends
  • Rails 3 和图形数据库

    在 Postgresql 上运行的 Rails 3 应用程序需要切换到图形数据库才能成长 它们有很多 并且都提供不同类型的 API 主要是 REST 我深受启发talks http nosql mypopescu com post 3429
  • 使用 py2neo 在 neo4j 上查询写入性能

    目前 我正在努力寻找一种高性能的方法 使用 py2neo 运行多个查询 我的问题是 python 中有一大堆需要写入 neo4j 的写入查询 我现在尝试了多种方法来解决这个问题 对我来说最好的工作方法如下 from py2neo impor
  • SQL Server 图形数据库 - 使用多种边类型的最短路径

    我已经对 SQL Server GraphDB 进行了研究 但到目前为止我发现的所有人为示例仅使用单个边缘表 总是如此Person friend of gt Person 例如 就我而言 我创建了数据中心中已部署软件组件的图表 并且存在不同
  • 将 mongodb 与 neo4j 集成,是否有任何 API 可以链接它们?

    我正在研究推荐引擎 用户数据被收集 他们的友谊 位置 喜欢 教育 并已存储在 mongodb 中 我需要向这些用户推荐相关产品 我计划使用 Neo4j 作为推荐引擎 原因很明显 易于节点之间的遍历 路径信息 问题是我必须首先将 mongod
  • 升级到 AnonymousTraversalSource (Gremlin 3.3.5+ Node.js)

    我正在 Lambda Nodejs12 x 中编写代码 我想更新到未弃用的连接方式 const gremlin require gremlin const DriverRemoteConnection gremlin driver Driv
  • 如果 1 个 Gremlin 查询中不存在顶点和边,则创建

    我找到以下代码来创建边缘 如果它尚不存在 g V hasLabel V1 has userId userId as a V hasLabel V1 has userId userId2 coalesce bothE link where o
  • 从本地计算机连接到 AWS 上的 Neptune

    我正在尝试从办公室的本地计算机连接到 AWS 实例中的 Neptune DB 就像从办公室连接到 RDS 一样 是否可以从本地计算机连接 Neptune 数据库 Neptune 数据库是否公开可用 开发人员有什么方法可以从办公室连接 Nep
  • 无法创建复合索引,停留在 INSTALLED

    我无法创建索引 我的 Gremlin 代码如下 usernameProperty mgmt getPropertyKey username usernameIndex mgmt buildIndex byUsernameUnique Ver
  • 如何在Datastax DSE 5.0 Graph中以简洁的方式通过顶点id进行查询?

    在DSE Graph中 顶点的唯一id似乎是community id 我发现这可行 id 很长 v g V has VertexLabel community id id next 这些都不起作用 v g V community id id
  • 获取两个顶点之间的边属性值时出现 ClassCastException

    我正在尝试获取两个顶点之间的边缘属性值并低于异常 java lang ClassCastException 无法将 java lang String 转换为 scala runtime Nothing 环境 内存中的泰坦 Code val
  • 如何使用 AWS Neptune 作为源实施全文搜索

    我在其他问题上看到 Gremlin 和 Neptune 本身不支持全文搜索 我如何在我的网站中提供此功能 理想情况下 不需要运行更多我必须照顾的基础设施 软件 认为某些选项正在使用外部搜索服务 例如 Solr 或 ElasticSearch

随机推荐

  • 如何通过 apache 渲染 .phtml 文件

    我想通过 Apache 渲染 phtml 文件 但是当我尝试时 它会将页面渲染为文本而不是 html 在我的虚拟主机配置中 如果我尝试渲染index php 它会正确执行 但是 当我将 DirectoryIndex 更改为 index ph
  • 如何通过asp.net mvc中的api调用将文件上传到服务器上

    public ActionResult Index PublishPost post HttpPostedFileBase file var apiURL http test sa com rest social update 1161 u
  • 内核清零内存?

    我正在使用 Debian squeeze 并注意到内存总是归零 这是 Linux 发行版中的新功能吗 前段时间 我相信我可以使用 put 并且会输出垃圾 我多次运行这个测试程序 但注释的结果总是相同的 我在 sysctl conf 中有 r
  • 如何根据谷歌地图中标记的相对位置制作多边形?

    我有一个标记列表 我想在其周围创建一个多边形 显示标记周围的区域 而不是标记本身 因此 我希望多边形 包裹 在标记周围以显示它们周围的相对区域 而不是让多边形点成为标记的直接纬度 经度 关于我如何完成这样的事情有什么想法吗 这被称为凸包 有
  • 需要对开发者控制台上的 beta/alpha 测试进行一些说明

    背景 Android 开发者控制台有 3 个选项卡用于发布应用程序的 apk 文件 alpha beta 和 production 如下所示 我记得在一次 Google IO 讲座中 在进行 100 规模发布之前检查应用程序的好坏的一个很酷
  • 单击网格中的 LinkBut​​ton 时避免页面刷新

    我有一个GridView控件 并且在该控件内部我使用定义了一个链接按钮GridView ItemTemplate 我用它来点击打开一个新窗口 但是 当我单击链接按钮时 页面会在打开新窗口之前刷新 单击链接按钮后如何阻止页面刷新 当我将更新面
  • D3 网格中的力模拟

    我想知道如何修改Mike Bostock 的多力布局示例 https bl ocks org mbostock 1021841为了尝试获得强制布局以对网格中的节点进行分组 让我们假设我们有以下 csv Name Category1 Cate
  • 从字符串创建可变长度数组

    字符串 string a b c d 应该创建一个像这样的数组 array a gt array b gt array 我想出了这个 function create array arr string data parts explode s
  • Webpack 警告:您可能需要适当的加载器来处理此文件类型 (date-nfs)

    我的应用程序有问题 我有一个网站 我使用 date fns 根据用户语言显示格式化日期 它工作得很好 但我更新了 date fns 从那以后我收到了一个警告 在我的 JavaScript 代码中我使用 const locale requir
  • 尝试/捕获或验证速度?

    我正在使用 Python 每当我必须验证函数输入时 我都会假设输入有效 然后捕获错误 就我而言 我有一个通用的Vector 我用它来做一些不同的事情 其中 之一就是加法 它的功能既是Color 类并作为Vector 所以当我向Color 它
  • 如何在 Android 中从全名中拆分名字和姓氏字符串

    我有一张带有全名的表格EditText字段 我想将字符串分解为名字和姓氏字符串 谁可以帮我这个事 我可以知道实现我的目标的正确方法是什么吗 如果用户输入他 她的名字 例如A B C 名字将是A 姓氏遗嘱BC 我正在尝试这个 EditText
  • 在 google chrome 版本 54 中,禁用字段是不可选择的

    似乎在上次 google chrome 版本 54 更新后 我无法通过鼠标文本从我的网站中的禁用字段中进行选择 Text inside this input not selectable by mouse but before it was
  • cuda & rdc & 推入多个共享对象会在 registerEntryFunction 中产生 SIGSEV

    我正在尝试在两个共享库中运行可重定位设备代码 两者都使用 cuda thrust 如果我停止在 kernel cu 中使用推力 一切都会正常运行 这不是一个选项 编辑 如果 rdc 被禁用 该程序也可以工作 对我来说也不是一个选择 它编译得
  • 如何在 HTML 工具提示中使用回车符?

    我目前正在向我们的网站添加详细的工具提示 并且我希望 无需求助于出色的 jQuery 插件 我知道有很多 使用回车符来格式化工具提示 要添加提示 我正在使用title属性 我浏览了常用网站并使用了以下基本模板 a title link wi
  • c# 在html中查找图像并下载它们

    我想下载存储在 html 网页 中的所有图像 我不知道将下载多少图像 并且我不想使用 HTML AGILITY PACK 我在谷歌中搜索 但所有网站都让我更加困惑 我尝试了正则表达式 但只有一个结果 人们给了你正确的答案 你也不能挑剔和懒惰
  • dplyr 查找表/模式匹配[重复]

    这个问题在这里已经有答案了 我一直在寻找一种聪明的或 更整洁 的方式来利用 tidyverse 中的查找表 但找不到令人满意的解决方案 我有一个数据集和查找表 Sample data data lt data frame patients
  • Azure 数据工厂通过访问密钥连接到 Blob 存储

    我正在尝试在 Azure 数据工厂中构建一个非常基本的数据流 从 blob 存储中提取 JSON 文件 对某些列执行转换 然后存储在 SQL 数据库中 我最初使用托管身份对存储帐户进行身份验证 但在尝试测试与源的连接时收到以下错误 com
  • 使用 Laravel 5.2 的内置身份验证将旧的 md5 密码迁移到 bcrypt

    我正在将旧的 PHP 应用程序迁移到 Laravel 5 2 该应用程序有一个巨大的用户表 大约 50K 用户 密码都是 MD5 哈希值 显然这是不可接受的 但我不想向所有 50 000 个用户发送电子邮件要求他们重置密码 而是想在幕后将密
  • 尽管有定义,但我有一个编译器错误“未定义”

    from gasp import GRID SIZE 30 MARGIN GRID SIZE BACKGROUND COLOR color BLACK Colors we use WALL COLOR 0 6 255 0 9 255 0 9
  • Gremlin 掉落多个顶点

    我正在尝试删除给定 Gremlin 查询返回的所有顶点 目标是删除作为特定顶点的子级的所有子顶点 这是一个例子 gremlin gt g V dcb26be6 8d39 ae81 6ef2 6f60d06bce10 emit repeat