4

機能する哲学者の時代を返すには、次のクエリがあります。

PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
PREFIX dbpprop: <http://dbpedia.org/property/>

SELECT ?philosopher ?era
WHERE {
   ?philosopher a  dbpedia-owl:Philosopher ;
       dbpprop:era ?era .
}

?era返される値の例は次のとおりです。

資源である時代だけを返したい。私は試した:

PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
PREFIX dbpprop: <http://dbpedia.org/property/>

SELECT ?philosopher ?era
WHERE {
   ?philosopher a dbpedia-owl:Philosopher ;
                dbpprop:era ?era .
   ?era a <http://dbpedia.org/resource>
}

しかし、これは何も返しません。リソース以外の時代を除外するにはどうすればよいですか?

4

1 に答える 1

4

追加のトリプル パターンを追加するのではなく、実際に関数で aFILTERを使用する必要があります。ISURI

PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
PREFIX dbpprop: <http://dbpedia.org/property/>

SELECT ?philosopher ?era
WHERE {
   ?philosopher a dbpedia-owl:Philosopher ;
                dbpprop:era ?era .
   FILTER(ISURI(?era))
}
于 2013-06-29T16:03:28.303 に答える