SPARQL 查询 - 无法解析前缀



我有一个基于web的本体,我想用SPARQL进行查询。我使用的是JavaScript,所以我用comica设置了一个查询引擎,并让它工作:select * where {?s ?p ?o}查询确实返回了我期望它返回的内容。但是,我在解决本体的前缀时遇到了问题。这似乎行不通。下面的查询返回一个空数组:

PREFIX lab2: <http://kalenav.github.io/ontology.rdf>
SELECT ?firearm
WHERE {
?firearm rdf:type/rdfs:subClassOf* lab2:Firearm .
}

而下面的查询返回预期的个体数组:

SELECT ?firearm
WHERE {
?firearmClass rdfs:label "Firearm"@en .
?firearm rdf:type/rdfs:subClassOf* ?firearmClass .
}

我尝试传递以下内容作为前缀的链接:

  • https://kalenav.github.io/ontology.rdf
  • https://kalenav.github.io/ontology
  • https://kalenav.github.io/ontology.rdf
  • https://kalenav.github.io/ontology
  • 本地本体的绝对路径
  • 本地本体的相对路径(产生错误)
  • http://www.semanticweb.org/konst/ontologies/2023/1/lab2
  • http://www.semanticweb.org/konst/ontologies/2023/1/lab2

所有这些(相对路径除外)产生一个空数组,这使我相信前缀没有被正确解析。

UninformedUser在评论中回答。问题是,由于某种原因,类IRIs被分配了OWLClass和一些哈希字符串而不是它们的标签,这使我无法通过SPARQL中的lab2:{label}访问所需的类。

相关内容

  • 没有找到相关文章

最新更新