2016-04-07 24 views
2

私はDBpediaでクエリを実行していますが、明らかに間違ったエンコーディングと疑問符(疑問符)で表示される文字を含む結果が表示されています。 -SPARQL DBPediaエンコーディング

http://dbpedia.org/resource/Bo?aziçi_University 

- 私が見ることを期待 -

http://dbpedia.org/resource/Bo%C4%9Fazi%C3%A7i_University 

Hereあなたは、実際のタイトルを見つけることができます。

あなたは私が何か間違ったことをやっているhttp://live.dbpedia.org/sparql

PREFIX yago: <http://dbpedia.org/class/yago/> 
PREFIX schema: <http://schema.org/> 
PREFIX dbpedia: <http://dbpedia.org/> 

SELECT ?school 
WHERE 
{ 
    { ?school rdf:type schema:EducationalOrganization . } 
    UNION 
    { ?school rdf:type yago:EducationalInstitution108276342 . } 
    UNION 
    { ?school rdf:type yago:College108278169 . } 
    UNION 
    { ?school dbpedia:type dbr:Public_university . } 
} 

で私のクエリを実行することができますか?正しい結果を得るためにクエリに追加する必要がありますか?それはデータに関連していますか(基本的にデータは間違っているので何もできません)?

+0

これはDBpedia LIVEですが、これはDBpediaと全く同じではありません。 DBpediaのエンドポイントはhttp://dbpedia.org/sparqlです。 –

+0

はいわかりました。私が最後に試したとき、あなたが提供したエンドポイントで同じ問題が発生しました。 – alkis

+1

この種の問題は、関係するチーム(この場合は[DBpedia Discussion](https://lists.sourceforge.net/lists/listinfo/dbpedia-discussion)および[Virtuoso Users ](https://lists.sourceforge.net/lists/listinfo/virtuoso-users/)メーリングリスト。 – TallTed

答えて

5

私はあなたが何か間違っているとは思わない。あなたが見ている結果は、結果に現れるBoğaziçi Universityと同じものだと思います。たぶんデータの中のほんの一部です。彼らの名前に疑問符がついているエンティティを尋ねると、束が表示されます。 ののエンティティのみを含むクエリーの簡略版(ユニオンはありません)はありますか?そのURIで

SELECT DISTINCT ?school WHERE 
{ 
    values ?type { schema:EducationalOrganization 
       yago:EducationalInstitution108276342 
       yago:College108278169 
       dbr:Public_university } 
    values ?hasType { rdf:type dbpedia:type } 
    ?school ?hasType ?type . 

    filter(contains(str(?school), "?")) 
} 

SPARQL results

あなたはそのフィルタを逆にし、単にそれらの結果を除外し、私はあなたが望むものになってしまいます考えることができます:

SELECT DISTINCT ?school WHERE 
{ 
    values ?type { schema:EducationalOrganization 
       yago:EducationalInstitution108276342 
       yago:College108278169 
       dbr:Public_university } 
    values ?hasType { rdf:type dbpedia:type } 
    ?school ?hasType ?type . 

    filter(!contains(str(?school), "?")) 
} 

SPARQL results

関連する問題