2017-03-10 17 views
1

私はデータベース管理を学んでいます。 1つのタスクは、SPARQLクエリを手作業で変換できることです。私はクエリのFROM句とその識別方法について混乱しました。SPARQLクエリをSQLクエリに変換する

以下のクエリのSELECTはまっすぐですが、FROMWHEREという句が決まります。

データベース形式:​​

PREFIX dbr: <http://dbpedia.org/resource/> PREFIX dbo: <http://dbpedia.org/ontology/> 
SELECT ?place 
WHERE { 

    dbr:Lionel_Messi dbo:birthPlace ?place 
} 

私の理解:

SELECT dbo:birthPlace 
FROM dbr:Lionel_Messi 

ありがとう

トリプル (s p o)を格納するための1が決定したデータベーススキーマに依存

答えて

1

。最も一般的で最も簡単なものspoのための列を持つ単一のテーブル

  1. です。
  2. プロパティテーブルには、すなわち、1つのテーブルオプション1の列so

と各プロパティpため、クエリは、オプション2の場合

SELECT T.o 
FROM triples T 
WHERE T.s = "dbr:Lionel_Messi" AND T.p = "dbo:birthPlace" 

ようになり、それが何かかもしれませんlike

SELECT T.o 
FROM dbo:birthPlace T 
WHERE T.s = "dbr:Lionel_Messi" 

注意してくださいここで簡略化されたバージョンを使用しています。つまり、テーブルの作成とプレフィックスの解決の命名規則は、テーブルの作成とデータの読み込み(例:完全なURIを格納する)

関連する問題