1

DBpedia で、2 つのリソースが同じカテゴリまたはサブカテゴリ (つまり、共通のスーパーカテゴリのカテゴリに属している) を持っているかどうかを知ることができるかどうか疑問に思っています。DBpedia エンドポイントでこのクエリを試しましたが、間違っています。

select distinct ?s ?s2 where {
?s skos:subject <http :// dbpedia.org/resource/ Category ?c.
?s2 skos:subject <http :// dbpedia.org/resource/ Category ?c2.
?c=?c2.
}
4

1 に答える 1

2

DBpedia はskos:subjectをリソースに使用するのではなく、 を使用してリソースをウィキペディアのカテゴリに関連付けますdcterms:subject。リソースページを閲覧することで、利用可能なデータを見つけることができます。たとえば、http://dbpedia.org/resource/Mount_Monadnockをご覧ください。2 つのリソースに共通するカテゴリを見つけたい場合は、同じ変数を使用してください。例えば、

?subject1 dcterms:subject ?category .
?subject2 dcterms:subject ?category .

^property表記法とオブジェクト リストを使用すると、より簡潔に記述できます。書くo ^p sことは書くことと同じs p oです。オブジェクト リストを使用するs p o1, o2と、 の代わりに記述できますs p o1. s p o2.。これらをまとめると、次のように書くことができます。

?category ^dcterms:subject ?subject1, ?subject2 .

たとえば、モナドノック山とスポフォード湖の共通カテゴリを検索するクエリを次に示します。共通のカテゴリが 1 つしかないため、検索結果はニューハンプシャー州チェシャー郡の地形の 1 つだけです。

select * where {
  ?category ^dcterms:subject dbpedia:Mount_Monadnock, dbpedia:Spofford_Lake .
}

SPARQL の結果

現在、カテゴリは、 http: //dbpedia.org/page/Category:Landforms_of_Cheshire_County,_New_Hampshire でわかるように、DBpedia のスーパーカテゴリに関連付けられてskos:broaderいます。ここには、へのリンクがあります。

これは、2 つのものが共通のカテゴリ (またはスーパーカテゴリ) を持っている場合、dcterms:subjectリンクで始まり、0 個以上のskos:broaderリンクが続くパスによって、それぞれがそのカテゴリに関連付けられることを意味します。したがって、次のようなクエリを使用できます

select * where {
  ?category ^(dcterms:subject/skos:broader*) dbpedia:Mount_Monadnock, dbpedia:Spofford_Lake .
}

残念ながら、DBpedia エンドポイントがそのクエリでメモリ使用量の問題に遭遇することがわかります。そのため、まったく同じように実行することはできません。ただし、DBpedia SPARQL エンドポイントは、実際には標準化されていないプロパティ パス機能をサポートしています。p{n,m}長さ のチェーンを表すように書くことができnますm。これは、次のようにほとんど同じ結果が得られるいくつかの範囲を設定できることを意味します*

select distinct ?category where {
  ?category ^(dcterms:subject/(skos:broader{0,3})) dbpedia:Mount_Monadnock, dbpedia:Spofford_Lake .
}

SPARQL の結果

これは Tom Cruise と Madonna でも機能しますが、メモリの問題により、パスの長さを少し縮小する必要があります。たとえば、次のクエリは 74 件の結果を返します。

select distinct ?category where {
  ?category
      ^(dcterms:subject/(skos:broader{0,2}))
          <http://dbpedia.org/resource/Tom_Cruise>,
          <http://dbpedia.org/resource/Madonna_(entertainer)> .
}

SPARQL の結果

ただし、ウィキペディアのカテゴリは型ではないことに注意してください。したがって、これらのリソースは両方とも地形であると正しく見なされますが、どちらも地理ではなく、後のクエリでわかるようにニューハンプシャーでもありません。ウィキペディアのカテゴリは、タイプの階層というよりもトピックに関するものです。

関連資料

同様に役立つと思われる関連する (ただし、まったく重複していない) 質問があります

于 2013-12-24T14:58:31.070 に答える