R2RML适用于EAV表吗?

时间:2015-07-11 14:47:44

标签: rdf entity-attribute-value r2rml

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

A survey of RDB to RDF translation approaches and tools指的是" 1表到n个类"功能如下:

  

能够使用列的值作为分类模式:表的元组将根据此属性的值转换为不同本体类的实例。此功能可视为"选择条件的扩展"功能,因为它不仅导致过滤行,但过滤器有助于选择行   被转换成一个或另一个类的实例。

1 个答案:

答案 0 :(得分:0)

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

[
  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;"
  ] ;

对于可用属性集,可以通过附加映射进一步表征相应的谓词。