xquery性能与性能;模式资源

有人能给我推荐一些关于Xquery性能和设计模式的好读物吗。 我不是在寻找特定于webapp或DB的东西,只是关于Xquery和引擎 提前感谢您应该看一下您应该看一下除了用户457056的指针,您还可以阅读有关的内容。如果您正在查找性能数据,我也帮不上忙。除了用户457056的指针之外,您还可以阅读一些关于。如果您正在寻找性能数据,我也帮不上忙。非常特定于MarkLogic,但有很多关于MarkLogic快速性的好细节。非常特定于MarkLogic,但有很多关于MarkLogic快速性的好细节。

Xquery 如何在marklogic中搜索与模式匹配的URI列表?

我不熟悉XML数据库,所以我需要一些关于marklogic和xquery的帮助 我确实在数据库中记录了一些文档,当我按下explore按钮时,它们的URI显示出来,看起来像(例如): /firstDirectory/documentA.xml /firstDirectory/documentB.xml /secondDirectory/documentC.xml 现在我想获得位于“firstDirectory”中的所有文档的URI列表。 所以我需要这样的东西: List unknownXQuer

XQuery if语句

我对XQuery有问题。我在这个问题上花了很多时间,但我无法让它工作:(这是我的XML图书节点: <book id="bk101"> <author>Gambardella, Matthew</author> <title>XML Developer's Guide</title> <genre>Computer</genre> <price>44

Xquery 将树转换为元素序列

我有类似的东西 <a> <b> <c>1</c> <d>2<e>3</e></d> </b> </a> <a/> <b/> <c>1</c> <d>2<e>3</e></d> 重新构造为完整元素(包含and),但如果删除元素构造函数

2个标记上的Xquery分组依据

下面是我的数据的XML部分 <A> <a><Type>Fruit</Type><Name>Banana</Name></a> <a><Type>Fruit</Type><Name>Orange</Name></a> <a><Type>Fruit</Type><Name>Apple</

在XQuery 3.0(exist db)中获取标记内容

我使用以下XQuery代码来选择集合中的所有.html文档 数据库的存在。脚本应该创建一个XML文档(序列化为JSON),其中包含文档URI和标题(存储为第一个H1元素)。 但是,元素仍然为空。为什么? xquery version "3.0"; declare option exist:serialize "method=json media-type=text/javascript"; <result> { let $data-collection := '/db/ou

Xquery 元素属性范围查询正在获取结果,但元素属性值查询未获取任何结果

我想获取具有特定元素属性值的文档 因此,我尝试了cts:element属性值查询,但没有得到任何结果。但是相同的元素属性值,我可以使用cts:element-attribute-range查询获得 这里是使用的示例代码段 let $s-query := cts:element-attribute-range-query(xs:QName("tit:title"),xs:QName("name"),"=", "SampleTitle", ("collation=http://marklogic.c

Xquery 如何检查xml中的属性可用性?

如何查找特定元素中的属性是否可用?使用XPath返回目标属性并将结果转换为布尔值: boolean(//target_element/@target_attribute) 或类似方法,但使用功能: exists(//target_element/@target_attribute) 实际上,问题中没有明确说明上下文,例如,您案例中的上下文元素可能已经是目标元素,因此您不需要//target\u element/部分。此外,您可以返回目标元素的所有属性名称: //target-element/

Xquery 在MarkLogic中比较同一文档的两个元素

我有一个MarkLogic 8数据库,其中有两个日期时间字段的文档: 创建于 自 我正试图编写一个Xquery来搜索所有值处于活动状态的文档,因为小于上创建的值 目前我正在使用以下FLWOR表达式: fn中$entity的:集合(“entities”) let$id:=fn:data($entity//id) 让$created on:=fn:data($entity//created on) 让$active-since:=fn:data($entity//active-since) 其中$a

Marklogic,Xquery

我正在使用MarkLogic查询控制台。我的XQuery文件工作不正常,我面临此错误 MarkLogic Xquery请求错误: XDMP-UNEXPECTED:(错误:XPST0003)意外的令牌语法错误,意外的美元“ 这是我正在执行的代码: declare function fill:getA() as node()* { for $projectId in /cf:Project/@Id/string() $s := fill:getS($projectId)

Xquery 如何等待MarkLogic spawn函数完成

我需要遍历10000000个文档,对每个文档执行一些操作,并将一些值存储在“/count.xml”中。当我迭代到第二个文档时,我用更新的值更新“/count.xml” 目前这就是我正在做的,这里的$totalrecords是10000000 let $total-records := xdmp:estimate(cts:search( //some code)) let $batch-size := 5000 let $pagination := 0 let $bs := for $re

Xquery eXist db serialize是否展开xincludes=no被忽略?

在ExistDB4.4、XQuery3.1中,我将大量XML文件压缩到目录中的.zip文件中。压缩过程使用serialize() XML文件中有一些大型的xincludes,它们在序列化过程中被自动处理。我已尝试在代码中的两个位置“关闭”xinclude序列化(prologue declare和map),但序列化程序仍在输出所有xinclude: declare option exist:serialize "expand-xincludes=no"; declare function zip:

Xquery 如何列出MarkLogic数据库中的所有根目录和子目录?

MarkLogic允许使用伪“目录”式结构在数据库中组织文档,该结构由加载任何给定文档时使用的URI定义。这些URI用于查找和查询文档(使用fn:doc()),并列出特定目录或子目录中的所有文档(使用xdmp:directory()) 然而,似乎没有任何方法可以“查看”或列出数据库中附加到文档的所有目录或子目录,正如您在典型的目录结构文件系统中所期望的那样。有一些旧的在线解决方案和其他解决方案可以指示在db中列出根目录的方法,但是没有一个解决方案允许子目录,也没有一个解决方案可以像运行一段代码那

Xquery 创建和运行一个;计划任务“;一旦

我有一些长时间运行(>1分钟)的任务,在REST中通过xQuery可以正常运行。然而,我们现在已经将这些服务器置于Amazon负载平衡器之后,并且由于Amazon负载平衡器的工作方式,没有任何一个查询的持续时间可以超过29秒。Amazon将暂停查询 注意:对此没有控制权 因此,我们提出的解决方案是让xQuery只触发一个运行正常的计划任务。我原以为这会管用,但有一个例外——使用类似这样的方法: declare function jobs:create-job ($xquery-resource

xquery匹配-允许循环中不存在的节点

我有一个for循环,希望过滤一些节点,这很好: matches($doc/abc/@def, $filterA) matches($doc/qwert/@xyz, $filterB) 当$filterA、$filterB或两者都为空时,也可以返回每个节点。但是,如果节点abc或qwert不存在,则返回节点是无效的。对于我当前使用的默认值(”(空字符串),是否有其他默认值或其他函数可用于使其工作?您可以测试函数中是否存在abc和qwert元素。如果您希望在这些元素中的任何一个不存在的情况下通过测

XQUERY中的动态路径

这是我的xml文件: <?xml version="1.0" encoding="UTF-8"?> <QQ:Envelope xmlns:QQ="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header> <RR:ABCInfo xmlns:RR="http

使用XQuery获取序列中重复次数最多的元素

我有一系列的值。他们可以是平等的。。。或者不是。因此,对于XQuery,我希望获得序列中最频繁的项 let $counter := 0, $index1 := 0 for $value in $sequence if (count(index-of($value, $sequence))) then { $counter := count(index-of($value, $sequence)) $index1 := index-of($value) } else {} 我做不到

在市场上为XQuery提供资源

我有一个客户机,其需求最好通过XQuery/XML解决方案来满足。我面临的问题是克服与这些技术缺乏市场技能相关的风险 这可能是一个销售问题,但其他人如何克服这一异议呢?我会让其他人从销售角度回答,或提出技术建议。这是我的项目管理观点。我认为你应该做两件事: 1.)拥有成本评估 画出两到三个架构,并尝试在小时、$$$或其他准想象的指标中摊销对客户的直接和持续影响。对于每个解决方案,构建起来有多困难?你需要多少不同的工程师?您需要多少不同的技术人员来熟悉项目以维护它,等等。不必有单独的中间层和专用关

xquery错误:在使用where子句时 { 对于不同值的$movie(doc(“movies.xml”)/movies/movie) 其中count(doc(“movies.xml”)/movies/movie[title=$movie/title])=count(不同的值(doc(“movies.xml”)/movies/movie/source)) 返回 {$movie/title} }

在这个特殊的查询中,我试图:在“movies”文档中查找从所有来源提供的电影标题。我在where子句的行中得到一个错误。错误为:“/”的第一个操作数的必需项类型为node();提供的值具有项类型xs:anyAtomicType问题在于distinct-values()返回不同的字符串值,因此您试图对字符串使用xpath表达式$movie/title计算结果为(xs:string)/title,该值无效并引发异常 但就我理解您的目标的方式而言,我认为该查询不会返回您想要的结果。请尝试此解决方案以返

Xquery不同的值不´;行不通

我有一个电影数据库,想用姓和/或名搜索演员。目标是列出演员的名字、片名以及演员在电影中扮演的角色的名字 XML电影数据库如下所示: <movies> <movie> <title>A History of Violence</title> <year>2005</year> <country>USA</country> <genre>Crime</

Xquery 如何在Marklogic 8中安装实体扩展库?

我正在尝试使用实体扩展管道进行文档转换。对于安装了内容处理的DB,我在查询控制台中有以下XQuery: let $myxml := <node>George Washington never visited Norway. If he had a Social Security number, it might be 000-00-0001. </node> return cts:entity-highlight($myxml,

xquery返回;您的查询返回一个空序列";

我试图通过运行以下xquery返回一组记录的所有作者: for $a in /Record return data($a/AuthorList/Author/Surname) 我有这个: your query returned an empty sequence 我对xpath很确定,但我不知道它有什么问题。当您没有得到结果时,通常意味着您的查询是以与数据不匹配的方式进行的。我所做的是回到更一般的事情上,然后逐渐变得更具体 从这个开始: for $a in /Record return $a

Xquery 撒克逊河9.7节:“;“没有可用的基本URI”;尝试从bash运行查询字符串时出错

根据撒克逊的说法 java net.sf.saxon.Query-qs:doc('a.xml')//p选择 当前目录中的文件a.xml 我正试图从bash脚本中实现这一点: java net.sf.saxon.Query -qs:doc"('myFile.xml')"/rootElt/@myAtt 但是,我得到了以下错误:XTDE1162:传递给document()函数(myFile.xml)的相对URI;但没有可用的基本URI 根据文件,这不应该发生: 静态基本URI(在调用doc()函数时

使用Stylus Studio X16 Saxon引擎到文本xquery时卡住

在我的公司,我们使用Stylus Studio Enterprise维护许多xquery文件,目前是X16 64位构建“o” 出于某种原因,每当我们将处理器设置从DataDirect切换到Saxon时,无论大小,查询都会无限循环。我们必须终止struzzo.exe任务 因此,我们无法调试 从回答我的问题的意义上说,供应商一直反应迅速,但他们的诊断在我的环境中有些奇怪。但我在多个地方都有同事,他们似乎也有这个问题 所以我向这个社区提出的问题是“你曾经遇到过这个问题吗?如果是,你解决了吗?” 我运行

Xquery 如何在marklogic中对字符串日期排序?

我们必须在marklogic中对年和月组合进行排序 例如 “2018年4月”, “2018年12月”, “2018年2月”, “2018年11月” 它是根据字母顺序排序的,但我想根据月份和年份进行排序。您当然可以尝试将格式转换为xs:date,并使用顺序,例如 let $seq := ("2018 Apr", "2018 Dec", "2018 Feb", "2018 Nov"), $month-order := ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'J

XQuery组合两个xml文件

当前有两个XML文件,并希望将它们合并以创建一个XML文件 XML1(recipes.XML): 汉堡包 汉堡包是创造出来的。。。 1. 13 松饼 用。。。 2. 43 XML 2(components.XML): 汉堡包 182 $3.00 13 胡萝卜 182 2.50 1. 蓝莓 185 $5.00 一包200克 我想让它们结合起来,使食谱包含如下成分: 输出: 汉堡包 汉堡包是创造出来的。。。 1. 13 汉堡包 $3.00 13 胡萝卜 $2.50 1. 松饼 用。。。 2

Xquery 有没有一种方法可以在for循环中找到重复的值,而不返回重复值的2倍?

我必须找到重复的值,而不会返回2倍于相同值的错误值(第一次是值上的“for”循环,第二次是集合中相同值上的“for”循环) 我运行了一个项目集合,其中的“name”属性应该是唯一的。 现在我有一个简单的For循环,当检测到重复项时,它会给我一些错误。 问题是,我知道有一种方法可以解析集合,而不考虑要测试的值的当前索引 因此,如果我有A、B、C、D和E项,属性名等于(按顺序):12、13、14、12和16,那么当前循环将返回错误2次。 第一次是因为它检测到项目A与项目D具有相同的值,第二次是因为它

Xquery 在数据库中执行更新操作后删除索引

我使用的是Basex版本8.6.6,我从GUI在数据库上创建全文索引,当数据库上发生任何更新操作时,所有创建的索引都将被删除 当我使用ft模块搜索任何内容时,就会出现错误,即数据库“test”没有全文索引 我希望如果索引已经创建,那么它不应该被删除 如何解决此问题?当您更新数据库时,索引显然不再有效(如果没有自动执行任何操作)。BaseX的默认行为是简单地删除索引。有几种可能性可以解决这个问题,BaseX docu在 鉴于您似乎使用了完整的文本索引,您基本上有两种选择: 在每次更新操作后,通过X

Xquery “撒克逊意外标记”&书信电报;e o f>&引用;

我主要针对使用SOAP交换的XML负载评估StylusStudio的xquery开发。 我继承了一个复杂的xquery(大约1800行),当我尝试使用Saxon作为引擎执行它时,我得到了以下错误: XPST0003:Xquery sintax在路径表达式中的##:意外标记“”中出错 这个查询在AcquaLogic中运行良好,因此不能确定它是文件或Saxon中的bug。 有人能就此提出建议吗?至少要了解它在哪一行找到这个标记 提前感谢意味着Saxon遇到了一个文本“文件结尾”字节。也许您的路径表达

如何在xQuery中组合Where子句

我不确定我在这里做错了什么,但我试图通过使用“where”设置两个条件,它们各自独立工作,但当我将它们组合在一起时,会得到每个文件的转储 如果我有: for $i in collection("/db/people") where $i//lastname="Smith" return $i 我得到两个列表,因为有两种类型(a和b) 如果我有 for $i in collection("/db/people") where $i//type="a" return $i 我有538个房源,都是

Xquery 如何在BaseX中与更新操作一起返回结果?

我认识到(insert/delete)-xquerys在BaseX客户端执行时总是返回空字符串。我觉得这很令人困惑或不直观 有没有一种方法可以在不再次查询数据库的情况下确定查询是否“成功”(并使用可能存在错误的“可传递”逻辑,如“如果我删除了一个节点,XML中必须有'oldNodeCount-1'节点”)?

如果节点没有子节点,则删除XQuery

我想删除没有子节点的“node2”节点。 我该怎么做 <node1> <node2> <node3>4</node3> </node2> <node2></node2> <node2></node2> </node1> 4. 如何使用xquery>实现这一点如果要修改数据库,请使用xquery Update: delete

如何使用XQUERY显示消除重复的项目?

我对XQuery有一个问题。逻辑是: 获取以“Manuel”开头的所有教师的姓名,消除重复,并指明每个教师班级的所有教室。按名称从最短到最长排序 我已经这样做了: for $x in (doc("LMSGI06")//course[starts-with(teacher, "Manuel")]) order by string-length($x/teacher) return <teacher>

解析XQuery中的日期数组(MarkLogic v8)

我的问题看似微不足道,但无法理解如何解析包含日期列表(以逗号分隔)的字符串。单个日期的解析部分不是问题,但空值是。问题是日期的顺序很重要,有些日期可以省略。日期的格式应为YYYY-mm-dd 因此,以下是有效输入和预期返回值: ,2000-12-12,2012-05-03, ➔ ( NULL, 2000-12-12, 2012-05-03, NULL ) 2000-12-12,,2012-05-03 ➔ ( 2000-12-12, NULL, 2012-05-03 ) 这是我的函

XQuery显示集合名称

搜索整个数据库并显示具有给定元素名称的集合名称的XQuery是什么?您可以找到哪些集合包含与查询相匹配的文档,这些文档具有cts:collections()词典查找。您可以使用cts:element-query()和cts:true-query()来匹配名称上的元素,而不考虑内容 将这两个要素放在一起,查询将类似于: cts:collections((), (), cts:element-query(QName("namespace", "name"), cts:true-query()

Xquery XML比较与排序查询

我有以下xml,我需要在其中执行以下操作: 如果title和text元素的值相同,则根据score属性对这些列表元素进行排序 例如: 这里,第一个和第三个列表元素的标题和文本的值是相同的,因此这两个元素应该根据分数进行排序,并显示分数最高的列表,而放弃其他元素 我怎样才能做到这一点 期望输出: <list> <title>abcd</title> <text>abcd</text> <score>2&

Xquery 查询中的字符串匹配

使用: It is throwing me an error. Could you please tell me how to do it. 根据是否存在元素,其计算结果为true()或false(): doc(“car.xml”)/car/model 其中包含字符串“BMW”我不知道xquery,但包含的内容似乎缺少一个结尾]此外,发布实际的错误消息将帮助知道xquery的人识别问题…尝试在BMW好的问题+1周围加上单引号或双引号。请参阅我的答案,了解完整、简短的一行解决方案。:)conta

Xquery 显示指向文件而不是实际内容的链接

我现在正在编写一个XQuery脚本,作为OxygenXML编辑器中的一个场景。它的工作原理是连接到XML数据库,并获取与用户输入匹配的文件: 脚本的主要部分是: for $book in collection("/db/portfolio/product?select=*.xml;recurse=yes") return <myFile>{$book[contains(article/@product,$product_code) and contains(article/t

XQuery:显示最大值和其他信息

假设我有一个XML文件,其中包含具有以下结构的产品元素: <product> <name></name> <price></price> </product> 但我也想知道最贵产品的名称。 我不知道如何使用max()函数通过简单的flwor查询实现这一点。计算飞行前的最大值,并使用谓词返回与之匹配的产品: let $products := collection('/Products')//product let $

将XQuery Resest反复发送到BaseX数据库会随着时间的推移而变慢

我有一个BaseX数据库,它有大约500.000个事件节点,我使用以下选择: for $b in //EventList/Event[Type = 'Measurement'] let $date as xs:dateTime := xs:dateTime($b/TimeStamp) where $date ge xs:dateTime('"+startdate+"') and $date le xs:dateTime('"+enddate+"') return $b 奇怪的是,数据返回的

Xquery 如何将节点作为for循环中的第一个元素插入?

我得到以下错误: 元素构造函数:不允许更新表达式 尝试插入时,将节点测试作为第一个插入$c 我觉得我的代码就像我在网上看到的一样,尽管我显然出了什么问题 如何插入带有for循环的节点 declare namespace db="http://basex.org/modules/db"; declare namespace file="http://expath.org/ns/file"; declare variable $form13FFileNumber as xs:string exter

Xquery MarkLogic 9中的FLWOR在chrome中不显示结果

您好,我正在使用MarkLogic 9并尝试使用XQuery和FLWOR语句构建一个应用程序。我设置了http服务器。我在8031端口测试了一个带有静态文本的简单页面,效果很好。我还测试了一个 查询控制台中的FLWOR语句也可以正常工作。但当我把它结合起来时,它就不起作用了 我希望你能帮助我 曼尼,谢谢 埃里克 花卉声明ML9.0 for $i in /scope/item let $sscc := $i/transaction/sscc/text() return <tr><

使用XForms在eXistDB中选择并运行Xquery

我正在研究Xforms和eXistDB,我一直在研究是否可以使用选择下拉列表并将选择用作变量,然后在eXist中运行xquery以返回结果。 我知道这可以通过像这样的html表单轻松完成,但我想使用XForms的高级功能。看看eXist db公共存储库中的和应用程序。您可以通过Dashboard>Package Manager查找并将其安装到本地eXist实例中。(我建议使用XSLTForms而不是betterForms,因为后者不再被维护。)一旦安装了文件和演示应用程序,打开它们,您就可以浏览

Xquery Marklogic:如何使用正则表达式搜索文档?

我最近开始研究MarkLogic10数据库 我需要做的是找到那些有身份证的文件 wew35r-ui856-iiu 当我这样问的时候 cts:element-value-match(xs:Qname("id"),".*\-.*") 我得到0个结果 但是 当我这样做的时候 fn:matches("wew35r-ui856-iiu",".*\-.*") It return true cts:element-value-

  1    2   3   4   5   6  ... 下一页 最后一页 共 22 页