gpt4 book ai didi

sparql - 用空格查询Sparql

转载 作者:行者123 更新时间:2023-12-04 13:53:36 27 4
gpt4 key购买 nike

假设我要返回三元组的结果“获得乐趣”。我不知道如何解释单词之间的间隔。以下是我尝试过的查询,但没有成功。让我知道是否有人可以发现我做错了什么

<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")
}

关于sparql - 用空格查询Sparql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9055146/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com