-1
私は、多くのデータを持つ個人用データベースを使用して、BIBFRAME 2.0モデルに従ってグラフを作成または挿入するSPARQLクエリを作成しようとしています。SPARQLクエリ/空白ノードの構築/挿入
Subject a bf:Topic, madsrdf:ComplexSubject ;
rdfs:label "Subject" ;
madsrdf:componentList [ a madsrdf:Topic ;
madsrdf:authoritativeLabel "FirstSubject" ] ;
しかし、私はSPARQLでこれを行う方法がわかりません。私はこのクエリをしようと試みたが、私は常に空白ノード(私は私のデータベースを持っている空のフィールドに登録さと同じくらい「件名?」)の多くを得る:
PREFIX bf: <http://id.loc.gov/ontologies/bibframe/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
prefix madsrdf: <http://www.loc.gov/mads/rdf/v1#>
CONSTRUCT{
?subject a bf:Topic, madsrdf:ComplexSubject ;
rdfs:label ?subject;
madsrdf:componentList [ a madsrdf:Topic ;
madsrdf:authoritativeLabel ?firstsubject ];
} where{ service <http://localhost:.......> {
?registerRow a <urn:Row> ;
OPTIONAL{?registerRow <urn:col:Subject> ?subject ;}
OPTIONAL{?registerRow <urn:col:FirstSubject> ?firstsubject ;}
}
}
CONSTRUCTクエリの最初の部分は、WHERE部分のパターンに一致する各RDFサブグラフに対して実行されます。確かに、それは各行のために行われます。 – AKSW
そして 'OPTIONAL'の部分では、'?registerRow'の代わりに '?registroRow'という別の変数を使用しています。したがって、接続されていないので、たくさんの項目とのクロスプロダクトです。 – AKSW
申し訳ありませんが、両方とも '?registerRow'です。問題はそのままです。 – Wences