Sparql - 如果任何一个变量未绑定,则串联失败

2023-12-27

您好,我正在使用 AllegroGraph 和 Sparql 查询来检索结果。这是重现我的问题的示例数据。 考虑下面的数据,其中一个人有名字、中间名和姓氏。

<http://mydomain.com/person1> <http://mydomain.com/firstName> "John"^^<http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral>
<http://mydomain.com/person1> <http://mydomain.com/middleName> "Paul"^^<http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral>
<http://mydomain.com/person1> <http://mydomain.com/lastName> "Jai"^^<http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral>
<http://mydomain.com/person1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://mydomain.com/person>

<http://mydomain.com/person6> <http://mydomain.com/middleName> "Mannan"^^<http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral>
<http://mydomain.com/person6> <http://mydomain.com/lastName> "Sathish"^^<http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral>
<http://mydomain.com/person6> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://mydomain.com/person>

现在我需要通过组合所有 3 个名字来计算人名。名字是可选的,一个人可能没有名字、中间名和姓氏中的任何一个。

我尝试过的查询

select ?person ?name ?firstName ?middleName ?lastName where 
{
  ?person rdf:type  <http://mydomain.com/person>.
    optional {?person <http://mydomain.com/firstName> ?firstName}.
    optional {?person <http://mydomain.com/middleName> ?middleName}.
    optional {?person <http://mydomain.com/lastName> ?lastName}.    
    bind (concat(str(?firstName),str(?middleName),str(?lastName)) as ?name).
} 

但结果集不包含 person6 (Mannan Sathish) 的名称,因为名字不存在。如果未绑定,我是否可以忽略名字,请告诉我。


如果变量未绑定,则 str(...) 将导致计算错误,并且整个 BIND 失败。

COALESCE可用于为表达式指定默认值。

bind ( COALESCE(?firstName, "") As ?firstName1)
bind ( COALESCE(?middleName, "") As ?middleName1)
bind ( COALESCE(?lastName, "") As ?lastName1)
bind (concat(str(?firstName1),str(?middleName1),str(?lastName1)) as ?name
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Sparql - 如果任何一个变量未绑定,则串联失败 的相关文章

  • 如何查找某个国家/地区人口超过X的城市

    我正在尝试查找丹麦人口超过 10 万的城市 我可以使用此代码找到丹麦的所有城市 SELECT s o WHERE s a
  • 如何检索维基数据中的分类详细信息

    我有一个实例列表如下 myinstances word2vec tf idf dijkstra s algorithm 对于每个myinstance在上面的列表中 我想找到 1 What are the other instances of
  • DBpedia SPARQL 查询美国大学

    我创建了一个正在运行的 SPARQL 查询DBpedia SNORQL SPARQL 端点 http dbpedia org snorql 查询的目的是获取美国大学或学院的列表 包括其经度 纬度和捐赠基金 该查询似乎有效 但似乎缺少一些记录
  • 在 SPARQL 查询中指定数据集

    在我正在阅读的一些教程中 我发现您可以与查询分开指定数据集 如下所示 数据集字段 http dig csail mit edu 2008 webdav timbl foaf rdf query PREFIX foaf
  • SPARQL 查询的优化。 [预计执行时间超过1500(秒)的限制]

    我正在尝试运行此查询http dbpedia org sparql http dbpedia org sparql但我收到一个错误 指出我的查询成本太高 当我运行查询槽时http dbpedia org snorql http dbpedi
  • 删除后未找到结果

    我有以下删除语句 delete s p o
  • 通过 SPARQL 处理 R XML 的编码问题

    我遇到了 R 的 SPARQL 包的编码问题 我正在运行以下代码 library SPARQL rights query lt PREFIX dc
  • 在 sparql IN 子句中使用另一个 sparql

    我正在使用 SPARQL 我想知道是否可以在 in 子句中放入 sparql 更具体地说 我需要获取具有此 sparql 查询特定条件的实体 s1 s2 s1 在某个字段上的聚合值大于 5 select s1 x s2 WHERE s1 r
  • SPARQL递归祖先查询

    我被 SPARQL 中的递归查询困住了 我无法理解它 我想获得一个实例的所有祖先 a a hasParent b b hasParent c c hasParent d 所以结果将是 b c and d 如果实例是 a 有什么想法如何构造父
  • dbpedia SPARQL 查询获取给定城市的某些值

    我确信我想做的事情非常简单 但我似乎无法正确查询 我在数据集中有记录 其中包含城市名称等值 例如 纽约 及其相应的国家 地区代码 例如 美国 我还可以访问完整的国家 地区名称和国家 地区 ISO 代码 我想通过使用 where 子句从 db
  • 为 RDBMS(MySQL 数据库)创建 SPARQL 端点的最佳方法

    我正在 想做 一些链接开放数据集的实验 特别是政府推出的实验 我有一个 RDBMS 更具体地说是 MySQL 我设计它时考虑了语义网络的想法 即我将信息存储为对象 谓词和定义对象的类 反过来 所有对象通过主语 gt 谓词 gt 宾语形式的语
  • Jena 桌面 SPARQL 客户端 (TDB)?

    我正在开发一个使用 Jena 进行存储 带有 TDB 后端 的应用程序 我正在寻找类似 Squirrel 的东西 它可以让我看到正在存储的内容 运行查询等 这似乎是一个明显需要的东西 但我的 可能措辞不好 谷歌查询没有出现任何有希望的东西
  • 获取地点的纬度和经度 dbpedia

    我想获取一个我已经知道其名称的地点的纬度和经度 PREFIX geo
  • 用于查找艺术家属性的 dbpedia SPARQL 查询

    我试图通过 DBPedia 和 SPARQL 查询语言获取有关艺术家的详细信息 但是 根据我的理解 如何获取某些信息似乎几乎是不可能的 我正在尝试找到一位艺术家并获取诸如他们的家乡之类的信息 我猜查询应该类似于 SELECT c WHERE
  • SPARQL 为缺失字段生成值

    我正在尝试编写一个 SELECT 它为我提供表中的所有值 我有可选值 我希望用标准值填充它们 如果它们不存在 这是我的代码 SELECT WHERE a nmo hasObject nm coin OPTIONAL a nmo hasAut
  • SPARQL:如何将 owl:equivalentClass 传输到 rdfs:subClassOf (owl:Restriction) 属性?

    我的问题是关于使用 SPARQL 查询一些 owl 本体 其中owl Restrictions被大量使用 在我的例子中 这是 细胞本体论 http obofoundry org ontology cl html 以下是一些典型条目的示例 以
  • SPARQL 查询以获取定义了命名空间前缀的所有类标签

    我想获取存储在芝麻存储库中的所有类 这是我的查询 SELECT class classLabel WHERE class rdf type rdfs Class class rdfs label classLabel 它返回带有标签的类的所
  • Sparql 查询子类或等效项

    我想查询尼古丁 产品 的所有子类 结果一定是 鼻腔形式尼古丁 口咽形式尼古丁 4项 参见图片 我尝试通过 rdfs subClassOf 和 owl equivalentClass 查询 但没有成功 尝试从这个例子 https stacko
  • 如何使用 Wikidata 和 SPARQL 查询人员?

    就此而言 我是 SPARQL 和 Wikidata 的新手 我正在尝试允许我的用户在维基数据中搜索人 而且只是人 我不希望任何结果成为摩托车品牌或任何东西 所以我一直在玩here https query wikidata org使用以下查询
  • 解析 SPARQL 查询中 AltLabel 的返回值

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

随机推荐

  • weakhashmap是如何工作的? [复制]

    这个问题在这里已经有答案了 就像weakhashmap如何理解对其键之一的引用现在已经过时一样 尤其是如果键是池化的字符串的话 您不能将字符串文字与 WeakHashMap 一起使用 当然可以 但这样做没有意义 String myKey s
  • 如何在 Swift 中的泛型扩展中使用带有可选类方法的协议?

    我正在尝试使用类方法对现有类进行扩展 例如 objc public protocol MyProtocol optional class func foo gt Int 我在扩展中使用这个协议 通用如下 extension MyClass
  • 如果会话超时,MVC 中的 jquery ajax 调用后如何重定向到新页面?

    1 我有一个调用操作的Ajax链接 该操作返回一个视图 该视图在特定的Div中打开 将其视为使用相应视图更新div的菜单 2 如果会话超时 则返回我的登录视图 因此 如果我单击链接并且会话超时 登录视图将在 div 中打开 而不是在整个页面
  • 每天执行一次查询

    基本上我有一个MySQL数据库 其中有一个表存储我网站用户的请求 我想自动执行一个查询 删除所有已完成的请求 已完成意味着该列Status 3 根据该列 超过 180 天ArchivingDate My Requests table Req
  • 六个月内保留的参与者百分比

    我是一名学校老师 对 MS SQL Server 非常陌生 每个人都建议尝试一下这个网站 开始 我正在尝试编写查询来测试参与学术项目的不同类型的结果衡量标准 我想尝试几种不同的方法来计算这个结果测量 我试图计算的结果是 在该计划的六个月内保
  • 如何在不同的计算机上克隆 RStudio 环境

    我最近一直在加快使用 R 的速度 并且想知道最有效的方法是将 RStudio 环境 尤其是软件包安装 从一台计算机克隆到另一台计算机 我希望能够从台式机切换到笔记本电脑 但我在工作时经常向台式机添加软件包 并且希望有一种简单的方法来确保在笔
  • Python 中的持久记忆

    我有一个昂贵的函数 它接受并返回少量数据 一些整数和浮点数 我已经memoized http en wikipedia org wiki Memoization这个功能 但我想让备忘录持久化 已经有几个与此相关的线程 但我不确定某些建议方法
  • avformat_open_input 返回值,NaCl 模块上的错误代码

    我正在尝试将 FFmpeg 移植到我的 NaCl 模块中 到目前为止 我的模块链接了 ffmpeg 和 SDL 库 它已经可以播放 YUV 格式的视频 该视频被直接加载到内存中并复制到 YUVOverlay 缓冲区中 这非常简单 现在 我想
  • Excel 转 PDF 无需 Office

    我需要在我正在开发的 Windows 应用程序中生成 PDF 报告 我通过将 xlsx 文件导出为 pdf 来完成此操作 不过 我目前正在为此使用互操作 我需要在不要求用户购买软件的情况下执行此操作 因此不需要 Microsoft Offi
  • 分配大(32mb)连续区域

    是否有可能在运行时从内核代码分配大的 即 32mb 物理连续的内存区域 即不使用 bootmem 从我的实验来看 无论我使用什么 GFP 标志 似乎都不可能成功获得超过 4mb 的块 根据我读过的文档 GFP NOFAIL 应该让 kmal
  • iOS 模拟器游戏运行速度非常慢(低 fps)

    深入研究 sprite 套件 xcode 5 我正在使用两个示例程序 1 创建新项目时包含的默认宇宙飞船示例 2 我下载的冒险游戏 在 iOS 模拟器中运行这些示例 似乎哪个并不重要 每个的帧速率绝对是糟糕的 如果我在太空船 hello w
  • 以相同的 C# 形式从 web 浏览器链接到 ScintillaNET 编辑器?

    我是 ScintillaNET 的新手 我以相同的形式使用 webbrowser 和 scintillaNET 编辑器组件 我的任务是当我单击网络浏览器中的链接时 它应该链接到编辑器中的文本 任何帮助和建议将不胜感激 提前致谢 None
  • Azure ARM 模板和 REST API

    我正在尝试学习 Azure 资源模板 并尝试了解何时使用它们以及何时使用 REST API 背后的工作流程 我的感觉是 在 Azure 中创建虚拟网络和子网是相当罕见的情况 一旦您按照需要进行设置 就不会过于频繁地修改它 而是将内容部署到该
  • jQuery 中的弹出窗口

    我需要一个带有单选按钮选项的弹出窗口 我已经测试过Impromtu http en wikipedia org wiki Impromptu 28programming environment 29 有没有简单的 Popupwindow 插
  • 交换两条线

    我怎样才能使用 sedH h x g G等命令交换两行 例如在文件中 START this is a dog this is a cat this is something else END 假设我想用 这是别的东西 交换 这是一只狗 这是
  • 电子商务点击量未显示在 Google Analytics 测量协议中

    因为我在网站上接受 PayPal 付款 所以我尝试使用测量协议在服务器端发送交易详细信息 使用 PayPal 付款的访问者通常不会返回我的网站查看订单确认页面 因此依靠 IPN 来记录交易是更可靠的方式 我已经能够使用测量协议成功记录事件命
  • 将 Android 设备连接到 WiFi 打印机

    我想通过我的 Android 手机使用 wifi 以任何其他方式打印我的 pdf 文档 或者请给我一个关于是否可以将我们的设备连接到 wifi 打印机或发送我们的文档进行打印的建议 我希望我能尽快得到您方面的最佳答案或任何建议 我能想到的最
  • 多个 C# 应用程序可以使用一个 App.Config 文件吗?

    我们有许多在计划任务上运行的 C 控制台应用程序 所有这些应用程序都有自己的配置文件 其中包含诸如我们的 smtp 服务器之类的设置 如果我们的 smtp 服务器发生了变化 我们将必须手动进入每个配置文件并进行更改 多个应用程序是否可以查看
  • VS Code 中是否有光标覆盖/覆盖模式?

    我似乎找不到任何方法将光标置于 覆盖 模式 就像当您按下插入键并且新键入的字符会覆盖现有的内联字符一样 我没有在网上找到任何关于 VS Code 中省略或包含此类功能的参考 但它似乎是一个相当常用的功能 这存在吗 我也错过了 Visual
  • Sparql - 如果任何一个变量未绑定,则串联失败

    您好 我正在使用 AllegroGraph 和 Sparql 查询来检索结果 这是重现我的问题的示例数据 考虑下面的数据 其中一个人有名字 中间名和姓氏