RDB2RDF工具的优缺点是什么?

raw*_* az -1 rdf etl semantic-web sparql r2rml

我需要知道RDB2RDF工具之间的区别。谁能告诉我RDB2RDF工具的优缺点是什么?特别适用于以下几种:Virtuoso,Ultrawrap,Ontop,Morph,Xsparql,D2RQ等。

Sta*_*lin 6

将关系数据转换为RDF的W3C标准化方法有两种:

  1. 直接映射 -不可自定义的默认映射。直接映射适用于对关系数据进行规范化,有主键,外键等的情况。
  2. R2RML —可定制的映射。

在下面的调查中,我仅考虑R2RML实现。

这里列出了许多R2RML实现。我不考虑以下工具:

  • 死,
  • 付费的
  • 需要编程
  • 全栈(即声称可以替换您已经使用的所有软件),
  • 仅在包装器模式下工作,而不在ETL模式下工作。

XSPARQL

语法示例

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
Run Code Online (Sandbox Code Playgroud)

备注

  • cli-0.5-jar-with-dependencies.jar命令行jar
    最好使用0.5版,后面的版本中您会收到“前缀不能为空”。

结论

使用中间翻译到XQuery中,非常慢。

在上面

Ontop是一个流行的Protégé插件,但也可以作为一组命令行实用程序使用。

语法示例

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
Run Code Online (Sandbox Code Playgroud)

备注

  • 在MySQL中,您必须设置 SET GLOBAL SQL_MODE-ANSI_QUOTES;

结论

Ontop是为处理本体而设计的,并生成许多本体垃圾,例如... rdf:type owl:namedIndividual

Ontop尝试从中解析和重写SQL查询rr:sqlQuery,但他不了解许多SQL构造,并且诚实地建议您在关系数据库中创建适当的SQL视图。

R2RML支持是部分的Ontop R2RML手册。真快。

RDB2RDF :: R2RML

我还无法安装此Perl模块:CPAN上缺少许多依赖项。

D2RQ

D2RQ是一种全栈解决方案,但是可以从D2RQ发行版中提取独立工具。

R2RML仅在预览版中受支持。

D2RQ提供了自己的映射语言(顺便说一下,还有Ontop)。

结论

就像我记得的那样,D2RQ将您的SQL查询从rr:sqlQuery许多“原子”查询中分离出来,并一一提取数据库记录,这确实很慢。

D2RQ R2RML手册

结论

我个人的选择是Ontop。

也可以看看: