RDB2RDF 工具的优缺点是什么? [关闭]

2023-12-12

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


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

  1. 直接映射— 不可定制的默认映射。直接映射适用于关系数据标准化良好、有主键、外键等的情况。
  2. R2RML— 可定制的映射。

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

许多 R2RML 实现是此处列出。我不考虑以下工具:

  • dead,
  • paid,
  • 需要编程,
  • 全栈(即声称替换您已经使用的所有软件),
  • 仅在包装器模式下工作,not在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

Remarks

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

结论

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

ONTOP

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

Remarks

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

结论

Ontop 设计用于处理本体,并生成许多本体垃圾,例如... rdf:type owl:namedIndividual.

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

R2RML 支持是partial. Ontop R2RML 手册。真的很快。

RDB2RDF::R2RML

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

D2RQ

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

R2RML 支持预览版 only.

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

结论

据我所知,D2RQ 将您的 SQL 查询从rr:sqlQuery分成许多“原子”查询并一一提取数据库记录,这确实很慢。

D2RQ R2RML 手册.

结论

我个人的选择是“On Top”。

也可以看看:

  • RDB2RDF实施报告
  • RDB 到 RDF 翻译的调查 方法和工具
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RDB2RDF 工具的优缺点是什么? [关闭] 的相关文章

  • 如何推断两个人之间的财产是兄弟

    我需要推断一个人是另一个人的兄弟 如果他们有同一个父亲 所以 如果我有这个 巴特有父亲荷马 丽莎有父亲荷马 Because Bart and Lisa有同一个父亲 我想推断 丽莎有弟弟巴特 有没有什么方法可以利用任何属性特征来做到这一点 使
  • Pentaho Spoon 工具转换顺序

    我正在尝试设计一个 ETL 结构 但我陷入了以下步骤 正如你所看到的 我有 3 个步骤 每个步骤都有一个FK上一步的值 例如TABLE3有一个列外键约束这表明PK值在TABLE2 and TABLE2与 具有相同的关系TABLE1 问题是
  • 从事务性平面数据库填充事实表和维度表的最佳实践

    我想在 SSIS SSAS 中填充星型模式 多维数据集 我准备了所有维度表和事实表 主键等 源是一个 平面 项目级别 表 我现在的问题是如何拆分它 并将其从一个放入相应的表中 我做了一些谷歌搜索 但找不到令人满意的解决方案 人们会认为这是
  • W3C 验证器无法处理 RDF/XML

    我正在尝试描述一个非常基本的地铁火车站地图 其中包含站点和时间 这个 RDF 到 Turtle 转换器 http rdf translator appspot com 可以解析我的 XML 但 W3C 验证器抛出 Error Your do
  • RDF、RDFa、微格式和微数据之间有什么关系

    我已经做了很多研究 但我无法理解这 3 者之间的确切关系 另外 既然 W3C 已经正式认可 RDFa 考虑到它与 Microdata 的功能等相匹配 您会推荐它而不是 Microdata 吗 我无法想象你会发现什么如此令人困惑讽刺 gt 编
  • 使用 SPARQL 提取 dbpedia 实体的层次结构

    我正在尝试使用以下方法提取 DBpedia 资源的 Wikipedia 类别或 Yago 分类的层次结构SPARQL端点 http dbpedia org sparql 例如 我想以实体的分层形式找出所有可能的类别和类 例如 http db
  • 如何在 SSIS 变量中存储“完全限定”和“仅名称”文件名

    我有一个 SSIS 包 其中有一个 Foreach 循环容器 加载静态文件夹中的所有 txt 文件 我将完全限定的文件名作为在连接字符串中使用的变量传递 我现在只需将文件名传递给一个变量以用于执行存储过程 问题是如果我将 Foreach 循
  • 如何使用 RDFLib 解析大数据集?

    我正在尝试使用 RDFLib 3 0 解析几个大图 显然它处理第一个图并在第二个图上死掉 MemoryError 看起来 MySQL 不再支持作为存储 您能建议一种以某种方式解析这些图的方法吗 Traceback most recent c
  • 如何返回从起始资源到指定路径深度的所有 S->P->O 三元组?

    我的目标是以图形方式表示指定资源的深度两条边内的 S gt P gt O 关系 p Person 1 我希望从查询中返回该路径长度内的所有关系 s p o在我的图形应用程序中进行进一步处理 我尝试了下面的第一个查询 它给了我第一组 s p
  • 在SSIS中导入已合并单元格的Excel

    我的问题是在读取合并 组合列单元格的 Excel 文件时 例如 将下面的excel数据读取到数据库中 Excel 输入 ID NAME DEPT FNAME LNAME 1 Akil Tiwari IT 2 Vinod Rathore IT
  • Jena tdb 中的事务发生错误?

    我正在尝试将属性写入模型 然后查询它 我的代码的这一部分 String directory EMAILADDRESS create the dataset for the tdb store Dataset ds TDBFactory cr
  • djangonic 处理 rdf 的方法?

    我正在寻找 django 的 RDF 项目 但找不到任何活动的项目 这似乎是一个不错的http code google com p django rdf http code google com p django rdf 但最后一次提交是在
  • 对同一属性的 SPARQL 结果进行分组?

    我有以下 SPARQL 查询 PREFIX rdfs
  • 如何验证 SPARQL 中的日期时间对象? (Virtuoso 22007 错误 DT006)

    我收到以下错误 Virtuoso 22007 Error DT006 Cannot convert 0359 to datetime Incorrect month field length SPARQL query define sql
  • 在 SPARQL 中计算满足约束的值,并为不满足约束的值返回 0

    我想使用 SPARQL 查询检测满足属性值条件的所有值 例如 假设我想检测其中值的所有资源rdfs label有类型xsd string 逻辑上的定义可以是 x 字符串标签 x y rdfs 标签 x y xsd 字符串 y 我找到了一种在
  • 如何使用 ssis 2008 循环遍历 Excel 文件并获取工作表名称

    我正在尝试将 Excel 文件中的数据加载到 SQL 数据库表中 该文件的工作表名称不是静态的 工作表名称包含 yyyymmdd 它会随每个文件而变化 我按照提供的解决方案进行操作如何使用 SSIS 包循环遍历 Excel 文件并将其加载到
  • Talend 和 Apache Spark?

    我对 Talend 和 Apache Spark 在大数据生态系统中的定位感到困惑 因为 Apache Spark 和 Talend 都可以用于 ETL 有人可以用一个例子解释一下吗 Talend 是一种基于工具的大数据方法 通过内置组件支
  • 使用 sparql 将 rdf 有序列表从一个图移动到另一个图

    我在 Fuseki 数据集中的 rdf 知识图中有一个列表 我可以用类似的方法获取列表的元素 select webpage where graph
  • 使用 SPARQL 查询的 UNION 和交集

    我正在将用户定义的查询转换为 SPARQL 例如 当用户说 abc 时 这意味着给我给定类型的所有具有名为 abc 属性的节点 作为其扩展 如果用户说 abc 或 pqr 和 lmn 我需要查找给定类型的某些属性为 abc 或 pqr 和
  • 使用 Jena 查询维基数据

    目前 Wikidata 有一个 SPARQL 端点 https query wikidata org https query wikidata org 我想使用 Jena 3 0 1 查询此网站 我使用以下代码 但收到错误消息 端点返回的

