RDB2RDF工具的优缺点是什么? [英] What are the pros and cons of RDB2RDF tools?

查看:381
本文介绍了RDB2RDF工具的优缺点是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要了解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:


  1. 直接映射-不可自定义的默认映射。当关系数据已被很好地规范化,有主键,外键等时,直接映射是合适的。

  2. R2RML —可定制的映射。

  1. Direct Mapping — non-customizable default mapping. Direct Mapping is suitable when relational data is well normalized, there are primary keys, foreign keys etc.
  2. 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.

D2RQ R2RML手册

结论

我个人的选择是Ontop。

My personal choice is Ontop.

另请参见:

这篇关于RDB2RDF工具的优缺点是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