ama*_*ava 2 sparql marklogic triples
使用markLogic版本 8.0-6.3
我在使用MarkLogic插入和删除三元组
WITH <>
DELETE {}
INSERT {}
WHERE {}
Run Code Online (Sandbox Code Playgroud)
条款.
在insert子句中,有大约3000个三重模式,在运行查询时我遇到错误.
**2019年1月17日12:53:08.230说明:TaskServer:XDMP-意外:(ERR:XPST0003)意外的令牌存储器耗尽
当我将三重模式限制2043在INSERT子句中时,则没有错误.
似乎一次可以插入三元组的数量有一些限制,如果是这种情况,有任何方法可以增加限制.
这是我的示例代码.
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX xs: <http://www.w3.org/2001/XMLSchema>
PREFIX skos-mla: <http://www.mlacustom.com#>
PREFIX term: <http://www.mla.com/term/>
PREFIX name: <http://www.mla.com/name/>
PREFIX work: <http://www.mla.com/work/>
PREFIX text: <http://www.mla.com/text/>
PREFIX rindicator: <http://www.mla.com/roleindicator/>
PREFIX facet: <http://www.mla.com/facet/>
PREFIX subfacet: <http://www.mla.com/subfacet/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
WITH <thesaurus-term>
DELETE {
?termiri skos-mla:hasSRsortCode ?predicate.
?termiri skos-mla:hasSSsortCode ?predicate.
?termiri skos-mla:hasVSsortCode ?predicate.
?termiri skos-mla:hasXSsortCode ?predicate.
?termiri skos-mla:hasZSsortCode ?predicate.
} INSERT {
term:1 skos-mla:hasZSsortCode 'aaa'.
term:2582 skos-mla:hasZSsortCode 'aab'.
term:162 skos-mla:hasZSsortCode 'aac'.
term:136 skos-mla:hasZSsortCode 'aad'.
term:709 skos-mla:hasZSsortCode 'aae'.
} WHERE {
optional {?termiri skos-mla:hasSRsortCode ?predicate.}
optional {?termiri skos-mla:hasSSsortCode ?predicate.}
optional {?termiri skos-mla:hasVSsortCode ?predicate.}
optional {?termiri skos-mla:hasXSsortCode ?predicate.}
optional {?termiri skos-mla:hasZSsortCode ?predicate.}
}
Run Code Online (Sandbox Code Playgroud)
从where部分为每个结果行执行该update语句的delete和insert部分.由于插入不依赖于where部分的任何变量,这可能不是你想要的.您应该尝试将插入部分作为简单的"插入数据"语句来执行.
| 归档时间: |
|
| 查看次数: |
78 次 |
| 最近记录: |