问题标签 [xml-database]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
997 浏览

node.js - 在 XQuery 表达式中使用外部变量

我正在使用带有 Node.js 应用程序的 BaseX 数据库服务器。该应用程序允许用户在由分隔符分隔的文本字段中输入多个字符串。然后将这些多个字符串查询到 XML 文件以搜索具有相同值的节点。我不知道如何splitstring在 XQuery 中包含外部变量。这是我的代码:

我想实现这样的事情:

可以使用 BaseX 和 XQuery 完成类似的操作吗?

0 投票
1 回答
83 浏览

database - XML 数据库如何进行深度查询?

我在问一个关于 XML 数据库如何工作的问题,但我将给出一个我理解的关于标准关系数据库的示例,希望人们能够解释它是如何在 XML 数据库上工作的。

假设我们的数据有:

在关系数据库中,您可能会执行以下操作:

让我们忘记为 ID 提供有意义的名称,而直接根据 ID 工作。

现在,假设我们要按员工搜索,这很简单,我们输入一个索引EMPLOYEE_IDBUSINESS_EMPLOYEES_TAB我们可以快速获取员工工作地点的业务 ID。一旦建立了索引,就不需要进行全表扫描。

现在让我们改为说数据是 XML 格式的。在顶层,标签中有很多国家/地区 ID。作为子标签,有企业 ID。作为它们的子标签,还有员工 ID。

XML 数据库能否在不扫描整个文档的情况下快速找到员工工作的所有地方?

我问是因为我有很多 XML 数据,我正在考虑将其解析并放入 SQL 数据库,但我现在正在考虑将其直接放入 XML 数据库,如BaseX,并使用 XQuery 而不是 SQL . 我只需要一个解释或简单的参考来阅读我自己关于如何在 XML 数据库中解决这个问题。

0 投票
1 回答
45 浏览

java - 无法使用标签数组编写复杂类型的 where 条件

我是 XML 数据库的新手,在为 transportEquipment 的 id 写入 where 条件时遇到问题。

我的xml是:

下面是从数据库中获取的 xml。这个xml在transportequipment中有多个id,我们需要在id上写where条件。我能够在 localreferencenumber 和标识符等上写 where 条件。但是没有写在transportEquipment的“id”上,bcz这里有很多。

并且我无法将 where 条件添加到以下查询

0 投票
2 回答
2491 浏览

exist-db - 开源 XML 数据库的可扩展性

我们正在寻求开发一个报告应用程序来报告存储在大量 XML 文件中的数据。约 3,000,000 个文件,大小从 7KB 到 5MB 不等(每个文件符合相同的架构)。我猜大概会有大约 200GB 的 XML。我正在查看一些开源 XML 数据库(Sedna、BaseX 和 eXist-db),但我不确定这些系统的扩展性如何,我在这里阅读了这三个数据库的比较。这就是我对可扩展性的担忧的来源。

关于我们想要做的一些细节是: 我们不会更改任何 XML 文件中的数据,并且每天都会添加新文件。因为我们关心报告查询性能对我们来说很重要,所以添加和索引新文件所花费的时间对我们来说并不是一个高优先级。

我想知道是否有人有类似规模使用这些系统的经验?我查看了 BaseX统计页面,看到了一些相当大的 XML 实例,但没有提及性能。

我们不需要开源产品,MarkLogic 系统看起来可以很好地满足要求,但我很好奇开源产品做了什么。

0 投票
2 回答
757 浏览

basex - 优化 BaseX 中的慢速 XQuery 查询

我有一个只有一个小的 XML 文件的 BaseX XML 数据库。这些文件基本上由两个结构组成。一个是PlatformCategory46 个实例,另一个是PlatformGenericType213 个实例。

PlatformGenericTypePlatformCategoryhref属性中有引用。

当我执行以下查询时,大约需要六秒钟才能得到结果:

我可以做些什么来优化这个查询?

请注意,我运行了“全部优化”。

更新:上一个查询的问题似乎已经解决。但是当我使用以下扩展查询时,查询需要 44,28 秒:

有 8939 个实例PlatformSpecificType及其结构:

其查询信息:

查询:/PLib/PlatformSpecificTypes/PlatformSpecificType[isOfPlatformGeneralType/@href=/PLib/PlatformGeneralTypes/PlatformGeneralType[isOfPlatformCategory/@href=/PLib/PlatformCategories/PlatformCategory[environment='AIR']/@id]/@id] 结果:-点击:3642 项 - 更新:0 项 - 打印:2048 KB - 读取锁定:本地 [command_plib] - 写入锁定:无 计时:- 解析:1.25 毫秒 - 编译:0.71 毫秒 - 评估:44248.94 毫秒 - 打印: 37.11 ms - 总时间:44288.02 ms 查询计划:

数据库属性:

查询信息:

更新二: 我怀疑 PlatformSpecificTypes 的结构会阻止索引。我想知道如果我将其更改如下,它会提高查询性能吗?

更新三: 我已将XML 文件上传到 gist中,以便您查看。

现在,当我执行以下查询时,我需要大约 28 秒才能得到结果。

以下是查询信息:

你能帮我优化查询持续时间吗?

0 投票
1 回答
162 浏览

xquery - 未过滤的搜索选项不返回准确的结果

在 Marklogic 中,我必须进行未经过滤的搜索才能返回方面的结果。但是,此选项返回不准确的结果,没有搜索突出显示。
我使用可搜索表达式来获取搜索结果的路径,这是我使用的选项:

另外,我尝试添加元素查询约束,但它会影响搜索查询的性能这是搜索查询:

0 投票
0 回答
38 浏览

xml - 带有“距离”查询的 XML 数据库

我想将 XML 文档存储在数据库中,并执行以下查询:

“具有属性 attr1 的 Elem1,具有具有属性 attr2 的兄弟 Elem2,兄弟之间的距离最多为 2”。

我知道我可以将其分成两个查询(elem1,attr1,然后是 elem1 的父项下的 elem2,attr2)然后检查距离 - 但是是否有一个数据库支持这种查询而不需要我打破它?

0 投票
1 回答
111 浏览

xml - 健康数据库的xml数据模型?

作为我大学作业的一部分,我必须创建一个用于电子健康监测和记录保存的 xml 数据模型,现在我了解了 XML 的概念和基本结构,但是对于构建它的最佳方式,我有点困惑;我有一个 xml 文档(见下面的结构),但我想问一下将外围设备和医疗记录保存在“健康”下的同一文档中是否是个好主意。因为这会使单个文档变得非常大。

提前致谢

0 投票
1 回答
77 浏览

xml - 在 EMC XDB“Xml 数据库”中查看

如何在 EMC XDB 中创建逻辑视图?如果有任何其他解决方案而不是创建视图,请通知我。我想消除在 xquery 语句中使用连接,因为它会影响性能

0 投票
1 回答
140 浏览

oracle - 在 Oracle XML DB 存储库中导入 XML 文件

我是 XML 数据库的新手。我有以下 XML 文件(employees.xml):-

我想将它加载到我的 Oracle XML DB 存储库中(在“公共”文件夹下),以便以后可以使用 XQJ 访问它。Oracle 本地安装在我的机器上。任何线索如何导入 XML 文件?