2013-10-28 7 views
9

SPARQLクエリでリソース(DBpediaから)の定義を持つことは可能ですか?私は(Conceptual) Clustering methods for the Semantic Web: issues and applications (slides 10–11)に示されているTBoxとABoxのようなものを持っています。例えば、DBpediaのリソースStephen Kingのために、私が持っているしたいと思います:インスタンスの最も特定のクラスを取得する

Stephen_King:人⊓ライター⊓男性⊓ ...(最も特定のクラス)

答えて

10

あなたがお聞きし、次のようなクエリを使用することができますスティーブン・キングがサブクラスを持たないインスタンスであるクラスのために、スティーブン・キングもインスタンスです。しかし、(私が知る限りは)DBpedia SPARQLエンドポイントにアトリビュートが添付されていないため、推論することができるが明示的ではないサブクラス関係が存在する可能性がありますデータに存在する。

select distinct ?type where { 
    dbpedia:Stephen_King a ?type . 
    filter not exists { 
    ?subtype ^a dbpedia:Stephen_King ; 
      rdfs:subClassOf ?type . 
    } 
} 

SPARQL results

すべてのクラスがrdfs:subClassOfそのものであるため、実際には、あなたは?subtype?typeが同じである場合を除外するために、そのクエリに別の行を追加する必要があります

select distinct ?type where { 
    dbpedia:Stephen_King a ?type . 
    filter not exists { 
    ?subtype ^a dbpedia:Stephen_King ; 
      rdfs:subClassOf ?type . 
    filter (?subtype != ?type) 
    } 
} 

SPARQL results

実際に結果文字列l IKEあなたがdbpedia:Stephen_Kingに変数をバインドするvaluesを使用して、よりよい何か(一種の)探しを得るために、いくつかのグループ化と文字列連結を使用することができ、これらのスライドに示されている1、:

select 
    (concat(?person, " =\n", group_concat(?type; separator=" AND\n")) as ?sentence) 
where { 
    values ?person { dbpedia:Stephen_King } 
    ?type ^a ?person . 
    filter not exists { 
    ?subtype ^a ?person ; 
      rdfs:subClassOf ?type . 
    filter (?subtype != ?type) 
    } 
} 
group by ?person 

SPARQL results

http://dbpedia.org/resource/Stephen_King = 
http://dbpedia.org/class/yago/AuthorsOfBooksAboutWritingFiction AND 
http://dbpedia.org/ontology/Writer AND 
http://schema.org/Person AND 
http://xmlns.com/foaf/0.1/Person AND 
http://dbpedia.org/class/yago/AmericanSchoolteachers AND 
http://dbpedia.org/class/yago/LivingPeople AND 
http://dbpedia.org/class/yago/PeopleFromBangor,Maine AND 
http://dbpedia.org/class/yago/PeopleFromPortland,Maine AND 
http://dbpedia.org/class/yago/PeopleFromSarasota,Florida AND 
http://dbpedia.org/class/yago/PeopleSelf-identifyingAsAlcoholics AND 
http://umbel.org/umbel/rc/Artist AND 
http://umbel.org/umbel/rc/Writer AND 
http://dbpedia.org/class/yago/20th-centuryNovelists AND 
http://dbpedia.org/class/yago/21st-centuryNovelists AND 
http://dbpedia.org/class/yago/AmericanHorrorWriters AND 
http://dbpedia.org/class/yago/AmericanNovelists AND 
http://dbpedia.org/class/yago/AmericanShortStoryWriters AND 
http://dbpedia.org/class/yago/CthulhuMythosWriters AND 
http://dbpedia.org/class/yago/HorrorWriters AND 
http://dbpedia.org/class/yago/WritersFromMaine AND 
http://dbpedia.org/class/yago/PeopleFromDurham,Maine AND 
http://dbpedia.org/class/yago/PeopleFromLisbon,Maine AND 
http://dbpedia.org/class/yago/PostmodernWriters 
関連する問題