RDB2RDF工具有哪些优缺点?
我需要知道RDB2RDF工具之间的区别。 有谁能告诉我RDB2RDF工具有哪些优缺点?尤其是以下物质:炫技,Ultrawrap,ontop的,变形,Xsparql,D2RQ,....
RDB2RDF工具有哪些优缺点?
有两个W3C标准化的方式将关系数据转换为RDF:
- Direct Mapping - 非 - 可定制的默认映射。直接映射适用于关系数据标准化良好,有主键,外键等。
- R2RML - 可自定义的映射。
在下面的调查中,我只考虑R2RML实现。
许多R2RML实现是listed here。 (请注意,该页面上次更新时间为2012-07-19,不再可编辑 - 编者按)。我不认为工具分别是:
- 死,
- 支付,
- 需要编程,
- 全堆(即假装更换所有你已经在使用的软件),
- 工作仅在包装模式下,在ETL模式下为not。
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
备注
-
cli-0.5-jar-with-dependencies.jar
- command-line jar。
版本0.5是更可取的,您将始终在后面的章节中收到“前缀不能为空”。
结论
中级翻译成XQuery的使用,速度很慢。
ontop的
ontop的是一种流行的门徒新插件,但also available作为一组的命令行实用程序。
语法例如
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
备注
- 在MySQL中,你必须设置
SET GLOBAL SQL_MODE-ANSI_QUOTES;
结论
ontop的设计与本体工作并生成一种... rdf:type owl:namedIndividual
的许多本体论的垃圾。
Ontop尝试解析并重写来自rr:sqlQuery
的SQL查询,并不理解许多SQL构造,并且诚实地建议您在关系数据库中创建适当的SQL视图。
R2RML支持是partial。 Ontop R2RML manual。
真快。
RDB2RDF :: R2RML
我一直无法安装此Perl模块,:有很多的依赖是在CPAN缺席。
D2RQ
D2RQ是一个全栈解决方案,但是人们可以提取从D2RQ分配独立的工具。
R2RML仅在preview version中受支持。
D2RQ提供了自己的映射语言(顺便说一下,以及Ontop)。
结论
除了我记得,D2RQ分从rr:sqlQuery
您的SQL查询到许多“原子”的请求,并提取数据库记录一个接一个,这实在是太慢了。
结论
R2RML不允许摆脱低质量的关系型数据质量好RDF数据。我们必须使用DELETE/INSERT
SPARQL查询进行细化,即使用ELT方法而不是ETL方法。但如果关系数据是好的,那么直接映射就足够了...
我个人的选择是Ontop。顺便说一下,Ontop用于this Wikidata-related project。
另请参阅RDB2RDF Implementation Report作一些比较。
此外,您可能对RML感兴趣。
感谢您的好评,请您提供更多关于Virtuoso和Ultrawrap缺点的信息 –
@rawanaz,不幸的是,我还没有试过这些软件(至少在Virtuoso的情况下是这种能力)。但是Virtuoso和Ultrawrap的开发人员都在Stackoverflow上。 –
Ultrawrap是一款支持W3C RDB2RDF标准的商业产品。如果您有兴趣了解更多关于Ultrawrap的信息,可以直接联系Capsenta。 –
我还没有想过这是严格的@Stanislav Kralin,或定义我所期望的性能,高雅,表现力方面,等
越来越多的triplestores的提供自己在关系数据和语义三元组之间桥接。我特别想到Stardog和GraphDB。我相信Stardog(和Virtuoso的?)解决方案实际上并没有具体抛弃三倍。而是他们创建一个或多个表的虚拟语义视图。
D2R是我使用的第一个实例化器。我很惊讶@Stanislav Kralin将它包括在内,因为它有点死了(或者没有保留),它确实需要编程(或者用声明性语言写出语句)。我不知道R2RML预览...我必须检查一下,因为我担心使用他们的专有语言。
我相信我的一些学术同事使用参考R2RML解析器。
我一直很满意Karma from ISI。实例化表格/关系数据是我研究的重要部分,而且我肯定发现了一些难以实现的边界案例,例如链接多个单例实例。
- 该文档是好
- 安装方便
- 有一个漂亮的网页图形用户界面,再加上一个命令行批量转换脚本
噶并不只使用纯R2RML:
- 他们使用R2RML
- 使用JSON的工作表至少一个三
- 的对象与Python数据转换的JSON
- 使用JSON的工作表至少一个三
使用R2RML或专有语言(最初在R2RML标准化之前实施),Virtuoso的“链接数据视图”可以从RDB复制到RDF球体。开源版本只能将本地RDB数据作为RDF进行公开/转换; Commercial Edition还可以公开/转换任何远程ODBC可访问的RDB数据。 Virtuoso 8现在正在测试中,对此功能进行了重大改进。 (ObDisclaimer:OpenLink Software生产Virtuoso并雇佣我) – TallTed
@TallTed,会不会有Virtuoso 8的开源版本?如果是这样,你大概知道什么时候? –
将会有一个VOS 8.这个时机尚未设定。 – TallTed
#1不是工具比较的平台!如果您需要比较,请阅读调查问卷 – AKSW
我需要从专家那里获得意见和真实案例以及正在尝试使用这些工具。如果您不知道,请不要发表评论 –
@rawanaz,AKSW是正确的:您的问题应该[标记](https://i.stack.imgur.com/qL9QI.png)。然而,现在是夏天,学生们正在度假,但我们需要有趣的问题......因此,要有礼貌:)。附: AKSW绝对是这个领域的专家。 –