【发布时间】:2016-04-22 16:25:02
【问题描述】:
我有一个数据库表,我正在将数据更改为 RDF。
到目前为止,我能够做到一对一,其中具有主键的行具有来自该行中的列的值,如下所示:
map:Artist a d2rq:ClassMap;
d2rq:dataStorage map:database;
d2rq:class to:Artist;
d2rq:uriPattern "to:Artist/@@M3.ARTIST.ARTIST_ID@@";
.
map:ArtistName a d2rq:PropertyBridge;
d2rq:belongsToClassMap map:Artist;
d2rq:property to:hasName;
d2rq:column "M3.ARTIST.ARTIST_NAME";
d2rq:datatype xsd:string;
.
这里每个 Artist_ID 都将是三元组的主题,并且会有一个名为 hasName 的属性,其值来自 ARTIST_NAME 列
到目前为止一切都很好,现在我有一张很多像这样的桌子:
艺术家(表)专辑(表)艺术家专辑(表)
artistalbum 对 Album 和 Artist 都有一个外键
请问如何在 r2rq 中做到这一点?
【问题讨论】:
-
取自文档:“如果用于创建文字值或对象的列不是来自包含 ClassMap 列的数据库表,则必须使用一个将表连接在一起或更多 d2rq:join 属性"
-
@AKSW 是的,我看到了,他们有一个关于一对多或一对一的例子,但我不知道如何用多对多做到这一点,我该如何告诉他们如果我没有类映射表是哪个表?
-
您应该看看 R2RML,它是用于将关系数据映射到 RDF 的 W3C 标准。
-
@JuanSequeda 问题是关于如何使用 D2RQ 来实现(实现)R2RML 映射,所以我的问题是技术问题
标签: sparql semantic-web owl ontology r2rml