1

开始阅读 R2RML 我想知道这种语言是否也适合将遵循实体-属性-值模型的数据库表映射到RDF,以及一个简单示例的外观。

对 RDB 到 RDF 转换方法和工具的调查提到了“1 表到 n 类”功能,如下所示:

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

4

1 回答 1

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

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

于 2016-06-15T17:18:11.653 回答