RDB2RDF工具的优缺点是什么? [英] What are the pros and cons of RDB2RDF tools?
问题描述
我需要了解RDB2RDF工具之间的区别。
谁能告诉我RDB2RDF工具的优缺点是什么?特别是对于以下对象:Virtuoso,Ultrawrap,Ontop,Morph,Xsparql,D2RQ,....
I need to know the difference between RDB2RDF tools.
Could anybody tell me what are the pros and cons of RDB2RDF tools? Especially for the following ones: Virtuoso, Ultrawrap, Ontop, Morph, Xsparql, D2RQ,....
推荐答案
有两种W3C标准化的方法将关系数据转换为RDF:
There are two W3C-standardized ways to convert relational data to RDF:
- Direct Mapping — non-customizable default mapping. Direct Mapping is suitable when relational data is well normalized, there are primary keys, foreign keys etc.
- R2RML — customizable mapping.
在下面的调查中,我仅考虑R2RML实现。
In the survey below, I consider R2RML implementations only.
许多R2RML实现都是在此处列出。我不考虑以下工具:
Many R2RML implementations are listed here. I do not consider tools which are:
- 死了,
- 已支付,
- 需要编程,
- 全栈(即声称替换了您已经使用的所有软件),
- 在仅限包装模式,在ETL模式下不。
- dead,
- paid,
- requiring programming,
- full-stack (i. e. claim to replace all the software you already use),
- working in the wrapper mode only, not in the ETL mode.
XSPARQL
语法示例
Syntax example
java -jar cli-0.5-jar-with-dependencies.jar -h
java -server -jar -Dfile.encoding=utf-8 cli-0.5-jar-with-dependencies.jar --mysql --dbName=mydb --dbServer=127.0.0.1 --dbUser=root --r2rml=r2rml.ttl > result.ttl
备注
Remarks
-
cli-0.5-jar-with-dependencies.jar
— 命令行jar 。
最好使用0.5版,您将收到前缀不能
cli-0.5-jar-with-dependencies.jar
— command-line jar.
Version 0.5 is preferable, you will recieve "Prefix cannot be null" in the latter ones.
结论
Conclusion
使用XQuery进行中间翻译,速度非常慢。
Intermediate translation into XQuery is used, very slow.
ONTOP
Ontop是一个流行的Protégé插件,但也可以作为一组命令行实用程序使用。
Ontop is a popular Protégé plugin, but also available as a set of command line utilities.
语法示例
Syntax example
ontop materialize --url "jdbc:mysql://localhost:3306/mydb" --mapping "../r2rml.ttl" --username root --password "65536" --driver-class com.mysql.jdbc.Driver --disable-reasoning --format turtle --output result.ttl
备注
Remarks
- 在MySQL中,您必须设置
SET GLOBAL SQL_MODE-ANSI_QUOTES ;
- In MySQL, you have to set
SET GLOBAL SQL_MODE-ANSI_QUOTES;
结论
Conclusion
Ontop是为处理本体而设计的,并生成许多本体垃圾,例如 ... rdf:type owl:namedIndividual
。
Ontop was designed for working with ontologies and generates many ontological garbage like ... rdf:type owl:namedIndividual
.
Ontop尝试从 rr:sqlQuery
解析并重写一个SQL查询,不了解许多SQL构造,老实说建议您在关系数据库中创建适当的SQL视图。
Ontop tries to parse and rewrite an SQL query from rr:sqlQuery
, does not understand many SQL constructs and honestly suggests you to create appropriate SQL view in your relational database.
R2RML支持为部分。 Ontop R2RML手册。真快。
R2RML support is partial. Ontop R2RML manual. Really fast.
RDB2RDF :: R2RML
我无法安装此程序Perl模块:CPAN上没有很多依赖项。
I haven't been able to install this Perl module: there are many dependencies that are absent on CPAN.
D2RQ
D2RQ是一个全栈解决方案,但是可以从D2RQ发行版中提取独立工具。
D2RQ is a full-stack solution, however one can extract standalone tool from the D2RQ distribution.
R2RML在预览版本。
D2RQ提供了自己的映射语言(顺便说一句,
D2RQ provides its own mapping language (by the way, as well as Ontop).
结论
Conclusion
我记得,D2RQ将您的SQL查询从 rr:sqlQuery
分为许多原子查询,并一一提取数据库记录,这确实很慢。
As well as I remember, D2RQ divides your SQL query from rr:sqlQuery
into many "atomic" queries and extracts database records one by one, which is really slow.
结论
我个人的选择是Ontop。
My personal choice is Ontop.
另请参见:
- RDB2RDF Implementation Report
- A survey of RDB to RDF translation approaches and tools
这篇关于RDB2RDF工具的优缺点是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!