1

私は許しというラベルを持っており、SPARQL クエリ言語を使用して、このラベルのクラス、サブクラス、スーパークラス、プロパティ、およびインスタンスを取得したいと考えています。これらのクエリを作成するにはどうすればよいですか? あなたの応答は非常に高く評価されています。

4

1 に答える 1

3

コメントで述べられているように、質問の要点は、データセット内のリテラルのすべての出現を見つけることです。

RDFトリプル(sujbect、property、object)では、リテラルはオブジェクトとしてのみ表示できます。この場合、主題とプロパティが何であるかは関係ありません。すべて受け入れられます。

'forgiveness'次のクエリはまさにそれを実行します(英語の単語としてのみ必要であることに注意してください)。

SELECT * WHERE{
 ?subject ?property "forgiveness"@en .
}

DBpedia sparqlエンドポイントに対して実行すると、いくつかの結果が得られます。あなたはそれを試すことができます。これはDBpediaでは非常に珍しい文字です。

これを行う別の方法は、プレーンなリテラルの代わりにフィルターを使用することです。'forgiveness'次のクエリは、大文字と小文字を区別せずに検索します。

SELECT * WHERE{
 ?subject ?property ?literal .
 FILTER regex(?literal, "forgiveness", "i")
}

の2番目の引数regexは、一致するパターンです。大文字と小文字を区別しない以上のことを実現できます。詳細については、XQuery正規表現言語を確認してください

于 2012-08-07T06:42:15.240 に答える