Virtuoso转储图

时间:2014-11-15 18:27:40

标签: graph mapping dump virtuoso r2rml

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

我在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没有?

1 个答案:

答案 0 :(得分:0)

R2RML被映射到Virtuoso RDFViews,默认情况下不会持久保存到Quad Store。 可以选择制作这些材料或保留到Quad Store。 看看:r2rml。应该通过选项'启用物理四元组的数据同步'来实现这一目的。另请查看Generate RDB2RDF triggers选项。我不确切知道这将如何使用turtle-syntax,但您可以使用'Prepare to Execute按钮检查生成的命令。 希望这会有所帮助...