SlideShare a Scribd company logo
1 of 14
Download to read offline
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

More Related Content

What's hot

ナレッジグラフ/LOD利用技術の入門(後編)
ナレッジグラフ/LOD利用技術の入門(後編)ナレッジグラフ/LOD利用技術の入門(後編)
ナレッジグラフ/LOD利用技術の入門(後編)KnowledgeGraph
 
[part 2]ナレッジグラフ推論チャレンジ・Tech Live!
[part 2]ナレッジグラフ推論チャレンジ・Tech Live![part 2]ナレッジグラフ推論チャレンジ・Tech Live!
[part 2]ナレッジグラフ推論チャレンジ・Tech Live!KnowledgeGraph
 
オープンデータをLOD化するデータソン in 高槻
オープンデータをLOD化するデータソン in 高槻オープンデータをLOD化するデータソン in 高槻
オープンデータをLOD化するデータソン in 高槻Kouji Kozaki
 
SPARQLによるLODの検索@第4回LODとオントロジー勉強会-
SPARQLによるLODの検索@第4回LODとオントロジー勉強会-SPARQLによるLODの検索@第4回LODとオントロジー勉強会-
SPARQLによるLODの検索@第4回LODとオントロジー勉強会-Kouji Kozaki
 
ナレッジグラフ入門
ナレッジグラフ入門ナレッジグラフ入門
ナレッジグラフ入門KnowledgeGraph
 
ナレッジグラフ/LOD利用技術の入門(前編)
ナレッジグラフ/LOD利用技術の入門(前編)ナレッジグラフ/LOD利用技術の入門(前編)
ナレッジグラフ/LOD利用技術の入門(前編)KnowledgeGraph
 
Linked Open Data勉強会2020 後編:SPARQLの簡単な使い方、SPARQLを使った簡単なアプリ開発
Linked Open Data勉強会2020 後編:SPARQLの簡単な使い方、SPARQLを使った簡単なアプリ開発Linked Open Data勉強会2020 後編:SPARQLの簡単な使い方、SPARQLを使った簡単なアプリ開発
Linked Open Data勉強会2020 後編:SPARQLの簡単な使い方、SPARQLを使った簡単なアプリ開発KnowledgeGraph
 
セマンティック・ウェブのためのRdf owl入門解説.ch5
セマンティック・ウェブのためのRdf owl入門解説.ch5セマンティック・ウェブのためのRdf owl入門解説.ch5
セマンティック・ウェブのためのRdf owl入門解説.ch5Takahiro Kubo
 
LODを使ってみよう!
LODを使ってみよう!LODを使ってみよう!
LODを使ってみよう!uedayou
 
グラフデータベース:Neo4j、そしてRDBからの移行手順の紹介
グラフデータベース:Neo4j、そしてRDBからの移行手順の紹介グラフデータベース:Neo4j、そしてRDBからの移行手順の紹介
グラフデータベース:Neo4j、そしてRDBからの移行手順の紹介ippei_suzuki
 
第2回ナレッジグラフ推論チャレンジ2019の紹介(11/22, SWO研究会)
第2回ナレッジグラフ推論チャレンジ2019の紹介(11/22, SWO研究会)第2回ナレッジグラフ推論チャレンジ2019の紹介(11/22, SWO研究会)
第2回ナレッジグラフ推論チャレンジ2019の紹介(11/22, SWO研究会)KnowledgeGraph
 
Linked Open Data(LOD)の基本的な使い方
Linked Open Data(LOD)の基本的な使い方Linked Open Data(LOD)の基本的な使い方
Linked Open Data(LOD)の基本的な使い方Kouji Kozaki
 
オントロジー工学に基づくセマンティック技術(2)ナレッジグラフ入門
オントロジー工学に基づくセマンティック技術(2)ナレッジグラフ入門オントロジー工学に基づくセマンティック技術(2)ナレッジグラフ入門
オントロジー工学に基づくセマンティック技術(2)ナレッジグラフ入門Kouji Kozaki
 
Linked Open Data 作成支援ツールの紹介
Linked Open Data作成支援ツールの紹介Linked Open Data作成支援ツールの紹介
Linked Open Data 作成支援ツールの紹介uedayou
 
全社のデータ活用を一段階上げる取り組み
全社のデータ活用を一段階上げる取り組み全社のデータ活用を一段階上げる取り組み
全社のデータ活用を一段階上げる取り組み株式会社MonotaRO Tech Team
 
Linked Open Data(LOD)を用いた オープンデータの活用事例と今後の展望
Linked Open Data(LOD)を用いたオープンデータの活用事例と今後の展望Linked Open Data(LOD)を用いたオープンデータの活用事例と今後の展望
Linked Open Data(LOD)を用いた オープンデータの活用事例と今後の展望Kouji Kozaki
 
