首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Marklogic中向XML文档添加额外数据

在Marklogic中向XML文档添加额外数据
EN

Stack Overflow用户
提问于 2016-06-29 18:50:27
回答 2查看 110关注 0票数 3

我在Marklogic中有一大组XML文档,其中包含所谓的“智能数字”(ex )。前两个字符代表部门,第二个字符代表项目等)。从数字中解析所需的信息非常复杂,需要数据库查找、ups等。我们有一个处理解析的java进程。每个文档都可以包含其中的几个数字,我希望能够根据智能数字的属性查询XML集。例如,给给定的部门收取了多少小时的账单,或者对一个给定的项目花费了多少小时进行了细分(这些数据可以分布在许多文档中)。这使我认为,我需要以某种方式将解析的数据添加到XML文档中。

我是Marklogic的新手,我想知道在这种情况下,什么才是最佳实践。我可以想到的一件事是编辑每个XML文件并将解析的数据添加到XML中:

所以这个:

代码语言:javascript
运行
复制
<ELEMENT>
    <SMART_NUMBER>Blah, Blah, Blah</SMART_NUMBER>
</ELEMENT>
<ELEMENT>
    <SMART_NUMBER>Blah2, Blah2, Blah2</SMART_NUMBER>
</ELEMENT>

变成这样:

代码语言:javascript
运行
复制
<ELEMENT>
    <SMART_NUMBER>Blah, Blah, Blah</SMART_NUMBER>
    <PARSED_DATA>
        <DEPARTMENT>BLAH BLAH</DEPARTMENT>
        <PROJECT>BLAH BLAH</PROJECT>
        …
    </ PARSED_DATA>
</ELEMENT>
<ELEMENT>
    <SMART_NUMBER>Blah2, Blah2, Blah2</SMART_NUMBER>
    <PARSED_DATA>
        <DEPARTMENT>BLAH2 BLAH2</DEPARTMENT>
        <PROJECT>BLAH2 BLAH2</PROJECT>
        …
    </ PARSED_DATA>
</ELEMENT>

我不确定是否有一种“更好”的方法,使用语义似乎是可能的:对于文档中的每个智能数字,创建一个将文档链接到智能数字的三重奏。然后,为每个智能数字创建一组三胞胎,定义智能数字的各个部分。但是我对使用语义非常陌生,所以我不知道这种方法是否值得采用。欢迎提出任何意见/建议。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-06-30 06:26:35

我也认为你在正确的轨道上。

如果您想使用三元组来存储数据,这将是一个有趣的想法。对于三倍,正如您正确指出的,您可以将智能数字的各个部分与智能数字相比,三倍看起来如下-

<smart-number-1> <predicate\department> <department-1> <smart-number-1> <predicate\project> <project-1>

您还可以在插入三元组时使用图名,以防需要通过任何参数对数据进行分区。如果使用的是图形,则可能需要集图权限

PS:图是与Triple等价的XML集合。

希望这能有所帮助!

票数 0
EN

Stack Overflow用户

发布于 2016-06-29 19:01:57

我认为你走在正确的轨道上。如果您想要快速的分面搜索,那么去或删除数据是目前为止最简单的方法。但是,与其将代码转换为名称(如果我正确理解,这需要复杂的查找),您还可以考虑将智能数字拆分为单独的标识符,如department-id、project-id。您可以在稍后动态地将id转换为名称。

使用语义可能很有趣,但如果您想链接到其他链接数据源,希望使用SPARQL,或者想推断关系,则最感兴趣的是。

哈哈!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38107855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档