4

私はSPARQLの初心者であり、いくつかの基本的なクエリを書くことができます。ピザのオントロジーがあり、そのプロパティは次のとおりです。

rdf:subClassOf NamedPizza

hasTopping only (MozzarellaTopping
              or PeperoniSausageTopping
              or TomatoTopping)

hasTopping some MozzarellaTopping

hasTopping some PeperoniSausageTopping

hasTopping some TomatoTopping

次のクエリを作成しましたが、結果が得られません。

SELECT * WHERE
{
  ?pizza rdfs:subClassof [
    owl:onProperty :hasTopping;
    owl:someValuesFrom :MozzarellaTopping ] .
  ?pizza rdfs:subClassof [
    owl:onProperty :hasTopping;
    owl:someValuesFrom :PeperonSausageTopping ] .
  ?pizza rdfs:subClassof [
    owl:onProperty :hasTopping;
    owl:someValuesFrom :TomatoTopping ] .
}

このピザの名前を取得するためのSPARQLクエリとは何ですか?

Protege4.2とTopBraidを使用してSPARQLクエリを実行しています

4

2 に答える 2

4

SPARQL クエリでは、('O' の代わりに 'o') の代わりに記述rdfs:subClassofrdfs:subClassOfます。大文字の使用は重要です。接頭辞の表記は単に URI の省略形であり、URI ではさまざまな文字 (大文字ではなく小文字など) が別の URI を作成するためです。

于 2013-03-04T22:02:29.833 に答える
2

何かが得られるまでクエリを切り詰めてから、削除した部分がデータと一致しない理由を確認します。

于 2013-02-24T17:48:46.713 に答える