加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

查询Spaces Sparql

发布时间:2020-12-14 22:33:21 所属栏目:资源 来源:网络整理
导读:如果我想要返回三重奏的“玩乐”结果.我不知道如何解释这两个词之间的空间.下面是我试过的一个查询,但它没有用.让我知道是否有人能够发现我做错了什么 rdf:Description rdf:about="http://website.com/urls/playing games" owl:sameAs rdf:resource="http://
如果我想要返回三重奏的“玩乐”结果.我不知道如何解释这两个词之间的空间.下面是我试过的一个查询,但它没有用.让我知道是否有人能够发现我做错了什么
<rdf:Description rdf:about="http://website.com/urls/playing games">
    <owl:sameAs rdf:resource="http://website.com/urls/having fun"/>
</rdf:Description>

"PREFIX owl: <http://www.w3.org/2002/07/owl#> SELECT * WHERE { ?y owl:sameAs+ <http://website.com/urls/playing fun> }";

解决方法

简短的回答:你不能,至少不能直接.

稍微长一点的答案:RDF本身使用RDF URI引用.另一方面,SPARQL查询语言使用IRI(原因是RDF早于IRI,并且RDF URI引用的概念是在预期IRI最终会是什么样的情况下开发的.他们差不多正确:)).

遗憾的是,RDF URI引用和IRI的定义之间存在差异,您刚刚遇到其中一种情况:虽然RDF URI引用允许使用空格,但IRI却不允许. SPARQL语法无法处理URI引用,例如示例中的URI引用.有关详细信息,请查看this discussion.

你最好的选择?避免在URI引用中使用空格.用下划线替换它们或只是删除它们.

总而言之,有一种解决方法可以使您的查询工作:

PREFIX owl: <http://www.w3.org/2002/07/owl#> 
SELECT ?y 
WHERE { 
   ?y owl:sameAs+ ?x
   FILTER (str(?x) = "http://website.com/urls/playing fun")
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读