[DI08] その情報うまく取り出せていますか? ~ 意外と簡単、Azure Search で短時間で検索精度と利便性を向上させるための方法
[DI08] その情報うまく取り出せていますか? ~ 意外と簡単、Azure Search で短時間で検索精度と利便性を向上させるための方法[DI08] その情報うまく取り出せていますか? ~ 意外と簡単、Azure Search で短時間で検索精度と利便性を向上させるための方法
[DI08] その情報うまく取り出せていますか? ~ 意外と簡単、Azure Search で短時間で検索精度と利便性を向上させるための方法de:code 2017
 
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」Yoshiki Shibukawa
 
オントロジー工学に基づく 知識の体系化と利用
オントロジー工学に基づく知識の体系化と利用オントロジー工学に基づく知識の体系化と利用
オントロジー工学に基づく 知識の体系化と利用Kouji Kozaki
 

What's hot (20)

ナレッジグラフ/LOD利用技術の入門(後編)
ナレッジグラフ/LOD利用技術の入門(後編)ナレッジグラフ/LOD利用技術の入門(後編)
ナレッジグラフ/LOD利用技術の入門(後編)
 
[part 2]ナレッジグラフ推論チャレンジ・Tech Live!
[part 2]ナレッジグラフ推論チャレンジ・Tech Live![part 2]ナレッジグラフ推論チャレンジ・Tech Live!
[part 2]ナレッジグラフ推論チャレンジ・Tech Live!
 
オープンデータをLOD化するデータソン in 高槻
オープンデータをLOD化するデータソン in 高槻オープンデータをLOD化するデータソン in 高槻
オープンデータをLOD化するデータソン in 高槻
 
SPARQLによるLODの検索@第4回LODとオントロジー勉強会-
SPARQLによるLODの検索@第4回LODとオントロジー勉強会-SPARQLによるLODの検索@第4回LODとオントロジー勉強会-
SPARQLによるLODの検索@第4回LODとオントロジー勉強会-
 
ナレッジグラフ入門
ナレッジグラフ入門ナレッジグラフ入門
ナレッジグラフ入門
 
ナレッジグラフ/LOD利用技術の入門(前編)
ナレッジグラフ/LOD利用技術の入門(前編)ナレッジグラフ/LOD利用技術の入門(前編)
ナレッジグラフ/LOD利用技術の入門(前編)
 
Linked Open Data勉強会2020 後編:SPARQLの簡単な使い方、SPARQLを使った簡単なアプリ開発
Linked Open Data勉強会2020 後編:SPARQLの簡単な使い方、SPARQLを使った簡単なアプリ開発Linked Open Data勉強会2020 後編:SPARQLの簡単な使い方、SPARQLを使った簡単なアプリ開発
Linked Open Data勉強会2020 後編:SPARQLの簡単な使い方、SPARQLを使った簡単なアプリ開発
 
セマンティック・ウェブのためのRdf owl入門解説.ch5
セマンティック・ウェブのためのRdf owl入門解説.ch5セマンティック・ウェブのためのRdf owl入門解説.ch5
セマンティック・ウェブのためのRdf owl入門解説.ch5
 
LODを使ってみよう!
LODを使ってみよう!LODを使ってみよう!
LODを使ってみよう!
 
グラフデータベース:Neo4j、そしてRDBからの移行手順の紹介
グラフデータベース:Neo4j、そしてRDBからの移行手順の紹介グラフデータベース:Neo4j、そしてRDBからの移行手順の紹介
グラフデータベース:Neo4j、そしてRDBからの移行手順の紹介
 
第2回ナレッジグラフ推論チャレンジ2019の紹介(11/22, SWO研究会)
第2回ナレッジグラフ推論チャレンジ2019の紹介(11/22, SWO研究会)第2回ナレッジグラフ推論チャレンジ2019の紹介(11/22, SWO研究会)
第2回ナレッジグラフ推論チャレンジ2019の紹介(11/22, SWO研究会)
 
Linked Open Data(LOD)の基本的な使い方
Linked Open Data(LOD)の基本的な使い方Linked Open Data(LOD)の基本的な使い方
Linked Open Data(LOD)の基本的な使い方
 
オントロジー工学に基づくセマンティック技術(2)ナレッジグラフ入門
オントロジー工学に基づくセマンティック技術(2)ナレッジグラフ入門オントロジー工学に基づくセマンティック技術(2)ナレッジグラフ入門
オントロジー工学に基づくセマンティック技術(2)ナレッジグラフ入門
 
