Mapping 演奏家R2RML rr:IRI生成
我在Virtuoso中生成Mapping 演奏家R2RML rr:IRI生成,mapping,rdf,virtuoso,r2rml,Mapping,Rdf,Virtuoso,R2rml,我在Virtuoso中生成rr:termTyperr:IRI时遇到问题。我不知道我是否做错了,但我遵循了W3C规范 我的映射看起来像这样。当我用CONSTRUCT语句生成三元组时,我仍然会得到“URL”,但不是IRI=>(OWNER\u LINK和BRAND\u LINK列)。这是不是一些名家不支持的东西,或者我的编码方式不对 DB.DBA.TTLP ( ' @prefix rr: <http://www.w3.org/ns/r2rml#>
rr:termType
rr:IRI
时遇到问题。我不知道我是否做错了,但我遵循了W3C规范
我的映射看起来像这样。当我用CONSTRUCT
语句生成三元组时,我仍然会得到“URL”
,但不是IRI=>
(OWNER\u LINK
和BRAND\u LINK
列)。这是不是一些名家不支持的东西,或者我的编码方式不对
DB.DBA.TTLP
( '
@prefix rr: <http://www.w3.org/ns/r2rml#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix gr: <http://purl.org/goodrelations/v1#> .
@prefix s: <http://schema.org/> .
@prefix pod: <http://linked.opendata.cz/ontology/product-open-data.org#> .
<#TriplesMap3>
a rr:TriplesMap ;
rr:logicalTable
[
rr:tableSchema "POD" ;
rr:tableOwner "DBA" ;
rr:tableName "BRAND_OWNER_BSIN"
];
rr:subjectMap
[
rr:template "http://linked.opendata.cz/resource/brand-owner-bsin/{BSIN}" ;
rr:class gr:BusinessEntity ;
rr:graph <http://linked.opendata.cz/resource/dataset/product-open-data.org/2014-01-01>
];
rr:predicateObjectMap
[
rr:predicate gr:hasBrand ;
rr:objectMap
[
rr:parentTriplesMap <#TriplesMap4> ;
rr:joinCondition
[
rr:child "OWNER_CD" ;
rr:parent "OWNER_CD" ;
]; ]; ];
.
<#TriplesMap4>
a rr:TriplesMap ;
rr:logicalTable
[
rr:tableSchema "POD" ;
rr:tableOwner "DBA" ;
rr:tableName "BRAND_OWNER"
];
rr:subjectMap
[
rr:template "http://linked.opendata.cz/resource/brand-owner/{OWNER_CD}" ;
rr:class gr:BusinessEntity ;
rr:graph <http://linked.opendata.cz/resource/dataset/product-open-data.org/2014-01-01>
];
rr:predicateObjectMap
[
rr:predicate gr:legalName ;
rr:objectMap
[ rr:column "OWNER_NM" ];
];
rr:predicateObjectMap
[
rr:predicate s:url ;
rr:objectMap
[
rr:termType rr:IRI ;
rr:column {OWNER_LINK} ;
]; ];
rr:predicateObjectMap
[
rr:predicate gr:hasBrand ;
rr:objectMap
[
rr:parentTriplesMap <#TriplesMap3> ;
rr:joinCondition
[
rr:child "OWNER_CD" ;
rr:parent "OWNER_CD" ;
]; ]; ];
.
<#TriplesMap2>
a rr:TriplesMap;
rr:logicalTable
[
rr:tableSchema "POD";
rr:tableOwner "DBA";
rr:tableName "BRAND_TYPE"
];
rr:subjectMap
[
rr:template "http://linked.opendata.cz/resource/brand-type/{BRAND_TYPE_CD}" ;
rr:class gr:BusinessEntityType ;
rr:graph <http://linked.opendata.cz/resource/dataset/product-open-data.org/2014-01-01>
];
rr:predicateObjectMap
[
rr:predicate gr:name ;
rr:objectMap
[ rr:column "BRAND_TYPE_NM" ];
];
.
<#TriplesMap1>
a rr:TriplesMap;
rr:logicalTable
[
rr:tableSchema "POD" ;
rr:tableOwner "DBA" ;
rr:tableName "BRAND"
];
rr:subjectMap
[
rr:template "http://linked.opendata.cz/resource/brand/{BSIN}" ;
rr:class gr:Brand ;
rr:graph <http://linked.opendata.cz/resource/dataset/product-open-data.org/2014-01-01>
];
rr:predicateObjectMap
[
rr:predicate pod:bsin ;
rr:objectMap [ rr:column "BSIN" ] ;
];
rr:predicateObjectMap
[
rr:predicate gr:name ;
rr:objectMap [ rr:column "BRAND_NM" ] ;
];
rr:predicateObjectMap
[
rr:predicate s:url ;
rr:objectMap
[
rr:termType rr:IRI ;
rr:column "BRAND_LINK" ;
]; ];
rr:predicateObjectMap
[
rr:predicate gr:BusinessEntityType ;
rr:objectMap
[
rr:parentTriplesMap <#TriplesMap2> ;
rr:joinCondition
[
rr:child "BRAND_TYPE_CD" ;
rr:parent "BRAND_TYPE_CD" ;
]; ]; ];
.
',
'http://product-open-data.org/temp',
'http://product-open-data.org/temp'
);
exec ( 'sparql ' || DB.DBA.R2RML_MAKE_QM_FROM_G ('http://product-open-data.org/temp') );
DB.DBA.TTLP
( '
@前缀rr:。
@前缀foaf:。
@前缀gr:。
@前缀s:。
@前缀pod:。
a rr:triplemap;
rr:可逻辑
[
rr:表模式“POD”;
rr:表格所有者“DBA”;
rr:tableName“品牌所有者”
];
主题图
[
rr:模板“http://linked.opendata.cz/resource/brand-owner-bsin/{BSIN}”;
rr:类别gr:业务实体;
rr:图形
];
rr:谓词对象映射
[
rr:谓词gr:hasBrand;
rr:objectMap
[
rr:ParentTripleMap;
rr:连接条件
[
rr:子“所有者”光盘;
rr:父“所有者”光盘;
]; ]; ];
.
a rr:triplemap;
rr:可逻辑
[
rr:表模式“POD”;
rr:表格所有者“DBA”;
rr:表名“品牌所有者”
];
主题图
[
rr:模板“http://linked.opendata.cz/resource/brand-owner/{OWNER_CD}”;
rr:类别gr:业务实体;
rr:图形
];
rr:谓词对象映射
[
rr:谓词gr:legalName;
rr:objectMap
[rr:OWNER_NM列];
];
rr:谓词对象映射
[
rr:谓词s:url;
rr:objectMap
[
rr:术语类型rr:IRI;
rr:列{OWNER_LINK};
]; ];
rr:谓词对象映射
[
rr:谓词gr:hasBrand;
rr:objectMap
[
rr:ParentTripleMap;
rr:连接条件
[
rr:子“所有者”光盘;
rr:父“所有者”光盘;
]; ]; ];
.
a rr:triplemap;
rr:可逻辑
[
rr:表模式“POD”;
rr:表格所有者“DBA”;
rr:tableName“品牌类型”
];
主题图
[
rr:模板“http://linked.opendata.cz/resource/brand-type/{BRAND_TYPE_CD}”;
rr:class gr:BusinessEntityType;
rr:图形
];
rr:谓词对象映射
[
rr:谓词gr:name;
rr:objectMap
[rr:BRAND_TYPE_NM”栏];
];
.
a rr:triplemap;
rr:可逻辑
[
rr:表模式“POD”;
rr:表格所有者“DBA”;
rr:表格名称“品牌”
];
主题图
[
rr:模板“http://linked.opendata.cz/resource/brand/{BSIN}”;
rr:类别gr:品牌;
rr:图形
];
rr:谓词对象映射
[
rr:谓词pod:bsin;
rr:objectMap[rr:列“BSIN”];
];
rr:谓词对象映射
[
rr:谓词gr:name;
rr:objectMap[rr:BRAND_NM”列];
];
rr:谓词对象映射
[
rr:谓词s:url;
rr:objectMap
[
rr:术语类型rr:IRI;
rr:“品牌链接”栏;
]; ];
rr:谓词对象映射
[
rr:谓词gr:BusinessEntityType;
rr:objectMap
[
rr:ParentTripleMap;
rr:连接条件
[
rr:儿童“品牌类型”CD;
rr:母公司“品牌类型”CD;
]; ]; ];
.
',
'http://product-open-data.org/temp',
'http://product-open-data.org/temp'
);
exec('sparql'| | DB.DBA.R2RML_MAKE_QM_FROM_G('http://product-open-data.org/temp') );
要澄清-您是说R2RML映射正在成功加载,但在运行SPARQL构造
查询时,rr:termType rr:IRI
映射未显示在结果集中
,当前只支持
rr:sqlQuery
。所以我发现我的代码是错误的,应该是这样的
rr:predicateObjectMap
[
rr:predicateMap
[
rr:constant s:url
];
rr:objectMap
[
rr:termType rr:IRI ;
rr:template "{BRAND_LINK}" ;
];
];.
它正在工作
谢谢。是的,我没有收到任何结果集