在TDE中,Marklogic如何逃逸空值三元组?

时间:2019-06-26 06:46:47

标签: marklogic-9 triples 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>
    <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 || FullName)</val>
                <invalid-values>ignore</invalid-values>
            </object>
        </triple>
    </triples>
</template>

我创建了一个模板来获取XML的三元组。

但是要转义空值三元组(s,p或o)。 我正在使用ignore,但这仅在主题或对象中没有前缀的情况下有效。如果有前缀,它将创建带有null(仅前缀)的三元组。

我们有什么方法可以在MarkLogic TDE中进行处理吗?

空的对象/主题问题。

PFB。

1 个答案:

答案 0 :(得分:0)

您可以从上下文表达式中获得更多使用,尤其是在使用子模板的情况下。这里有一个显示子模板的粗略示例,应用于3个示例文档:

validate

可以在以下位置找到有关子模板的更多背景:

https://docs.marklogic.com/guide/sql/creating-template-views#id_28999

HTH!