首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >MarkLogic我不知道如何得到所有的结果

MarkLogic我不知道如何得到所有的结果
EN

Stack Overflow用户
提问于 2017-12-23 06:10:15
回答 2查看 74关注 0票数 0

你好,我正在尝试用下面的代码读取一个模块:

代码语言:javascript
代码运行次数:0
运行
复制
(: Entry point - must be a read-only query. :)
xdmp:invoke(
'/path/mydocument.xqy',
(xs:QName('var1'), 'test',
xs:QName('var2'), "response"))

我是MarkLogic的新手,我使用groovy和api来连接它,但我也看到我可以用这个调用模块,我确实这样做了,但它返回了我。

代码语言:javascript
代码运行次数:0
运行
复制
your query returned an empty sequence

我想知道我是否可以查询xs:QName('var1'), 'test',使用通配符更改测试,或者我如何从名为/path/mydocument.xqy的文件中获取所有信息?

我试着使用这个:

代码语言:javascript
代码运行次数:0
运行
复制
xdmp:document-get("/path/mydocument.xqy)

但它说没有找到这个文件。虽然,如果我使用invoke,我可以查询它,但是我不知道我必须传递什么值。我想知道是否有像sql这样的东西使用%%或其他东西来给我所有的数据。

EN

回答 2

Stack Overflow用户

发布于 2017-12-23 23:16:32

回答第一个问题:“我正在尝试读取一个模块”

  • 如果模块在数据库中,则必须查询模块所在的模块数据库。
  • 如果模块位于文件系统中,则不能直接以文档形式访问其源代码,但可以通过执行xdmp:filesystem-file()

来访问

简化:

在服务器和REST客户端的默认配置下,用户放置的模块位于" modules“数据库中,用户放置的文档位于" documents”数据库中。这意味着,如果您不使用其他参数执行GET (读取“文档”),它将从“文档”数据库返回文档。假设您使用的是客户端和服务器的默认配置,这将导致您看到的行为。例如,您的模块代码在模块数据库中,按名称对其执行GET将搜索文档数据库并正确地找不到它。

您没有提到,我也不知道正在使用的groovy库,但是REST API本身和我熟悉的通用ML REST客户端库的所有实现都有用另一个数据库覆盖默认数据库的选项。如果groovy库支持这一点,那么为您的查询指定"Modules“数据库,它应该返回模块文档。注意:content-type将是application/text,而不是text/xml

您可以绕过这些库来简化测试工作,只需使用浏览器并尝试以下http://yourserver.com:8000/v1/documents?uri=/your/module.xqy&database=Modules

参考:https://docs.marklogic.com/REST/GET/v1/documents

对路径和服务器进行适当的更改以供您使用。

如果您仍然感到困惑,那么您应该从基本的MarkLogic教程开始,然后逐一完成它们。通过这样做,然后直接跳到你还不懂的代码中,你很可能会更快地成功。

详细信息:

注意:默认行为是在执行GET调用时使用Modules数据库执行文档。因此,对http://yourserver:8000/your/module.xqy执行GET操作将执行它,而不是返回它的源代码。

您会注意到REST API有一个uri查询参数。这是在/v1/ document上执行REST API代码,而后者将读取由uri和数据库参数指定的文档并返回该文档。

票数 3
EN

Stack Overflow用户

发布于 2017-12-23 06:29:49

我想我可以使用:

代码语言:javascript
代码运行次数:0
运行
复制
xdmp:invoke(/pview/get-pview-browse-profiles.xqy,
cts:and-query((
  cts:element-value-query(
    xs:QName("letter"),"*", "wildcarded"),
  cts:element-value-query(
    xs:QName("collection"),"*", "wildcarded"))))

尽管它不返回任何内容

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

https://stackoverflow.com/questions/47947919

复制
相关文章

相似问题

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