Linked Open Data 作成支援ツールの紹介
Linked Open Data作成支援ツールの紹介Linked Open Data作成支援ツールの紹介
Linked Open Data 作成支援ツールの紹介
 
全社のデータ活用を一段階上げる取り組み
全社のデータ活用を一段階上げる取り組み全社のデータ活用を一段階上げる取り組み
全社のデータ活用を一段階上げる取り組み
 
Linked Data (再)入門
Linked Data (再)入門Linked Data (再)入門
Linked Data (再)入門
 
Linked Open Data(LOD)を用いた オープンデータの活用事例と今後の展望
Linked Open Data(LOD)を用いたオープンデータの活用事例と今後の展望Linked Open Data(LOD)を用いたオープンデータの活用事例と今後の展望
Linked Open Data(LOD)を用いた オープンデータの活用事例と今後の展望
 
[DI08] その情報うまく取り出せていますか? ~ 意外と簡単、Azure Search で短時間で検索精度と利便性を向上させるための方法
[DI08] その情報うまく取り出せていますか? ~ 意外と簡単、Azure Search で短時間で検索精度と利便性を向上させるための方法[DI08] その情報うまく取り出せていますか? ~ 意外と簡単、Azure Search で短時間で検索精度と利便性を向上させるための方法
[DI08] その情報うまく取り出せていますか? ~ 意外と簡単、Azure Search で短時間で検索精度と利便性を向上させるための方法
 
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
 
オントロジー工学に基づく 知識の体系化と利用
オントロジー工学に基づく知識の体系化と利用オントロジー工学に基づく知識の体系化と利用
オントロジー工学に基づく 知識の体系化と利用
 

More from Satoshi Kume

ChatGPT の現状理解と 2023年7月版 LLM情報アップデート
ChatGPT の現状理解と 2023年7月版 LLM情報アップデートChatGPT の現状理解と 2023年7月版 LLM情報アップデート
ChatGPT の現状理解と 2023年7月版 LLM情報アップデートSatoshi Kume
 
230517_chatGPT_v01.pdf
230517_chatGPT_v01.pdf230517_chatGPT_v01.pdf
230517_chatGPT_v01.pdfSatoshi Kume
 
20230314_R-universe.pdf
20230314_R-universe.pdf20230314_R-universe.pdf
20230314_R-universe.pdfSatoshi Kume
 
211204_japan_r_v01
211204_japan_r_v01211204_japan_r_v01
211204_japan_r_v01Satoshi Kume
 
211104 Bioc Asia workshop
211104 Bioc Asia workshop211104 Bioc Asia workshop
211104 Bioc Asia workshopSatoshi Kume
 
CRANパッケージの作成・投稿とコードレビュー対応 〜 GoogleImage2Array パッケージでの事例紹介 〜 @ BioPackathon
CRANパッケージの作成・投稿とコードレビュー対応 〜 GoogleImage2Array パッケージでの事例紹介 〜 @ BioPackathonCRANパッケージの作成・投稿とコードレビュー対応 〜 GoogleImage2Array パッケージでの事例紹介 〜 @ BioPackathon
CRANパッケージの作成・投稿とコードレビュー対応 〜 GoogleImage2Array パッケージでの事例紹介 〜 @ BioPackathonSatoshi Kume
 
Exchange program 071128
Exchange program 071128Exchange program 071128
Exchange program 071128Satoshi Kume
 
D3 slides (Satoshi Kume)
D3 slides (Satoshi Kume)D3 slides (Satoshi Kume)
D3 slides (Satoshi Kume)Satoshi Kume
 
AI学会 合同研究会2020 発表スライド (201120)
AI学会 合同研究会2020 発表スライド (201120)AI学会 合同研究会2020 発表スライド (201120)
AI学会 合同研究会2020 発表スライド (201120)Satoshi Kume
 
210609 Biopackthon: BioImageDbs for ExperimentalHub (修正版)
210609 Biopackthon: BioImageDbs for ExperimentalHub (修正版)210609 Biopackthon: BioImageDbs for ExperimentalHub (修正版)
210609 Biopackthon: BioImageDbs for ExperimentalHub (修正版)Satoshi Kume
 
201209 Biopackathon 12th
201209 Biopackathon 12th201209 Biopackathon 12th
201209 Biopackathon 12thSatoshi Kume
 
201126 Wikidata クラス階層 SPARQL検索
201126 Wikidata クラス階層 SPARQL検索201126 Wikidata クラス階層 SPARQL検索
201126 Wikidata クラス階層 SPARQL検索Satoshi Kume
 
