4

指定されたカテゴリと指定されたキーを持つすべてのページを取得したい。私の質問:

PREFIX dbpedia: <http://dbpedia.org/>
PREFIX dbpedia2: <http://dbpedia.org/property/> 
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
PREFIX dcterms: <http://dublincore.org/2010/10/11/dcterms.rdf#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>
PREFIX grs: <http://www.georss.org/georss/point>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?page ?cat ?key ?value (lang(?value) as ?language) WHERE {

  ?page dcterms:subject ?cat .
  ?page ?key ?value .

  FILTER(
    regex(?cat, "category:Amusement_parks_in_the_Netherlands") &&
    ?key = foaf:depiction
  )

}

ただし、結果はゼロになります。ここを参照してください:SNORQLクエリ

少なくとも次のページを返す必要があります:http://dbpedia.org/page/Duinrell(基準に一致するため)。

何か案は?

4

1 に答える 1

6

クエリにいくつか問題があります。まず、URIを比較するときに正規表現を使用しないでください。それ以外の:

regex(?cat, "category:Amusement_parks_in_the_Netherlands")

使用する:

?cat = <http://dbpedia.org/resource/category:Amusement_parks_in_the_Netherlands>

2番目:ダブリンコアの名前空間プレフィックスが間違っているようです。プロパティをクエリdcterms:subjectしています。クエリでは、プレフィックスdctermsが名前空間にマップされていますhttp://dublincore.org/2010/10/11/dcterms.rdf#。ただし、DBPediaの実際のプロパティはhttp://purl.org/dc/terms/subjectであるため、代わりに名前空間プレフィックスをにマップする必要がありますhttp://purl.org/dc/terms/

于 2012-01-22T04:45:47.077 に答える