0

在这样的查询中,我怎样才能避免?p被绑定rdf:type

select ?p ?c where {
  <http://dbpedia.org/resource/Istance_1> ?p ?c.
  <http://dbpedia.org/resource/Istance_2> ?p ?c.
} 
4

1 回答 1

0

filter在您的查询中添加一个:

select ?p ?c where {
  <http://dbpedia.org/resource/Istance_1>  ?p ?c.
  <http://dbpedia.org/resource/Istance_2>  ?p ?c.
  filter( ?p != rdf:type )
}

使用前缀dbpedia:for是很典型的http://dbpedia.org/resource/,我希望这Istance应该是Instance,所以稍微清理一下,你就会有

prefix dbpedia: <http://dbpedia.org/resource>
select ?p ?c where {
  dbpedia:Instance_1 ?p ?c .
  dbpedia:Instance_2 ?p ?c .
  filter( ?p != rdf:type )
}

如果您要复制并粘贴到公共 DBpedia SPARQL 端点,则不需要定义该前缀,因为它和其他一堆是预定义的,但如果您以其他方式调用它,则需要。

于 2013-10-10T13:23:26.783 回答