使用D2RQ将数据库转换为RDF

使用D2RQ将数据库转换为RDF,rdf,marklogic,Rdf,Marklogic,使用Oracle数据库作为源,如何将该数据库中的数据转换为RDF三元组以用于MarkLogic?首先需要的是词汇表,它基本上由本体(模式)决定。因此,首先修复本体,然后将基于oracle的数据行转换为相关本体的资源(个体) 一旦词汇表得到修复,您可以使用各种可用的转换器,如: 谷歌精炼 如果你在谈论MarkLogic,你不一定需要词汇表。主键作为主键,列名作为谓词,单元格值作为对象。可以在MarkLogic中将其作为三元组插入。它将为您提供一个可以查询的图形 不过,将列转换为更合理的谓词可能

使用Oracle数据库作为源,如何将该数据库中的数据转换为RDF三元组以用于MarkLogic?

首先需要的是词汇表,它基本上由本体(模式)决定。因此,首先修复本体,然后将基于oracle的数据行转换为相关本体的资源(个体)

一旦词汇表得到修复,您可以使用各种可用的转换器,如:

  • 谷歌精炼

如果你在谈论MarkLogic,你不一定需要词汇表。主键作为主键,列名作为谓词,单元格值作为对象。可以在MarkLogic中将其作为三元组插入。它将为您提供一个可以查询的图形

不过,将列转换为更合理的谓词可能很有用,而且您可能希望添加rdf:type之类的内容,以及子类化,但这些都不是严格必需的。MarkLogic可以不这样做。您还可以使用推断来别名和/或缩短某些路径,以便有效地构建您正在寻找的本体

通过对表结构的智能内省,您甚至可以动态扫描数据库模型,并构建通用转换


但是我该怎么做呢?我的意思是从表中取出主谓词和宾语?我需要将数据库转换为xml吗?然后上传到marklogic?您可以通过某种方式从表中生成RDF(选择任何格式),并使用MLCP加载,但也可以将MLSAM放在中间,从marklogic内部对外部数据库运行SQL,并迭代结果以转换为三元组,我使用mySql数据库作为我的数据源,在markLogic中创建了一个搜索应用程序,我将每个表的每一行转换为一个xml文件,然后使用MLCP将所有文件上传到markLogic搜索应用程序,现在我想尝试SPARQL,那么我如何继续?我需要使用在线转换器将XML转换为三元组吗?或者如何,请建议。如果需要,我可以共享xml的。谢谢Hanks Haroon,你能告诉我该如何使用词汇表吗?我从来没用过MarkLogic。我刚刚为您提供了RDF转换的一般方法。正如grtjn指出的,您可以不使用本体论。我所说的词汇是指主语、谓语和宾语。对于所有这些,您可以使用grtjn提到的过程。