URI 在 SPARQL 查询中起作用,但命名空间不起作用
URI works in a SPARQL query, but the Namespace does not
我正在查询 NIFSTD ontology. I have loaded it into Fuseki,一个本地三重存储/sparql 服务器。
当查询 'hippocampus' 的同义词时,下面带有命名空间的代码没有 return 任何答案:
prefix nifstdr: <http://uri.neuinfo.org/nif/nifstd/readable>
prefix rdf: <...>
.
.
SELECT distinct ?s ?synonyms
{?s rdfs:label "Hippocampus" ;
nifstd:synonym ?synonyms .}
虽然使用 URI 有效并且 return 的正确答案:
prefix rdfs: ...
prefix rdf: ...
SELECT distinct ?s ?synonyms
{?s rdfs:label "Hippocampus" ;
<http://uri.neuinfo.org/nif/nifstd/readable/synonym> ?synonyms .}
另一个与此类似(但相反)的实例是当我在本地图表中查询以下概念的 ID 时:
PREFIX oboInOwl: <http://www.geneontology.org/formats/oboInOwl#>
select distinct ?id
where{
graph <http://localhost:3030/myDataset/data/nif>{
?s oboInOwl:id ?id.
}
}
limit 100
此代码returned 结果。
但是,在如下代码中使用 URI,return根本没有结果!
select distinct ?id
where{
graph <http://localhost:3030/myDataset/data/nif>{
?s <http://www.geneontology.org/formats/oboInOwl/id> ?id.
}
}
limit 100
所以,这次反过来了!
我想这可能是因为本地三元组存储在其缓存中有一个我之前用于此数据集的 URI,所以我给它起了一个不同的名称,但问题仍然存在。
为什么会这样?
在更新的问题中,
查询中的完整 URI 是 http://www.geneontology.org/formats/oboInOwl/id
但 oboInOwl:id
扩展为不同的 URI:http://www.geneontology.org/formats/oboInOwl#id
区别在于 #
-/
.
nifstd:synonym
变成 http://uri.neuinfo.org/nif/nifstd/readablesynomyn
而不是 .../readable/synomyn
.
我正在查询 NIFSTD ontology. I have loaded it into Fuseki,一个本地三重存储/sparql 服务器。
当查询 'hippocampus' 的同义词时,下面带有命名空间的代码没有 return 任何答案:
prefix nifstdr: <http://uri.neuinfo.org/nif/nifstd/readable>
prefix rdf: <...>
.
.
SELECT distinct ?s ?synonyms
{?s rdfs:label "Hippocampus" ;
nifstd:synonym ?synonyms .}
虽然使用 URI 有效并且 return 的正确答案:
prefix rdfs: ...
prefix rdf: ...
SELECT distinct ?s ?synonyms
{?s rdfs:label "Hippocampus" ;
<http://uri.neuinfo.org/nif/nifstd/readable/synonym> ?synonyms .}
另一个与此类似(但相反)的实例是当我在本地图表中查询以下概念的 ID 时:
PREFIX oboInOwl: <http://www.geneontology.org/formats/oboInOwl#>
select distinct ?id
where{
graph <http://localhost:3030/myDataset/data/nif>{
?s oboInOwl:id ?id.
}
}
limit 100
此代码returned 结果。
但是,在如下代码中使用 URI,return根本没有结果!
select distinct ?id
where{
graph <http://localhost:3030/myDataset/data/nif>{
?s <http://www.geneontology.org/formats/oboInOwl/id> ?id.
}
}
limit 100
所以,这次反过来了!
我想这可能是因为本地三元组存储在其缓存中有一个我之前用于此数据集的 URI,所以我给它起了一个不同的名称,但问题仍然存在。
为什么会这样?
在更新的问题中,
查询中的完整 URI 是 http://www.geneontology.org/formats/oboInOwl/id
但 oboInOwl:id
扩展为不同的 URI:http://www.geneontology.org/formats/oboInOwl#id
区别在于 #
-/
.
nifstd:synonym
变成 http://uri.neuinfo.org/nif/nifstd/readablesynomyn
而不是 .../readable/synomyn
.