3.2 トリプルのロード
3.2.3 mlcp を使用したトリプルのロード
3.2.3.5 コレクションおよびディレクトリの指定
トリプルを名前付きグラフにロードするには、-output_collectionsオプションを使用し てコレクションを指定します。
注:
新しいグラフを作成するには、sparql-update-userロールが必要です。
ロールの詳細については、『Understanding and Using Security Guide』の
「
次に例を示します。
# Windows???????????
$ mlcp.sh import -host localhost -port 8000 -username user \ -password passwd -input_file_path /space/tripledata \
-output_collections コレクションのカンマ区切りのリストを作成します。
デフォルト:
http://marklogic.com/semantics#default-graph
-database string (オプション)宛先データベースの名前。デフォルト:
-hostおよび-portで指定された宛先のアプリケーショ
ンサーバーに関連付けられているデータベース。
オプション 説明
このコマンドは、tripledataディレクトリ内にあるすべてのトリプルを名前付きグラフ に配置し、グラフの
IRI
を/my/collectionに上書きします。注:
デフォルトグラフの
IRI
を上書きするときは、-filename_as_collectionで はなく-output_collectionsを使用してください。トリプルデータでは、コレクションを指定しない場合、ドキュメントはデフォルトコレ クション(http://marklogic.com/semantics#default-graph)に配置されます。
クアッドデータでは、コレクションを指定しない場合、トリプルがパースおよびシリア ライズされて、ドキュメントに格納され、クアッドの
4
番目の部分がコレクションにな ります。例えばこのクアッドの
4
番目の部分は、主語のホームページを識別するIRI
です。<http://dbpedia.org/resource/London_Heathrow_Airport>
<http://xmlns.com/foaf/0.1/homepage>
<http://www.heathrowairport.com/>
<http://en.wikipedia.org/wiki/London_Heathrow_Airport?oldid=495283228#
absolute-line=26/> .
このクアッドがデータベースにロードされると、コレクションが名前付きグラフ
http://en.wikipedia.org/wiki/London_Heathrow_Airport?oldid=495283228#absolute-line=26
として生成されます。
注:
-output_collectionsインポートオプションで名前付きグラフを指定してい
る場合、クアッドの
4
番目の要素は無視され、その名前付きグラフが使用 されます。複数のロード手法を使用している場合は、すべてのトリプルドキュメントを共通のディ レクトリに配置することを検討してください。sem:rdf-insertおよびsem:rdf-load関数
は/triplestoreディレクトリにトリプルドキュメントを配置するため、
-output_uri_prefix /triplestoreを使用して
mlcp
が生成するトリプルドキュメントもそ こに配置します。次に例を示します。
$ mlcp.sh import -host localhost -port 8000 -username user \ -password passwd -input_file_path /space/tripledata/example.zip \ -mode local -input_file_type RDF -input_compressed true
-output_collections /my/collection -output_uri_prefix '/triplestore'
トリプルまたはクアッドを圧縮された
.
zipまたは.
gzipファイルから指定した名前付き グラフにロードすると、mlcp
によってコンテンツが抽出され、シリアライゼーション に基づいてシリアライズされます。例えば、Turtleドキュメント(.ttl)が含まれる圧 縮ファイルは、トリプルとして識別されパースされます。mlcp
を使用してMarkLogic
にコンテンツをロードすると、一意のIRI
を持つXML
ド キュメントとして読み込まれるときにトリプルがパースされます。このときの一意のIRI
は、16
進数で表現されたランダムな番号です。この例では、mlcp
を使用してトリ プルがpersondata.ttlファイルからロードされ、-output_uri_prefixには/triplestoreが 指定されています。/triplestore/d2a0b25bda81bb58-0-10024.xml /triplestore/d2a0b25bda81bb58-0-12280.xml /triplestore/d2a0b25bda81bb58-0-13724.xml /triplestore/d2a0b25bda81bb58-0-14456.xml
トリプルをロードするために選択する手法は慎重に検討してください。mlcpによって ドキュメント
IRI
を生成するアルゴリズムは、sem:rdf-loadでシステムファイルディレ クトリからロードする手法など、その他のロード手法の場合と異なります。例えば、同じpersondata.ttlファイルをsem:rdf-loadでロードしても、お互いに無関係 な
IRI
になります。/triplestore/11b53cf4db02080a.xml /triplestore/19b3a986fcd71a5c.xml /triplestore/215710576ebe4328.xml /triplestore/25ec5ded9bfdb7c2.xml
sem:rdf-loadでトリプルをロードすると、結果として得られるドキュメントでは、トリ
プルがhttp://marklogic.com/semanticsプレフィックスにバインドされます。
次に例を示します。
<?xml version="1.0" encoding="UTF-8"?>
<sem:triples xmlns:sem="http://marklogic.com/semantics">
<sem:triple>
<sem:subject>http://dbpedia.org/resource/Wayne_Stenehjem
</sem:subject>
<sem:predicate>http://purl.org/dc/elements/1.1/description
</sem:predicate>
<sem:object datatype="http://www.w3.org/2001/XMLSchema#string"
xml:lang="en">American politician
</sem:object>
</sem:triple>
<sem:triple>
<sem:subject>http://dbpedia.org/resource/Wayne_Stenehjem
</sem:subject>
<sem:predicate>http://dbpedia.org/ontology/birthDate
</sem:predicate>
<sem:object datatype="http://www.w3.org/2001/XMLSchema#date/">
1953-02-05
</sem:object>