201111_biopackathon_11th_v00pre
201111_biopackathon_11th_v00pre201111_biopackathon_11th_v00pre
201111_biopackathon_11th_v00preSatoshi Kume
 
200612_BioPackathon_ss
200612_BioPackathon_ss200612_BioPackathon_ss
200612_BioPackathon_ssSatoshi Kume
 
How_to_install_OpenCV_ver1.0
How_to_install_OpenCV_ver1.0How_to_install_OpenCV_ver1.0
How_to_install_OpenCV_ver1.0Satoshi Kume
 
CentOS_slide_ver1.0
CentOS_slide_ver1.0CentOS_slide_ver1.0
CentOS_slide_ver1.0Satoshi Kume
 
Mac_Terminal_ver1.0
Mac_Terminal_ver1.0Mac_Terminal_ver1.0
Mac_Terminal_ver1.0Satoshi Kume
 

More from Satoshi Kume (20)

ChatGPT の現状理解と 2023年7月版 LLM情報アップデート
ChatGPT の現状理解と 2023年7月版 LLM情報アップデートChatGPT の現状理解と 2023年7月版 LLM情報アップデート
ChatGPT の現状理解と 2023年7月版 LLM情報アップデート
 
230517_chatGPT_v01.pdf
230517_chatGPT_v01.pdf230517_chatGPT_v01.pdf
230517_chatGPT_v01.pdf
 
20230314_R-universe.pdf
20230314_R-universe.pdf20230314_R-universe.pdf
20230314_R-universe.pdf
 
211204_japan_r_v01
211204_japan_r_v01211204_japan_r_v01
211204_japan_r_v01
 
211104 Bioc Asia workshop
211104 Bioc Asia workshop211104 Bioc Asia workshop
211104 Bioc Asia workshop
 
CRANパッケージの作成・投稿とコードレビュー対応 〜 GoogleImage2Array パッケージでの事例紹介 〜 @ BioPackathon
CRANパッケージの作成・投稿とコードレビュー対応 〜 GoogleImage2Array パッケージでの事例紹介 〜 @ BioPackathonCRANパッケージの作成・投稿とコードレビュー対応 〜 GoogleImage2Array パッケージでの事例紹介 〜 @ BioPackathon
CRANパッケージの作成・投稿とコードレビュー対応 〜 GoogleImage2Array パッケージでの事例紹介 〜 @ BioPackathon
 
Exchange program 071128
Exchange program 071128Exchange program 071128
Exchange program 071128
 
D3 slides (Satoshi Kume)
D3 slides (Satoshi Kume)D3 slides (Satoshi Kume)
D3 slides (Satoshi Kume)
 
AI学会 合同研究会2020 発表スライド (201120)
AI学会 合同研究会2020 発表スライド (201120)AI学会 合同研究会2020 発表スライド (201120)
AI学会 合同研究会2020 発表スライド (201120)
 
210609 Biopackthon: BioImageDbs for ExperimentalHub (修正版)
210609 Biopackthon: BioImageDbs for ExperimentalHub (修正版)210609 Biopackthon: BioImageDbs for ExperimentalHub (修正版)
210609 Biopackthon: BioImageDbs for ExperimentalHub (修正版)
 
201209 Biopackathon 12th
201209 Biopackathon 12th201209 Biopackathon 12th
201209 Biopackathon 12th
 
201126 Wikidata クラス階層 SPARQL検索
201126 Wikidata クラス階層 SPARQL検索201126 Wikidata クラス階層 SPARQL検索
201126 Wikidata クラス階層 SPARQL検索
 
201111_biopackathon_11th_v00pre
201111_biopackathon_11th_v00pre201111_biopackathon_11th_v00pre
201111_biopackathon_11th_v00pre
 
200612_BioPackathon_ss
200612_BioPackathon_ss200612_BioPackathon_ss
200612_BioPackathon_ss
 
How_to_install_OpenCV_ver1.0
How_to_install_OpenCV_ver1.0How_to_install_OpenCV_ver1.0
How_to_install_OpenCV_ver1.0
 
CentOS_slide_ver1.0
CentOS_slide_ver1.0CentOS_slide_ver1.0
CentOS_slide_ver1.0
 
R_note_ODE_ver1.0
R_note_ODE_ver1.0R_note_ODE_ver1.0
R_note_ODE_ver1.0
 
Mac_Terminal_ver1.0
Mac_Terminal_ver1.0Mac_Terminal_ver1.0
Mac_Terminal_ver1.0
 
R_note_02_ver1.0
R_note_02_ver1.0R_note_02_ver1.0
R_note_02_ver1.0
 
R note 01_ver1.2
R note 01_ver1.2R note 01_ver1.2
R note 01_ver1.2
 

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