SPARQL サンプルクエリ

HOMEへ戻る

主語・述語・目的語のトリプルを10件取得する

SELECT * {
  ?s ?p ?o.
} LIMIT 10

登録されているデータがあるクラスを可能ならば名前とともに10件取得する

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT DISTINCT ?class ?name{
  [] a ?class.
  OPTIONAL {
    ?class rdfs:label ?name
  }
} LIMIT 10

ある1つのクラスに対してそのクラスに関する情報を取得する

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT * {
  { SELECT ?s { ?s a rdfs:Class. } LIMIT 1 }
  ?s ?p ?o.
}

タイトルがあるグラフのIRIとタイトルを100件まで取得する

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX dcterms: <http://purl.org/dc/terms/>
SELECT DISTINCT ?g ?title {
  {
    SELECT ?g (MIN(?p_priority) AS ?priority){
      VALUES (?p ?p_priority) {
        (dcterms:title 1)
        (dc:title 2)
        (rdfs:label 3)
      }
      GRAPH ?g {
        ?g ?p ?title_any.
        FILTER(STRLEN(?title_any)>0)
      }
    } GROUP BY ?g LIMIT 100
  }
  VALUES (?p ?priority) {
    (dcterms:title 1)
    (dc:title 2)
    (rdfs:label 3)
  }
  ?g ?p ?title_any.
  OPTIONAL {
    ?g ?p ?title_ja.
    FILTER(langMatches(lang(?title_ja),"ja"))
  }
  OPTIONAL {
    ?g ?p ?title_en.
    FILTER(langMatches(lang(?title_en),"en"))
  }
  BIND(COALESCE(?title_ja, ?title_en, ?title_any) AS ?title)
}

参考ページ

W3C SPARQL 1.1 クエリ言語
https://www.w3.org/TR/sparql11-query/
W3C SPARQL 1.1 クエリ言語 日本語訳
http://www.asahi-net.or.jp/~ax2s-kmtn/internet/rdf/REC-sparql11-query-20130321.html