0

您好,我有一个可能很简单的问题,但我无法在文档中的任何地方找到它。

我在 Virtuoso Interactive SQL 中使用此代码:

SPARQL clear graph <http://product-open-data.org/temp>;
SPARQL clear graph <http://linked.opendata.cz/resource/dataset/product-open-data.org/2014-01-01>;
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#>
<#TriplesMapBrand>
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:predicateMap [rr:constant pod:bsin];
        rr:objectMap [rr:termType rr:Literal; rr:column "BSIN" ];
];
 rr:predicateObjectMap [
        rr:predicateMap [rr:constant gr:name];
        rr:objectMap [rr:termType rr:Literal; rr:column "BRAND_NM" ];
];
 rr:predicateObjectMap [
        rr:predicateMap [rr:constant s:url]; 
        rr:objectMap [rr:termType rr:IRI; rr:template "{BRAND_LINK}";];

];.
', 'http://product-open-data.org/temp', 'http://product-open-data.org/temp', 0);

exec ('sparql ' || DB.DBA.R2RML_MAKE_QM_FROM_G ('http://product-open-data.org/temp','http://linked.opendata.cz/resource/dataset/product-open-data.org/2014-01-01'));


SPARQL Select * from <http://linked.opendata.cz/resource/dataset/product-open-data.org/2014-01-01>
where {?s ?o ?p.} limit 1000000;

我的问题如下:我想获得一个带有dump_one_graph过程的 TTL 文件。但是当我在 iSQL 中运行这样的过程时:

SQL> DB.DBA.dump_one_graph('http://linked.opendata.cz/resource/dataset/product-open-data.org/2014-01-01','../R2RML/pod_',1000000000);

我唯一得到的是:

http://linked.opendata.cz/resource/dataset/product-open-data.org/2014-01-01的转储,截至 2014-11-11 23:46:48.000004

所以我的问题是:我的三元组存储在哪里,为什么 SPARQL SELECT 返回结果集而dump_one_graph没有?

4

1 回答 1

0

R2RML 被映射到 Virtuoso RDFViews,默认情况下不会持久化到 Quad Store。可以选择制作这些材料或保存到 Quad Store。看看:r2rml。应该有一个选项“启用与物理四存储的数据同步”,这应该可以解决问题。还可以查看Generate RDB2RDF triggers选项。我不知道使用海龟语法到底会是什么样子,但是您可以使用“准备执行按钮”来检查生成的命令。希望这可以帮助...

于 2014-12-01T11:55:06.050 回答