【问题标题】:Is R2RML suitable for EAV tables?R2RML 是否适用于 EAV 表?
【发布时间】:2015-09-30 05:48:10
【问题描述】:

开始阅读 R2RML 我想知道这种语言是否也适合将遵循 entity-attribute-value 模型的数据库表映射到 RDF 以及如何简单示例看起来像。

A survey of RDB to RDF translation approaches and tools 指的是“1表到n类”功能,如下所示:

能够使用列的值作为分类模式:表的元组将根据该属性的值转换为不同本体类的实例。此功能可以看作是“选择条件”功能的扩展,因为它不仅会过滤掉行,而且过滤器有助于选择行 被转换成一个或另一个类的实例。

【问题讨论】:

  • 您是否不只为您的 EAV 数据使用 RDF 存储。你还需要你的 EAV 表吗?
  • @NatanCox 确实,我会考虑在一个新建项目中这样做,但在我的情况下,EAV 表已经存在并用于数据输入端。

标签: rdf entity-attribute-value r2rml


【解决方案1】:

一个简单的映射可能如下所示:

[
  rr:logicalTable [ rr:tableName "eav_table" ] ;
  rr:subjectMap [ rr:template "http://example.com/ontology.rdf#Entity/{entity_column}/" ] ;
  rr:predicateObjectMap [
    rr:predicateMap [
      rr:template "http://example.com/ontology.rdf#{attribute_column}"
    ] ;
    rr:objectMap [
      rr:template "http://example.com/ontology.rdf#Value/{value_column}/"
    ]
  ]
] .

如果需要更复杂的 SQL 语句,可以使用 rr:sqlQuery 而不是 rr:tableName

  rr:logicalTable [
    rr:sqlQuery "SELECT entity_column, attribute_column, value_column FROM eav_table;"
  ] ;

对于可用属性的集合,对应的谓词可以通过额外的映射来进一步表征。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-09
    • 2015-07-13
    • 2012-02-26
    • 1970-01-01
    • 2011-02-23
    • 2019-02-10
    • 2016-06-28
    相关资源
    最近更新 更多