使用 SPARQL 查询查找最短路径

2023-11-25

我试图了解 SPARQL 查询的计算限制,并且我想知道如何编写一个查询来确定两个对象之间是否存在有向路径。

我知道一种针对特定长度的路径执行此操作的方法:

SELECT ?a ?b ?c ?d
WHERE { ?a  <http://graphtheory/hasNeighbor>  ?b . 
        ?b  <http://graphtheory/hasNeighbor>  ?c .
        ?c  <http://graphtheory/hasNeighbor>  ?d .
        FILTER (?a != ?c && ?b != ?d
                && ?a = <http://graphtheory/node/1>
                && ?d = <http://graphtheory/node/2>)
      }
LIMIT 10

有没有办法在单个查询中搜索任意长度的路径?这对于 SPARQL 来说不可能吗?


AndyS 给出了回答这个问题的所有要素,但有一些拼写错误可能会使其难以应用。正如他所说:

SPARQL 1.1 具有包含任意数量的 * 运算符的属性路径。

它不会告诉您路径是什么,也不会告诉您最短路径的长度 - 只会告诉您是否存在这样的路径。

执行此操作的方法(基于 AndyS,但有两个小修复)是:

PREFIX : <http://graphtheory/>
PREFIX node: <http://graphtheory/node/>

ASK { node:1 :hasNeighbor* node:2 }

据我所知,如果不使用属性路径,就无法做到这一点。

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

使用 SPARQL 查询查找最短路径 的相关文章

  • 参数映射不能用于 MERGE 模式

    我收到错误参数映射不能在合并模式中使用 我如何解决此错误 我正在使用下面的代码 我非常感谢任何帮助 提前致谢 MERGE u Person names RETURN u and data2 names name Keanu Reeves1
  • 图中的后边

    I m having a hard time understanding Tarjan s algorithm for articulation points I m currently following this tutorial he
  • Flash 图表和图形的最佳解决方案是什么? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我知道融合图表 http www fusioncharts com 还有其他好的解决方案或 API 用
  • 数据聚合和缓存:如何按时间间隔快速绘制大型时间序列数据集的图表

    我有一个巨大的时间序列数据集 我想绘制图表 时间序列可以追溯到 5 年前 从后端的角度来看 以各种分辨率 间隔 显示这些数据的常用方法是什么 本质上我想绘制这样的数据图表 https bitcoinwisdom com markets bi
  • 使用 Java 进行树可视化 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个库来生成图形或树 例如组织图表 该库应该能够从该图中生成纯图像 有谁知道一个好的 希望开源
  • 使用 A 星查找路径的启发式函数

    I am trying to find a optimal solution for the following problem 每个节点内表示的数字表示为 x y 一个节点的相邻节点总是有一个y值为 当前节点 y 值 1 更改的成本为 1
  • 如何在matplotlib中部分填充之间,如不同值的不同颜色

    I m trying to color the space between the graph line and the x axis The color should be based on the value of the corres
  • 您将如何显示/布局企业应用程序之间的数据流?

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

    我编写了一个代码 可以在坐标系中的特定宽度和长度范围内生成所需数量的点 它计算并列出我使用欧几里德方法生成的这些点的距离矩阵 我的代码在这里 import pandas as pd from scipy spatial import dis
  • 用于时间线数据的类似 gnuplot 的程序

    我正在寻找一个类似 gnuplot用于在时间轴中绘制数据图表的程序 类似 gnuplot 在 Linux 上运行 命令行功能 GUI 对我帮助不大 可编写脚本的语法 输出为 jpg png svg 或 gif 输出应该是这样的 set5 s
  • 广度优先搜索:检查访问状态的时机

    在有向图的广度优先搜索中 可能循环 当一个节点出队时 其所有尚未访问的子节点都会入队 并且该过程将继续 直到队列为空 有一次 我以相反的方式实现它 将节点的所有子节点排队 并在节点出队时检查访问状态 如果正在出队的节点之前已被访问过 则该节
  • 如何将图数据结构持久化到关系数据库中?

    我考虑过创建一个顶点表和一个边表 但是在内存中构建图和遍历子图是否需要大量查找 我想避免过多的数据库读取 还有其他方法可以保存图表吗 旁注 我听说过 Neo4j 但我的问题实际上是如何在概念上表示标准数据库中的图形 不过 我对一些 NoSQ
  • 如何将条形图的 XtickLabels 向左移动?

    我目前正在尝试创建频率直方图 为此 我必须创建一个条形图 条形图之间没有空格 然而 这集中于XTickLabels在酒吧的中间 由于它是一个直方图 我希望数值位于每个条形之间的线上 以便它可以直观地指示间隔 本质上 我需要将所有刻度标签移至
  • 用于图形操作的 Javascript 库

    有没有建议的 javascript 替代 pythonpygraph http code google com p python graph or NetworkX http networkx lanl gov 应该注意的是 可视化不是必需
  • 有向无环图的拓扑排序为阶段

    是否有一种算法 给定一个未加权的有向无环图 将所有节点排序到节点集列表中 使得 拓扑顺序被保留 即 对于所有边u gt v v出现在列表中更靠下的集合中u and 列表的长度是最小的 这个问题有名字吗 Example 下图的一种可能的排序是
  • Flot 0.8.2 折线图 - 颜色错误

    我正在使用 Flot 折线图并设置它们的颜色 我发现了一个奇怪的错误 在前 3 种颜色之后 绘图对所有其他线条使用最后一种颜色 这不是正确的行为 更有趣的是图例显示了正确的颜色 这是一个已知的错误 var dataSet label d1
  • 在skiena的书中给出的关于应用dfs在图中查找循环的代码中存在错误

    这是dfs的代码 bool processed MAXV 1 which vertices have been processed bool discovered MAXV 1 which vertices have been found
  • 如何检查从 SPARQL * 通配符扩展的所有级别的子属性?

    在维基数据中 我想找到一个项目的国家 地区 如果该项目直接有一个国家 则可以直接进行 或者通过爬上 P131 位于行政领土实体 直到找到一个国家 这是查询 item wdt P131 wdt P17 country 上面的查询工作正常 除非
  • 单源最短路径,包含每条边的距离和权重

    假设有一个无向图 连接任意两个节点的每条边都有两个权重 即距离和成本 我想要获得最短路径 但也要确保不超出一定的成本 我尝试过实现 Djikstra 如果超出成本 则简单地回溯 由于缺乏更好的术语 直到遍历整个图表 但是 我正在寻找比这更快
  • 解析 SPARQL 查询中 AltLabel 的返回值

    在如下所示的 Wikidata SPARQL 查询中 我希望能够使用自定义分隔符作为返回值 placeOfBirthAltLabel 问题是下面的一些值 placeOfBirthAltLabel包含逗号 例如 纽约 的同义词包括作为单个条目

随机推荐

  • 如何解析 Zend URL 中的参数?

    我正在尝试从 ZF REST URL 中提取 GET 参数 这不是当前请求 我不想调用 URL 或执行路由 我只需要参数 我正在寻找像 parse url 这样的实用函数 但适用于 Zend REST 格式 有没有 或者我必须重新发明轮子
  • 如何将我的 swift 1.2 项目迁移到 2.0?

    我有一个项目是在 swift 推出时开发的 但最近 Apple 推出了新版本的 swift 2 0 和 xCode 7 0 那么我如何将我的项目从 swift 1 2 迁移到 2 0 呢 在新的 Xcode 7 beta 中 转到编辑菜单
  • 为什么挑战-响应方法对于忘记密码来说不是一个糟糕的解决方案?

    我的公司正在开发在线人力资源和薪资应用程序 其中安全访问至关重要 我清楚如何锁定大多数身份验证 授权过程 但 忘记密码 页面除外 我最初的计划是要求用户输入电子邮件地址和对先前选择 输入的质询问题的答复 并将临时密码邮寄到列出的电子邮件 假
  • 如何解决:npm run build/dev: 缺少脚本?

    我正在尝试运行节点 但由于某种原因 节点的本地 npm 安装无法正常工作 包裹在那里 npm run dev npm ERR Darwin 15 4 0 npm ERR argv usr local Cellar node 5 6 0 bi
  • 什么取代了 .Net Core 中的 WCF?

    我习惯于创建 Net Framework 控制台应用程序并公开Add int x int y 使用类库 Net Framework 从头开始通过 WCF 服务实现功能 然后 我使用控制台应用程序在服务器内代理调用此函数 但是 如果我使用控制
  • 如何从 ASP.NET MVC 中的基本控制器连接通用代码

    我的 ASP NET MVC 应用程序是一个更大的 ColdFusion 应用程序的一小部分 该应用程序很快就会被完全替换 我通过 cookies 从 ColdFusion 部分传递一些参数 并且需要在运行每个操作之前检查此信息 如果信息丢
  • 将外部 jar 设置为 hadoop 类路径

    我正在尝试将外部 jar 设置为 hadoop 类路径 但到目前为止还没有运气 我有以下设置 hadoop 版本Hadoop 2 0 6 alpha 颠覆https git wip us apache org repos asf bigto
  • UIStoryboard 找不到带有标识符的视图控制器

    我有一个 ios 应用程序 使用带有一堆视图控制器的故事板 After Adding a new ViewController and configured the identify Storyboard ID 我尝试使用以下代码实例化新的
  • Vim - 删除直到行中最后一次出现字符

    我正在想办法dt or df字符串中最后一次出现的字符 例如 假设我有以下行 foo not relevant text bar If I f df 我预计会得到foo relevant text bar但我想得到foo bar Using
  • 提高 Pandas DataFrame 上的行追加性能

    我正在运行一个基本脚本 该脚本循环嵌套字典 从每个记录中获取数据 并将其附加到 Pandas DataFrame 中 数据看起来像这样 data SomeCity Date1 record1 record2 record3 Date2 它总
  • 将 RabbitMQ 的消息转换为 string/json

    我目前正在努力解决一个相当简单的问题 我想从 RabbitMQ 接收消息并将其转换为字符串 或稍后转换为 json 对象 但我得到的只是字节 The Message对象以这种方式将自身显示为字符串 Body cityId 644 ID nu
  • 添加超链接到闪亮图

    我制作了一个闪亮的应用程序 使用不同的绘图解决方案来渲染图表ggplot2关于闪亮 我最喜欢的是plotly 我喜欢用户可以与图表交互的事实 plotly用户可以放大图表或单击点 例如散点图 并访问它们的值 我想将散点图上的每个点链接到一个
  • 在 vim 的正则表达式引擎中,为什么有些元字符会被转义,有些则不会?

    为什么必须在正则表达式引擎中转义某些元字符 而不是其他元字符 例如 foo 1 9 按预期工作 但正则表达式 foo 1 9 必须表示为 foo 1 9 在维姆中 有人知道吗 This is because vim actually vi
  • 如何以编程方式保存网页?

    我想以编程方式保存网页 我的意思不仅仅是保存 HTML 我还希望自动存储所有关联的文件 图像 CSS 文件 可能嵌入的 SWF 等 并希望重写本地浏览的链接 预期用途是个人书签应用程序 其中缓存链接内容 以防原始副本被删除 看一眼wget
  • 批量删除除指定文件和目录之外的所有文件和目录[重复]

    这个问题在这里已经有答案了 我正在尝试使用该目录中的 bat 文件删除特定目录中的所有文件和目录 我见过这在 Linux 上完成没有问题 但在 Windows 命令环境中这似乎是一件苦差事 示例 temp 1 bat 保留 temp 特殊文
  • 我应该使用枚举作为鉴别器吗?

    枚举什么时候会崩溃 为了支持现有系统中的新功能 我只是考虑对数据库模式中的实体表实现某种形式的鉴别器 为了从做最少的事情开始 我首先决定在业务实体层使用整数列和 C 枚举 以提高可读性 这将提供穷人的多态性 最终可能发展为实际的多态性 并可
  • 如何将 cv::Mat 转换为 pcl::pointcloud

    如何从 opencv Mat 点云到 pcl pointcloud 颜色对我来说并不重要 重要的是点本身 你可以这样做 pcl PointCloud
  • 比 get_headers() 更快的东西

    我正在尝试制作一个 PHP 脚本来尽快检查网站的 HTTP 状态 我目前正在使用 get headers 并在 mysql 数据库中的 200 个随机 url 循环中运行它 检查全部 200 个 平均需要 2m 48s 我能做些什么来让它
  • Java中的运算符重载

    请问Ja va中是否可以重载运算符 如果它在 Java 中的任何地方使用 请告诉我 不 Java 不支持用户定义的运算符重载 Java 唯一接近 自定义 运算符重载的方面是对字符串的 处理 这会导致常量的编译时连接或使用 StringBui
  • 使用 SPARQL 查询查找最短路径

    我试图了解 SPARQL 查询的计算限制 并且我想知道如何编写一个查询来确定两个对象之间是否存在有向路径 我知道一种针对特定长度的路径执行此操作的方法 SELECT a b c d WHERE a