首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在Sparql子句中使用命名空间前缀时处理逗号

在Sparql子句中使用命名空间前缀时处理逗号
EN

Stack Overflow用户
提问于 2016-09-05 14:48:30
回答 1查看 396关注 0票数 1

我试图查询skos:broader属性中的DBPedia类别"Diseases_of_oral_cavity,_salivary_glands_and_jaws“。此类别可在以下URI中获得:颌骨

以下查询提供了所需的输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
PREFIX skos: <http://www.w3.org/2004/02/skos/core#> 

SELECT ?broaderCategory
WHERE {
    <http://dbpedia.org/resource/Category:Diseases_of_oral_cavity,_salivary_glands_and_jaws> skos:broader ?broaderCategory
}

需要使用Python代码和Sparql包装器查询skos:broader属性的几个类别。我试图通过为所有PREFIX类别URI定义一个DBPedia类别URI并在WHERE子句中使用它来提高代码的可读性,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
PREFIX dbpcat: <http://dbpedia.org/resource/Category:> 
PREFIX skos: <http://www.w3.org/2004/02/skos/core#> 

SELECT ?broaderCategory
WHERE {
    dbpcat:Diseases_of_oral_cavity,_salivary_glands_and_jaws skos:broader ?broaderCategory
}

第二个查询在类别名称“,”处返回一个语法错误。用转义序列(十六进制、unicode和html)替换逗号没有帮助。而且,使用字符串文本(dbc:"[category]"dbc:'''[category]''')也不是正确的语法。

在这种情况下,逗号应该如何处理?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-05 19:36:29

这个答案是基于海龟的W3C推荐

一些特殊字符是不允许在局部部分的前缀虹膜。根据关于IRIs的一节

前缀名称是XML QNames的超集。它们的不同之处在于前缀名称的本地部分可能包括:

  1. 前导数字,例如leg:3032571isbn13:9780136019701
  2. 非导联冒号,如og:video:height
  3. 保留字符转义序列,例如wgs:lat\-long

此外,关于逸出序列的部分给我们提供了更多的见解:

%编码序列在IRIs的字符范围内,并且在本地名称中显式允许。它们以'%‘的形式出现,后面跟着两个十六进制字符,并表示相同的三个字符序列。这些序列在处理过程中不被解码。在海龟中写成http://a.example/%66oo-bar的术语指的是IRI http://a.example/%66oo-bar,而不是IRI http://a.example/foo-bar。一个用前缀ex:%66oo-bar写成@prefix ex: <http://a.example/>的术语也指定了IRI http://a.example/%66oo-bar

更新(根据下面的评论)

正如AndyS所指出的,

保留字符转义序列由'\‘后面跟着~.-!$&'()*+之一组成,=/?#@%_并表示'\’右边的字符。

因此,使用\进行转义适用于逗号,即您可以编写\,。不幸的是,这仍然在Virtuoso中失败

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Virtuoso 37000 Error SP030: SPARQL compiler, line 0: Bad character '\' (0x5c) in SPARQL expression at '\'

那应该是个窃听器。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39338506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文