Openlink Virtuoso v01

Satoshi Kume
Satoshi KumeResearcher
OpenLink Virtuoso のインストールと設定 v1.0
・ Wikidataダンプの取得
・ Mac版インストールのTips
・ Win版インストールのTips
(Mac版とほぼ同じ)
WikidataのLocal Endpoint設定について概説する。
負荷が大きいSPARQLクエリは、公式のWeb Endpointだと、ほぼほぼタイムアウトになるので、
Local Endpointが必要になる。(Ex. タンパク質の下位概念には、70万以上のクラスがある。)
ただ、公式のWeb EndpointとSPARQLの書き方が分かるので、少し面倒な部分もある。
参考資料: オープンデータ時代の標準Web API SPARQL (p.203-213)
Webコンテンツ OKBPのブログ, SPARQLthon19, TogoWiki
WikiData RDF Dump のダウンロードURL
https://dumps.wikimedia.org/wikidatawiki/entities/
現在、古崎先生が作ったWikiData NTファイル使用
subClassOf、instance、日英labelのみ
WikiDataダンプの取得
latest-truthy.nt.bz2 をダウンロードする。
データサイズ(2020年4月現在)
23.21 GB => 608.25BG (解凍後)
=> 適時、テキスト処理で必要箇所を抜き出して使う。
Openlink Virtuoso(Mac版)
GitHubから、v7.2.5.1 ダウンロード・インストール
Virtuoso の起動
=> アプリをダブルクリック
=> メニューバーの右上に、Vアイコンが表示される
=>「 Start VOS Database 」でVOSをスタート
=>「 Stop VOS Database 」でストップ
https://github.com/openlink/virtuoso-opensource/releases
Virtuosoの設定 - メモリ設定、ポート設定、ロードディレクトリの追加
/Applications/Virtuoso¥ Open¥ Source¥ Edition¥ v7.2.app/Contents/virtuoso-opensource/database/virtuoso.ini
にある設定ファイル( virtuoso.ini )を修正する
¥ => \ (半角)
に変更すること
(4)HTTPServerPortの変更
デフォルト8890でも問題ない
(2)Serverportの変更
デフォルト 1111 で問題ない
(6)ResultSetMaxRows
100000-1000000の範囲くらいで設定
(5)SQL Prefetchの設定
BYTES: 10000-100000の範囲くらいで設定
(3)PCメモリ上限の設定
コメントアウト(;)を変える
(1)MaxCheckpointRemap
の変更
128GBの場合は
NumberOfBuffers = 10900000
MaxDirtyBuffers = 8000000
DirsAllowedの追加
Mac版は絶対パス可
databaseからの相対パス可
$ open /Applications/Virtuoso¥ Open¥ Source¥ Edition¥ v7.2.app/Contents/virtuoso-
opensource/database
Virtuosoの設定 – CPRS設定、SERVICE旬の設定
http://localhost:8890/conductor/
にブラウザ(Google Chrome)でアクセスする
ID: dba、PW: dba でログインする
(2)Cross-Origin Resource
sharingを「 * 」に設定する
(4)SPARQL_SPONGEで
Selected users/groups に
SPARQL を追加する
(1)Web Application Server > Virtual Domain & Directories
> Interface 0.0.0.0 > /sparqlを探して、Editする
(3)System Admin > User Accounts > Roles
> SPARQL_SPONGE を探して、Editする
Virtuosoの設定 - PATHの追加
## パス設定の確認
$ echo $PATH
$ cat ~/.bash_profile
## Virtuosoのパスを追加
$echo 'export PATH=/Applications/Virtuoso¥ Open¥ Source¥ Edition¥ v7.2.app/Contents/virtuoso-
opensource/bin:$PATH' >> ~/.bash_profile
## 確認
$ cat ~/.bash_profile
## 適用、確認
$ source ~/.bash_profile
$ echo $PATH
$ which isql
Þ 基本的に、ファイルの読み込みには、isql を使うことを推奨
isql により、NTファイル (wikidata_min_20200306.nt) を読み込む
(ターミナル起動)
$ isql 1111 dba dba
>log_enable(2,1);
>DB.DBA.TTLP_MT(file_to_string_output(‘/Users/[YourName]/Desktop/wikidata_min_20200306
.nt'), '', ‘http://localhost:8890/wikidata_min’, 81);
※ isql でのURLのコピペにバグがある、、、
※ Conductorの Linked Data > Graphs > Graphのところに、Graphが追加されたら、OK
この場合
http://localhost:8890/wikidata_min
がGraphリストに表示れており、OK。
(Mac版の場合)wikidata_min_20200306.nt 20.34 GBを読み込むと、virtuoso-tの使用メモリは、
27.25GBくらい(+25GB)で、NTファイルの1.25倍が目安
Local EndpointでのSPARQLの動作確認
SPARQL Execution
あるいは
http://localhost:8890/sparql
で動作確認
select ?s ?p
where { ?s ?p "化合物"@ja. } limit 100
instance of (wdt:P31)
subclass of (wdt:P279*)
select ( count(?s) As ?count )
where { ?s ?p ?o }
(SPARQLの例)
Openlink Virtuoso(Win版)
GitHubから、v7.2.5.1 ダウンロード・インストール
https://github.com/openlink/virtuoso-opensource/releases
あるいは
http://vos.openlinksw.com/owiki/wiki/VOS
/VOSDownload#Microsoft%20Windows
Win版Virtuoso のLocal Endpointの立て方
セットアップ ~ SPARQLクエリを投げるまで
1. Win版 Virtuoso をダウンロード・インストール
2. Virtuoso Services Control を起動する(起動感はほぼなし)
3. Virtuosoの設定は、Mac版と同じ設定(Mac版の説明を参照のこと)
4. ブラウザ上で一度Virtuosoの起動確認( http://localhost:8890/conductor)
5. isqlを実行して、NTファイルを読み込む
6. SPARQLクエリの実行
( Win版の設定でハマった時のメモ)
別PCから接続する場合、Win側のファイアーウォール設定が必要
=> ネットワークの状態 > Windows ファイアーウォール > 詳細設定
=> 受信規則、送信規則に8890ポートとvirtuosoプログラムの許可規則を追加する
環境変数の設定が必要
環境変数で検索、パネルを開く > ユーザー環境変数Pathのところに、Virtuosoのbinパスとlibパス、
( VirtuosoHome )を追記する
intファイル内のDirsAllowedのフォルダ追加
NTファイルがあるフォルダをdatabaseディレクトリからの相対パスで書く。その際には、Win版もスラッシュ
(/)表記で書くこと。Error 4700?はコマンドの文法間違い、 Error 3200?はDirsAllowedのパスの間違い。
Win版はやや動作が不安定な
感がある。
Win版Virtuoso で実際に実行したコマンドライン
RDFデータを"C:¥Program Files¥OpenLink Software¥Virtuoso OpenSource 7.2/VirtuosoRDF"におく
> cd "C:¥Program Files¥OpenLink Software¥Virtuoso OpenSource 7.2¥database"
> isql 1111 dba dba
> log_enable(2,1);
> select cfg_item_value (virtuoso_ini_path (), 'Parameters','DirsAllowed');
cfg_item_value
VARCHAR
_______________________________________________________________________________
., ../vad, ../VirtuosoRDF
> DB.DBA.TTLP_MT(file_to_string_output('../VirtuosoRDF/wikidata_min_20200306.nt'), '',
'http://localhost:8890/wikidata_min');
Errorがでたら、一度再起動、何もメッセージが出なければ成功
(RDFデータの削除)
> isql 1111 dba dba
> shutdown();
database内の ( virtuoso.ini ) virtuoso-temp.db, virtuoso.db, virtuoso.lck, virtuoso.log, virtuoso.pxa,
virtuoso.trx を削除して、再起動する。
補足資料
Virtuoso ConductorでRDFデータを読み込む場合
(基本的に使わないこと)
Linked Data > Quad Store Upload > File
でRDFデータを読み込む
(参考)
(rdf2rdfの設定 on Mac)
$ brew install go
$ go get -u github.com/knakk/rdf2rdf
(パスの設定)
$ echo 'export PATH=/Users/sk/go/bin:$PATH' >> ~/.bash_profile
(確認)
$ which rdf2rdf
$ rdf2rdf –h
( Usage 例 )
$ cd /Users/sk/Desktop/VirtuosoRDF
$ rdf2rdf -in=wikidata_min_20200306.nt -out=wikidata_min_20200306.ttl
※ 「=」の後ろにスペースがあると動作しない
https://github.com/knakk/rdf2rdf
【Mac版設定】N-Triples <=> Turtle
1 sur 14

Contenu connexe

Tendances(20)

大規模グラフデータ処理大規模グラフデータ処理
大規模グラフデータ処理
maruyama09710.4K vues
セマンティックWebとオントロジー:現状と将来展望 セマンティックWebとオントロジー:現状と将来展望
セマンティックWebとオントロジー:現状と将来展望
National Institute of Informatics (NII)10.5K vues
Hadoop入門Hadoop入門
Hadoop入門
Preferred Networks18.2K vues
SPARQL入門SPARQL入門
SPARQL入門
Takeshi Mikami1.8K vues
ナレッジグラフ入門ナレッジグラフ入門
ナレッジグラフ入門
KnowledgeGraph6.4K vues
Linked Data (再)入門Linked Data (再)入門
Linked Data (再)入門
National Institute of Informatics (NII)21.5K vues

Plus de Satoshi Kume(20)

Openlink Virtuoso v01

  • 1. OpenLink Virtuoso のインストールと設定 v1.0 ・ Wikidataダンプの取得 ・ Mac版インストールのTips ・ Win版インストールのTips (Mac版とほぼ同じ) WikidataのLocal Endpoint設定について概説する。 負荷が大きいSPARQLクエリは、公式のWeb Endpointだと、ほぼほぼタイムアウトになるので、 Local Endpointが必要になる。(Ex. タンパク質の下位概念には、70万以上のクラスがある。) ただ、公式のWeb EndpointとSPARQLの書き方が分かるので、少し面倒な部分もある。 参考資料: オープンデータ時代の標準Web API SPARQL (p.203-213) Webコンテンツ OKBPのブログ, SPARQLthon19, TogoWiki
  • 2. WikiData RDF Dump のダウンロードURL https://dumps.wikimedia.org/wikidatawiki/entities/ 現在、古崎先生が作ったWikiData NTファイル使用 subClassOf、instance、日英labelのみ WikiDataダンプの取得 latest-truthy.nt.bz2 をダウンロードする。 データサイズ(2020年4月現在) 23.21 GB => 608.25BG (解凍後) => 適時、テキスト処理で必要箇所を抜き出して使う。
  • 3. Openlink Virtuoso(Mac版) GitHubから、v7.2.5.1 ダウンロード・インストール Virtuoso の起動 => アプリをダブルクリック => メニューバーの右上に、Vアイコンが表示される =>「 Start VOS Database 」でVOSをスタート =>「 Stop VOS Database 」でストップ https://github.com/openlink/virtuoso-opensource/releases
  • 4. Virtuosoの設定 - メモリ設定、ポート設定、ロードディレクトリの追加 /Applications/Virtuoso¥ Open¥ Source¥ Edition¥ v7.2.app/Contents/virtuoso-opensource/database/virtuoso.ini にある設定ファイル( virtuoso.ini )を修正する ¥ => \ (半角) に変更すること (4)HTTPServerPortの変更 デフォルト8890でも問題ない (2)Serverportの変更 デフォルト 1111 で問題ない (6)ResultSetMaxRows 100000-1000000の範囲くらいで設定 (5)SQL Prefetchの設定 BYTES: 10000-100000の範囲くらいで設定 (3)PCメモリ上限の設定 コメントアウト(;)を変える (1)MaxCheckpointRemap の変更 128GBの場合は NumberOfBuffers = 10900000 MaxDirtyBuffers = 8000000 DirsAllowedの追加 Mac版は絶対パス可 databaseからの相対パス可 $ open /Applications/Virtuoso¥ Open¥ Source¥ Edition¥ v7.2.app/Contents/virtuoso- opensource/database
  • 5. Virtuosoの設定 – CPRS設定、SERVICE旬の設定 http://localhost:8890/conductor/ にブラウザ(Google Chrome)でアクセスする ID: dba、PW: dba でログインする (2)Cross-Origin Resource sharingを「 * 」に設定する (4)SPARQL_SPONGEで Selected users/groups に SPARQL を追加する (1)Web Application Server > Virtual Domain & Directories > Interface 0.0.0.0 > /sparqlを探して、Editする (3)System Admin > User Accounts > Roles > SPARQL_SPONGE を探して、Editする
  • 6. Virtuosoの設定 - PATHの追加 ## パス設定の確認 $ echo $PATH $ cat ~/.bash_profile ## Virtuosoのパスを追加 $echo 'export PATH=/Applications/Virtuoso¥ Open¥ Source¥ Edition¥ v7.2.app/Contents/virtuoso- opensource/bin:$PATH' >> ~/.bash_profile ## 確認 $ cat ~/.bash_profile ## 適用、確認 $ source ~/.bash_profile $ echo $PATH $ which isql Þ 基本的に、ファイルの読み込みには、isql を使うことを推奨
  • 7. isql により、NTファイル (wikidata_min_20200306.nt) を読み込む (ターミナル起動) $ isql 1111 dba dba >log_enable(2,1); >DB.DBA.TTLP_MT(file_to_string_output(‘/Users/[YourName]/Desktop/wikidata_min_20200306 .nt'), '', ‘http://localhost:8890/wikidata_min’, 81); ※ isql でのURLのコピペにバグがある、、、 ※ Conductorの Linked Data > Graphs > Graphのところに、Graphが追加されたら、OK この場合 http://localhost:8890/wikidata_min がGraphリストに表示れており、OK。 (Mac版の場合)wikidata_min_20200306.nt 20.34 GBを読み込むと、virtuoso-tの使用メモリは、 27.25GBくらい(+25GB)で、NTファイルの1.25倍が目安
  • 8. Local EndpointでのSPARQLの動作確認 SPARQL Execution あるいは http://localhost:8890/sparql で動作確認 select ?s ?p where { ?s ?p "化合物"@ja. } limit 100 instance of (wdt:P31) subclass of (wdt:P279*) select ( count(?s) As ?count ) where { ?s ?p ?o } (SPARQLの例)
  • 10. Win版Virtuoso のLocal Endpointの立て方 セットアップ ~ SPARQLクエリを投げるまで 1. Win版 Virtuoso をダウンロード・インストール 2. Virtuoso Services Control を起動する(起動感はほぼなし) 3. Virtuosoの設定は、Mac版と同じ設定(Mac版の説明を参照のこと) 4. ブラウザ上で一度Virtuosoの起動確認( http://localhost:8890/conductor) 5. isqlを実行して、NTファイルを読み込む 6. SPARQLクエリの実行 ( Win版の設定でハマった時のメモ) 別PCから接続する場合、Win側のファイアーウォール設定が必要 => ネットワークの状態 > Windows ファイアーウォール > 詳細設定 => 受信規則、送信規則に8890ポートとvirtuosoプログラムの許可規則を追加する 環境変数の設定が必要 環境変数で検索、パネルを開く > ユーザー環境変数Pathのところに、Virtuosoのbinパスとlibパス、 ( VirtuosoHome )を追記する intファイル内のDirsAllowedのフォルダ追加 NTファイルがあるフォルダをdatabaseディレクトリからの相対パスで書く。その際には、Win版もスラッシュ (/)表記で書くこと。Error 4700?はコマンドの文法間違い、 Error 3200?はDirsAllowedのパスの間違い。 Win版はやや動作が不安定な 感がある。
  • 11. Win版Virtuoso で実際に実行したコマンドライン RDFデータを"C:¥Program Files¥OpenLink Software¥Virtuoso OpenSource 7.2/VirtuosoRDF"におく > cd "C:¥Program Files¥OpenLink Software¥Virtuoso OpenSource 7.2¥database" > isql 1111 dba dba > log_enable(2,1); > select cfg_item_value (virtuoso_ini_path (), 'Parameters','DirsAllowed'); cfg_item_value VARCHAR _______________________________________________________________________________ ., ../vad, ../VirtuosoRDF > DB.DBA.TTLP_MT(file_to_string_output('../VirtuosoRDF/wikidata_min_20200306.nt'), '', 'http://localhost:8890/wikidata_min'); Errorがでたら、一度再起動、何もメッセージが出なければ成功 (RDFデータの削除) > isql 1111 dba dba > shutdown(); database内の ( virtuoso.ini ) virtuoso-temp.db, virtuoso.db, virtuoso.lck, virtuoso.log, virtuoso.pxa, virtuoso.trx を削除して、再起動する。
  • 13. Virtuoso ConductorでRDFデータを読み込む場合 (基本的に使わないこと) Linked Data > Quad Store Upload > File でRDFデータを読み込む (参考)
  • 14. (rdf2rdfの設定 on Mac) $ brew install go $ go get -u github.com/knakk/rdf2rdf (パスの設定) $ echo 'export PATH=/Users/sk/go/bin:$PATH' >> ~/.bash_profile (確認) $ which rdf2rdf $ rdf2rdf –h ( Usage 例 ) $ cd /Users/sk/Desktop/VirtuosoRDF $ rdf2rdf -in=wikidata_min_20200306.nt -out=wikidata_min_20200306.ttl ※ 「=」の後ろにスペースがあると動作しない https://github.com/knakk/rdf2rdf 【Mac版設定】N-Triples <=> Turtle