如果存在多个具有相同名称的子元素,我们可以使用TDE从XML生成三元组吗?

时间:2019-06-25 06:25:29

标签: graph sparql marklogic-9 tde

Eg:
<test>
    <parties>
        <party>
            <partid>1</partid>
            <partyname>abc</partyname>
            <partylocation>edf</partylocation>
        </party>
        <party>
            <partid>2</partid>
            <partyname>sdc</partyname>
            <partylocation>wed</partylocation>
        </party>
        <party>
            <partid>3</partid>
            <partyname>rfg</partyname>
            <partylocation>tgh</partylocation>
        </party>
    </parties>
</test>

如果我们有多个具有相同名称的子元素。如何在TDE中处理三元组。

如何从此xml中获取所有子元素和子子元素的三元组。

1 个答案:

答案 0 :(得分:1)

您可能希望每个party元素使用单独的三元组。这只是将元素用作上下文的问题,例如通过使用诸如/test/parties/party之类的上下文路径。

如果您有可选元素,并且仅想在它们存在的情况下才生成三元组:添加具有自身上下文路径(相对于主模板)的子模板,指向子元素。

下面是有关嵌套模板的文档的链接。它说的是创建视图,但是嵌套模板的相同技巧也适用于三元组:

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

HTH!