2

DBPediaSpotLight ライブラリを使用して、次のように dbpedia の各単語の uri を取得しようとしています。

言葉:教える

URI は次のとおりです: http://dbpedia.org/resource/Teacher

カテゴリ: /business/job_title

「教える」という単語のすべてのサブカテゴリを取得したい (3) レベル.. sparql でクエリを検索しようとしていますが、必要なものが見つかりませんでした。

4

1 に答える 1

3

http://dbpedia.org/resource/Teacher (略して dbpedia:Teacher) は DBpedia のカテゴリではないため、そのサブカテゴリを求めるのはあまり意味がありません。ただし、http://dbpedia.org/resource/Category:Teaching カテゴリであり、サブカテゴリがあります。DBpedia は、skos:broader プロパティを使用してカテゴリを整理します。各スーパーカテゴリは、そのサブカテゴリよりも skos:broader です。最大 3 レベルの深さのサブカテゴリを取得するには、次のようなクエリを使用できます。

select distinct ?subcategory where {
  category:Teaching skos:broader?/skos:broader?/skos:broader ?subcategory
}

SPARQL の結果

プロパティ パスとは、/あるプロパティ パスの後に別のプロパティ パスが続くことを意味します。プロパティ パスの後の疑問符は、パスが 0 回または 1 回出現することを意味します。したがって、パス

skos:broader?/skos:broader?/skos:broader

は、(0 または 1 より広い)/(0 または 1 より広い)/より広いことを意味します。つまり、Teaching とサブカテゴリの間のリンクが 1、2、または 3 つ広いリンク先にあることを意味します。

于 2014-05-09T21:06:10.713 に答える