6.1 SPARQL を使用したトリプルのクエリ
6.1.3 クエリ結果オプションの指定
Query Consoleでは、SPARQLの結果はjson:object値のシーケンス(SELECTクエ
リの場合)、sem:triple値のシーケンス(CONSTRUCTまたはDESCRIBEクエリの場 合)、または単一のxs:boolean値(ASKクエリの場合)として返されます。それぞ れの結果に応じて、Query Consoleでの表示が異なります。
このセクションでは、次の内容を取り上げます。
• Auto形式とRaw形式
• 結果のレンダリングの選択 6.1.3.1 Auto形式と Raw形式
SPARQLクエリの結果には、トリプルまたはSELECTソリューションが表示されます。
ソリューションオブジェクトは、変数名から型付き値へのマッピングを示します。結果 シーケンスの別個の項目は固有のレンダリングを持ち、デフォルトではAuto形式で示 されます。
例えば、このSELECTクエリは、次のソリューションを返します。
PREFIX db: <http://dbpedia.org/resource/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX onto: <http://dbpedia.org/ontology/>
SELECT ?person ?name
WHERE { ?person onto:birthPlace db:Brooklyn;
foaf:name ?name .}
表示形式をRawに変更するには、[Result]タブの[Raw]をクリックします。Raw形 式では、同じクエリの結果がRDF/JSONシリアライゼーションで表示されます。
[ {
"person":"<http://dbpedia.org/resource/40_Illuminati>",
"name":"\"Will Pierce\"@en"
}, {
"person":"<http://dbpedia.org/resource/A._E._Waite>",
"name":"\"Arthur Edward Waite\"@en"
}, {
"person":"<http://dbpedia.org/resource/Aaliyah>",
"name":"\"Aaliyah\"@en"
}, {
"person":"<http://dbpedia.org/resource/Aaron_Elkins>",
"name":"\"Aaron Elkins\"@en"
}, {
"person":"<http://dbpedia.org/resource/Aaron_Russo>",
"name":"\"Aaron Russo\"@en"
}, {
"person":"<http://dbpedia.org/resource/Abe_Reles>",
"name":"\"Abe Reles\"@en"
}, {
"person":"<http://dbpedia.org/resource/Abraham_Klein_
(physicist)>",
"name":"\"Abraham Klein\"@en"
}, {
"person":"<http://dbpedia.org/resource/Abraham_S._Fischler>",
"name":"\"Abraham S.Fischler\"@en"
}, {
"person":"<http://dbpedia.org/resource/Abraham_S._Luchins>",
"name":"\"Abraham S.Luchins\"@en"
}, {
"person":"<http://dbpedia.org/resource/Abram_Cohen>",
"name":"\"Abram Cohen\"@en"
}
同じようにDESCRIBEクエリを実行すると、Query Consoleでは出力がトリプル形式で 返されます。
PREFIX db: <http://dbpedia.org/resource/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX onto: <http://dbpedia.org/ontology/>
DESCRIBE ?person ?name
WHERE { ?person onto:birthPlace db:Brooklyn;
foaf:name ?name .}
=>
@prefix xs: <http://www.w3.org/2001/XMLSchema#> .
<http://dbpedia.org/resource/40_Illuminati>
<http://dbpedia.org/ontology/birthPlace>
<http://dbpedia.org/resource/Brooklyn> ,
<http://dbpedia.org/resource/New_York> ;
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type/>
<http://xmlns.com/foaf/0.1/Person> ;
<http://xmlns.com/foaf/0.1/surname> "Pierce"@en ;
<http://purl.org/dc/elements/1.1/description> "Rapper"@en ;
<http://xmlns.com/foaf/0.1/givenName> "Will"@en ;
<http://xmlns.com/foaf/0.1/name> "Will Pierce"@en .
<http://dbpedia.org/resource/A._E._Waite>
<http://dbpedia.org/ontology/birthPlace>
<http://dbpedia.org/resource/Brooklyn> ;
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type/>
<http://xmlns.com/foaf/0.1/Person> ;
<http://xmlns.com/foaf/0.1/givenName> "Arthur Edward"@en ;
<http://xmlns.com/foaf/0.1/name> "Arthur Edward Waite"@en ;
<http://purl.org/dc/elements/1.1/description> "English writer"@en ;
<http://xmlns.com/foaf/0.1/surname> "Waite"@en .
<http://dbpedia.org/resource/Aaliyah>
<http://dbpedia.org/ontology/deathPlace>
<http://dbpedia.org/resource/Abaco_Islands> ,
<http://dbpedia.org/resource/Marsh_Harbour> ,
<http://dbpedia.org/resource/The_Bahamas> ;
<http://dbpedia.org/ontology/birthPlace>
<http://dbpedia.org/resource/Brooklyn> ,
<http://dbpedia.org/resource/New_York_City> ;
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type/>
<http://xmlns.com/foaf/0.1/Person> ;
<http://xmlns.com/foaf/0.1/name> "Aaliyah"@en ;
<http://purl.org/dc/elements/1.1/description> "Singer,
dancer, actress, model"@en ;
<http://dbpedia.org/ontology/birthDate> "1979-01-16"
^^xs:date ;
<http://dbpedia.org/ontology/deathDate> "2001-08-25"
^^xs:date . ....
注: トリプルをサブグラフとして返すクエリを実行すると、デフォルトの出力 シリアライゼーションはTurtleになります。
サーバーでは、DESCRIBE節に9999個までというトリプル数制限があります。クエリ に1つまたは複数のIRIを持つDESCRIBE節が含まれ、これらのIRIを合計してトリプ ルが9999個を超える場合、トリプルが結果から切り詰められます。切り詰められた場 合でも、サーバーからの警告やメッセージは表示されません。
6.1.3.2 結果のレンダリングの選択
クエリ結果の表示方法は、[Render as]ドロップダウンリストのオプションを使用して 選択します。例えば、このDESCRIBEクエリは、トリプルをTurtleシリアライゼー ションで返します。
PREFIX db: <http://dbpedia.org/resource/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX onto: <http://dbpedia.org/ontology/>
DESCRIBE ?person ?name
WHERE { ?person onto:birthPlace db:Brooklyn;
foaf:name ?name .}
結果の形式としてJSONやテキストを選択することもできます。
注: DESCRIBEクエリのレンダリングオプションは、Turtle、JSON、またはテ キストです。cts:searchを使用するクエリ、SPARQLとcts:クエリ の組み合わせを使用するクエリ、またはシリアライゼーション関数でシリ アライズされるクエリ結果を使用するクエリでは、レンダリングオプショ ンが異なる場合があります。