2

2 つの変数を使用して sparql クエリを作成するにはどうすればよいですか? 説明させてください: 私は歴史的な地図のオントロジーを持っています。私のエンティティは: HistoricalMap,LanguageColor あり、それらを接続するオブジェクト プロパティは:hasLanguageですhasColor(hist.map には言語があり、色があります)。クエリを作成すると:

SELECT ?HistoricalMap ?Language ?Color
        WHERE { ?HistoricalMap p1:hasLanguage ?Language.
                       ?HistoricalMap p1:hasColor ?Color.
}

色と言語を含むすべてのマップを取得します。

hasColor「赤」とhasLanguageフランス語の地図を求めるにはどうすればよいですか?

4

2 に答える 2

5

「AND」が必要なため、パターンで定数を使用できます。

SELECT ?HistoricalMap
        WHERE { ?HistoricalMap p1:hasLanguage "French".
                       ?HistoricalMap p1:hasColor "Red" .
}

それでも変数を返したい場合は、次を使用しますFILTER

SELECT ?HistoricalMap ?Language ?Color
        WHERE { ?HistoricalMap p1:hasLanguage ?Language.
                       ?HistoricalMap p1:hasColor ?Color.
                FILTER(?Language = "French" && ?Color = "Red")
}
于 2013-04-11T18:36:20.777 に答える
3

フランス語赤色がデータでどのように表現されるかを理解する必要があります。

あなたが言及したクエリを実行するときにそれらがどのように返されるかを確認するだけで十分です。

たとえば、次のようになります。

SELECT ?entity
WHERE {
  ?entity dbpedia-owl:colour <http://dbpedia.org/resource/Red> .
  ?entity dbpedia-owl:language <http://dbpedia.org/resource/French_language> .
}
于 2013-04-11T18:36:31.817 に答える