随机推荐

  • 使用 jquery/javascript 将数据从 html 表单保存到文本文件

    我正在尝试为我的网站创建一个评论选项卡并插入一个 HTML 表单 到目前为止 我的表单和评论选项卡已准备就绪 我想创建一个文本文档来存储 HTML 表单输入 我找不到合适的方法来做到这一点 比如 C fstream 我找到了一些使用 PHP
  • 如何将用户添加到 Facebook 自定义受众

    我正在尝试使用以下代码将用户添加到自定义受众 audience new CustomAudience custom audience id audience gt addUsers array trim mailAddress Custom
  • 可靠地查找使用 URLClassLoader 加载的类上的注释

    我有一个代码生成器 它使用 URLClassLoader 在指定路径上加载类 扫描它们的注释 然后在字段 方法上使用反射 生成 DTO 在测试应用程序中效果很好 当我将其放入 Maven MOJO 中时 我突然无法看到类上的 javax p
  • Cucumber如何查找某个功能文件是否已执行?有什么Java方法吗?

    Before public void quit if tagged scenario failed Scenario scenario if isTagged scenario prevScenarioFailed throw new Il
  • 如何从 Google Maps API 获取驾驶时间?

    我使用以下函数来估计行驶一定距离的时间 以小时为单位 假设平均速度为 65 km h distHoras lt function origin destination xml url lt paste0 http maps googleap
  • C 中的类型冲突,为什么?

    我正在尝试使用 C 语言编写基本实践 使用二进制和十六进制 我制作了一个打印 2 的倍数 2 的幂 的方法和一个单独的方法来打印 2 的倍数的十六进制形式 include
  • 如何在字符串比较中忽略 UTF-8 字节顺序标记?

    我在使用 Visual Studio 2010 比较 C 4 0 单元测试中的字符串时遇到问题 相同的测试用例在 Visual Studio 2008 使用 C 3 5 中可以正常工作 这是相关的代码片段 byte rawData GetD
  • 在空闲状态下无法访问 RichTextControl 或 IME 将无法工作

    当读一些RichTextControl里面的属性Application Idle有些输入法无法使用 鉴于这个简单的代码 richTextControl new RichTextControl Application Idle delegat
  • 使用 javascript 检查服务器上是否存在 html 文件

    我的 ASPX 代码生成了一些 html 文件 我只是在其中放置了分页链接 例如 a href 1 html First a nbsp nbsp a href 3 html Next a nbsp nbsp a href 1 html Pr
  • 使用 mxGetPr 与 mxGetData

    我正在尝试编写一个简单的 mex 函数 我有一个整数输入 它是我的对象的数量 当我编译时myMEX 1 cpp并通过 MATLAB 使用任何输入值调用它 我总是得到 请求的对象数量 0 But the myMEX 2 cpp工作正常并显示从
  • MySQL/PDO 截断数据

    book是一个7kb的字符串 如果使用 PHP PDO 执行此查询exec the monograph列 LONGTEXT 数据在 6765 个字符处被截断 echo strlen book output 7157 db gt exec U
  • 使用 C 检查是否安装了服务

    我正在编写一个创建 Windows 服务的 C 应用程序 我想在尝试调用安装函数之前检查该服务是否已安装 但我无法找到如何检查它 我已经编写了上面的代码来尝试 DWORD InstallMyService char strDir 1024
  • MonoTouch.Dialog:设置 EntryElement 的条目对齐方式

    使用EntryElement按原样输入数据会导致输入的数据在中间对齐 如何指定条目在 iPad 上右对齐 例如 你有没有尝试过覆盖CreateTextField on EntryElement 这应该可以让您完全控制如何创建UITextFi
  • 从字符串数组填充列表视图

    我有一个 ListView 我通过它来填充它String tutorialTitle1 getResources getString R string tutorial1 title 但为了我的应用程序的目的和功能 我别无选择 只能使用St
  • 将道具从子级传递给父级反应导航

    我在用react navigation 我正在路过propsfrom a react native component to the modal from react navigation用水龙头打开 export default clas
  • 使用 woocommerce 短代码在自定义页面上添加“排序依据”下拉列表

    我使用 woocommerce 短代码为产品类别创建了一个自定义页面 目前 它非常稀疏 因为我才刚刚开始使用新网站 我只需要添加默认的 排序依据 下拉元素 但不知道该怎么做 我在这里找到了一些代码 gt gt Woocommerce 基于短
  • SQLite 返回错误代码 14

    我正在尝试从资产文件夹中复制现有数据库并对其执行一些操作 一切工作正常 但我的模拟器的日志文件中出现以下错误 sqlite returned error code 14 msg cannot open file at source line
  • 计算卷积层的输出大小[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 如何计算卷积层的输出大小 例如 我有一个 2D 卷积层 它采用 3x128x128 输入并具有 40 个大小为 5x5 的滤波器 你可以使用这个公式 W K 2P S 1 W 是输入
  • 如何使用 ASP.NET 查找用户的地理位置?

    如何在 ASP NET 应用程序中获取用户的 GEO 位置 我注意到在 Firefox 和 Google Chrome 等浏览器上 系统会提示我 作为用户 是否允许该网站访问我的位置 我怎样才能实现类似的事情 当网站使用地理定位API 它全
  • RDB2RDF 工具的优缺点是什么? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我需要知道 RDB2RDF 工具之间的区别 谁能告诉我 RDB2RDF 工具的优点和缺点是什么 特别是对于以下 Virtuoso Ultrawrap Ontop Morph Xs