Sparql 连接问题

Sparql join issue

我对 SPARQL 和 RDF 有点陌生,虽然我很喜欢它,但我被卡住了!

因此,我的应用程序创建了一个带有标签 'test6' 和唯一 ID 的内容,它会自动创建一个与 'test6' 关联的默认章节,带有 ID 和标签 'Overview' .我想要与标签为 'test6' 的事物相关联的所有章节标签,即 'Overview'

因此存在以下三元组(注意,我必须 trim 谓词,因为 Whosebug 限制了帖子中的链接):

local:qUak8jXvdkw someOntology:label test6

local:qUak8jXvdkw someOntology:hasChapter qUak8jXvdkwOverview

local:qUak8jXvdkwOverview someOntology:label Overview

当我运行这个查询时:

PREFIX someOntology: <http://www.w3.org/2000/01/rdf-schema#> 
SELECT ?id, ?chapterId, ?chapterLabel 
WHERE 
{ 
    ?id someOntology:label 'test6' . 
    ?id someOntology:hasChapter ?chapterId . 
    ?chapterId someOntology:label ?chapterLabel .  
} 

它returns一个空集。

我知道我可以使用三元组的对象作为另一个对象的主体来加入它们,对吗?

如果我使用可选{}即:

PREFIX someOntology: <http://www.w3.org/2000/01/rdf-schema#> 
SELECT ?id, ?chapterId, ?chapterLabel 
WHERE 
{ 
    ?id someOntology:label 'test6' . 
    ?id someOntology:hasChapter ?chapterId . 
    OPTIONAL{?chapterId someOntology:label ?chapterLabel} .  
}

它 returns 以下内容:

<[{
"id":{"type":"uri","value":"local:qUak8jXvdkw"},
"chapterId":{"type":"literal","value":"qUak8jXvdkwOverview"},
"chapterLabel":{}
}]>

如果有用的话,我正在使用 4store。

提前感谢任何指点..

数据中的文字和 URI 混淆。

数据有:

local:qUak8jXvdkw someOntology:hasChapter qUak8jXvdkwOverview
local:qUak8jXvdkwOverview someOntology:label Overview

(上面引用的第一行是否在 qUak8jXvdkwOverview 上松开了“”——结果表明它松开了)

这部分

?id someOntology:hasChapter ?chapterId .

导致结果:

"chapterId":{"type":"literal","value":"qUak8jXvdkwOverview"},

所以?chapterId这里是文字"qUak8jXvdkwOverview".

但是查询有:

?chapterId someOntology:label ?chapterLabel . 

所以 ?chapterId 这是 URI local:qUak8jXvdkwOverview(无论如何文字都不能成为主题)。