Marklogic 9 在TDE Marklogic中,如何转义空值三元组? /试验 亚表层 "http://www.test.com/resource/test/" objprefix "http://www.test.com/resource/test/" sem:iri($subprefix | | ElemenetName) 忽视 sem:iri('is') sem:iri($objprefix | |全名) 忽视
我创建了一个模板来从XML中提取三元组 但是要避开空值三元组(s、p或o)。 我使用的是ignore,但这仅在主语或宾语中没有前缀时有效。如果有前缀,它将创建带有null(仅前缀)的三元组 我们有没有办法在MarkLogic TDE中处理这个问题Marklogic 9 在TDE Marklogic中,如何转义空值三元组? /试验 亚表层 "http://www.test.com/resource/test/" objprefix "http://www.test.com/resource/test/" sem:iri($subprefix | | ElemenetName) 忽视 sem:iri('is') sem:iri($objprefix | |全名) 忽视,marklogic-9,triples,Marklogic 9,Triples,我创建了一个模板来从XML中提取三元组 但是要避开空值三元组(s、p或o)。 我使用的是ignore,但这仅在主语或宾语中没有前缀时有效。如果有前缀,它将创建带有null(仅前缀)的三元组 我们有没有办法在MarkLogic TDE中处理这个问题 可为空的对象/主题问题。您可以更多地使用上下文表达式,尤其是使用子模板时。下面是一个显示子模板的粗略示例,应用于3个示例文档: xquery version "1.0-ml"; let $tde := <template xmlns="http
可为空的对象/主题问题。您可以更多地使用上下文表达式,尤其是使用子模板时。下面是一个显示子模板的粗略示例,应用于3个示例文档:
xquery version "1.0-ml";
let $tde :=
<template xmlns="http://marklogic.com/xdmp/tde">
<context>/test</context>
<vars>
<var>
<name>subprefix</name>
<val>"http://www.test.com/resource/test/"</val>
</var>
<var>
<name>objprefix</name>
<val>"http://www.test.com/resource/test/"</val>
</var>
</vars>
<templates>
<template>
<context>FullName</context>
<triples>
<triple>
<subject>
<val>sem:iri($subprefix || ../ElemenetName)</val>
<invalid-values>ignore</invalid-values>
</subject>
<predicate>
<val>sem:iri('is')</val>
</predicate>
<object>
<val>sem:iri($objprefix || .)</val>
<invalid-values>ignore</invalid-values>
</object>
</triple>
</triples>
</template>
</templates>
</template>
let $xml1 := <test><ElemenetName>elem</ElemenetName><FullName>full</FullName></test>
let $xml2 := <test><ElemenetName>elem</ElemenetName></test>
let $xml3 := <test><FullName>full</FullName></test>
return tde:node-data-extract(($xml1, $xml2, $xml3), $tde)
xquery版本“1.0-ml”;
让$tde:=
/试验
亚表层
"http://www.test.com/resource/test/"
objprefix
"http://www.test.com/resource/test/"
全名
sem:iri($subprefix | |../ElemenetName)
忽视
sem:iri('is')
sem:iri($objprefix | |)
忽视
设$xml1:=elemfull
让$xml2:=elem
设$xml3:=full
返回tde:节点数据提取($xml1、$xml2、$xml3),$tde)
有关子模板的更多背景信息,请参见:
嗯