标签: marklogic

在XQuery中更新计数器

我想在xquery中创建一个计数器.我最初的尝试看起来如下:

let $count := 0
for $prod in $collection
let $count := $count + 1
return 
<counter>{$count }</counter>
Run Code Online (Sandbox Code Playgroud)

预期结果:

<counter>1</counter>
<counter>2</counter>  
<counter>3</counter>
Run Code Online (Sandbox Code Playgroud)

实际结果:

<counter>1</counter>
<counter>1</counter>  
<counter>1</counter>
Run Code Online (Sandbox Code Playgroud)

$count变量或者未能更新或处于复位状态.为什么我不能重新分配现有变量?什么是获得理想结果的更好方法?

xquery marklogic

13
推荐指数
5
解决办法
1万
查看次数

由不受信任的机构颁发的证书链

我正在使用 curl 终端并在发出以下命令时:-

curl --anyauth --user admin:admin "https://localhost:8000/LATEST/search?q=caesar"

我低于警报:-

curl: (77) schannel: next InitializeSecurityContext failed: SEC_E_UNTRUSTED_ROOT (0x80090325) - 证书链由不受信任的机构颁发。

请建议。我已经在 Windows 中安装了 curl,还下载了 .pem 文件并将其放在同一文件夹中。

ssl curl marklogic

12
推荐指数
1
解决办法
1万
查看次数

在Marklogic数据库中存储名称/值对的最有效方法是什么

我的应用程序经常需要使用查找来修饰它所服务的文档中的值,以获取各种代码的可读形式.

例如<product_code>PC001</product_code>,希望被返回为<product_code code='PC001'>Widgets</product_code>.它并不总是product_code; 有一些不同类型的代码需要类似的行为(其中一些只有几十个例子,其中一些只有几千个.)

我想知道的是在数据库中存储数据的最有效方法是什么?我可以想到两种可能性:

1)每个代码类型一个文档,包含许多元素:

<product-codes>
  <product-code code = "PC001">Widgets</product-code>
  <product-code code = "PC002">Wodgets</product-code>
  <product-code code = "PC003">Wudgets</product-code>
</product-codes>
Run Code Online (Sandbox Code Playgroud)

2)每个代码一个文档,每个文档包含一个<product-code>如上所述的元素.

(显然,两种选择都包括合理的指数)

这些中的任何一个明显比另一个快吗?还有另一种更好的选择吗?

我的感觉是,每个文档保留一个"东西"通常会更好,因为它在概念上稍微清晰一些(我理解)更适合ML的索引,但在这种情况下,它似乎会导致非常大量的非常小的文件.那是我应该担心的吗?

xml xquery marklogic

10
推荐指数
2
解决办法
361
查看次数

我可以在Marklogic Server中的xquery中声明一个全局变量吗?

我想要一个全局变量,我可以在不同的.xqy页面中使用它.我可以在Marklogic Server中的xquery中声明这样的变量吗?

xquery marklogic

9
推荐指数
2
解决办法
5549
查看次数

如何在MarkLogic中处理不区分大小写的SPARQL数据

我试图理解如何最好地处理Marklogic SPARQL数据中的文字,这在任何情况下都可能.我希望能够进行不区分大小写的搜索,但我相信语义查询是不可能的.我想要一个简单的例子:

SELECT *
WHERE { ?s ?p "Red"}
Run Code Online (Sandbox Code Playgroud)

SELECT *
WHERE { ?s ?p "red"}
Run Code Online (Sandbox Code Playgroud)

返回所有值,无论对象是"红色","红色","红色"还是"rED".

我的数据来自另一个具有可变大写规则的来源.目前我唯一能想到的是添加一个额外的三元组,它总是包含小写的文本,所以我总是可以搜索该值.或者,使用不区分大小写的排序规则在MarkLogic中创建一些新的范围查询是否有意义(如果可以在三重数据上进行)?

rdf sparql marklogic

9
推荐指数
1
解决办法
4169
查看次数

如何在Ubuntu 14.04上安装MarkLogic 8?

在Ubuntu 14.04上安装MarkLogic 8的步骤是什么?

ubuntu install marklogic

9
推荐指数
1
解决办法
2398
查看次数

Tableau MarkLogic数据建模

我正在使用Tableau和MarkLogic.我有以下XML结构

<CustomerInformation CustomerId="1">
        <CustomerBasicInformation>
            <CustomerTitle></CustomerTitle>
            <CustomerFirstName></CustomerFirstName>
            <CustomerMiddleName></CustomerMiddleName>
            <CustomerLastName></CustomerLastName>
        </CustomerBasicInformation>
        <CustomerEmplyomentDetails>
            <CustomerEmployer>
                <EmployerName IsCurrentEmployer=""></EmployerName>
                <CustomerDesignation></CustomerDesignation>
                <EmployerLocation></EmployerLocation>
                <CustomerTenure></CustomerTenure>
            </CustomerEmployer>
        <CustomerEmplyomentDetails>
        <PolcyDetails>
            <Policy PolicyId="">
                <PolicyName></PolicyName>
                <PolicyType></PolicyType>
                <PolicyCategory></PolicyCategory>
                <QuoteNumber></QuoteNumber>
                <PolicyClaimDetails>
                    <PolicyClaim ClaimId="">
                        <PolicyClaimedOn></PolicyClaimedOn>
                        <PolicyClaimType></PolicyClaimType>
                        <PolicyClaimantName></PolicyClaimantName>
                    </PolicyClaim>
                </PolicyClaimDetails>
                <PolicyComplaintDetails>
                    <PolicyComplaint ComplaintId="">
                        <PolicyComplaintStatus></PolicyComplaintStatus>
                        <PolicyComplaintOn></PolicyComplaintOn>
                    </PolicyComplaint>
                </PolicyComplaintDetails>
                <BillingDetails>
                    <Billing BillingId="">
                        <BillingAmount></BillingAmount>
                        <BillingMode></BillingMode>
                    </Billing>
                </BillingDetails>
            </Policy>
            <Policy PolicyId="">
            <PolicyName></PolicyName>
            <PolicyType></PolicyType>
            <PolicyCategory></PolicyCategory>
            <QuoteNumber></QuoteNumber>
            <PolicyClaimDetails>
                <PolicyClaim ClaimId="">
                    <PolicyClaimedOn></PolicyClaimedOn>
                    <PolicyClaimType></PolicyClaimType>
                    <PolicyClaimantName></PolicyClaimantName>
                </PolicyClaim>
            </PolicyClaimDetails>
            <PolicyComplaintDetails>
                <PolicyComplaint ComplaintId="">
                    <PolicyComplaintStatus></PolicyComplaintStatus>
                    <PolicyComplaintOn></PolicyComplaintOn>
                </PolicyComplaint>
            </PolicyComplaintDetails>
            <BillingDetails>
                <Billing BillingId="">
                    <BillingAmount></BillingAmount>
                    <BillingMode></BillingMode>
                </Billing>
            </BillingDetails>
        </Policy>
    </PolcyDetails>
</CustomerInformation>
Run Code Online (Sandbox Code Playgroud)

我已经在上面的结构上创建了一个视图.最初我为所有元素创建了一个视图,但在Tableau上我得到了重复值以及笛卡尔连接结果.所以为了解决这个问题,我使用了片段根的方法.由于单个客户可以有多个PolicyDetails.我在Policy上创建了片段根目录.类似声明,投诉,计费,报价对于单个策略可以是多个,我已经在每个策略上创建了片段根. …

marklogic tableau-api marklogic-8

9
推荐指数
1
解决办法
210
查看次数

冲突的模块。LoggerFactory 不是 Logback LoggerContext 但 Logback 在类路径上

当我尝试运行我的项目时,我在标题中发现了错误。我已经阅读了有关此错误的其他线程,并找到了消除错误的解决方案,但杀死了我的所有日​​志记录。

<exclusions>
    <exclusion>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-logging</artifactId>
    </exclusion>
</exclusions>
Run Code Online (Sandbox Code Playgroud)

<exclusions>
    <exclusion>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
    </exclusion>
</exclusions>
Run Code Online (Sandbox Code Playgroud)

两者都有助于消除错误并终止我的日志记录。我宁愿能够保留我的 Spring-Boot 日志记录并解决此问题,但一直无法找到解决方案。有没有办法可以保留当前的日志记录并解决此依赖性问题?追踪违规模块的最佳方法是什么?

完整的错误是:

线程“main”中的异常 java.lang.IllegalArgumentException: LoggerFactory 不是 Logback LoggerContext 但 Logback 在类路径上。删除 Logback 或竞争实现(类 org.slf4j.impl.Log4jLoggerFactory 从文件加载:/C:/Users/me/.m2/repository/org/slf4j/slf4j-log4j12/1.6.4/slf4j-log4j12-1.6 .4.jar)。如果您使用的是 WebLogic,则需要在 WEB-INF/weblogic.xml 中的首选应用程序包中添加“org.slf4j”:org.slf4j.impl.Log4jLoggerFactory

编辑:pom:

<dependencies>
    <dependency>
        <groupId>com.marklogic</groupId>
        <artifactId>mlcp</artifactId>
        <version>8.0-4</version>
    </dependency>
    <dependency>
        <groupId>org.apache.avro</groupId>
        <artifactId>avro</artifactId>
        <version>1.7.4</version>
    </dependency>
    <dependency>
        <groupId>commons-cli</groupId>
        <artifactId>commons-cli</artifactId>
        <version>1.2</version>
    </dependency>
    <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>1.4</version>
    </dependency>
    <dependency>
        <groupId>commons-configuration</groupId>
        <artifactId>commons-configuration</artifactId>
        <version>1.6</version>
    </dependency>
    <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>2.6</version>
    </dependency>
    <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.1.3</version>
    </dependency>
    <dependency>
        <groupId>commons-modeler</groupId>
        <artifactId>commons-modeler</artifactId>
        <version>2.0.1</version>
    </dependency>
    <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId> …
Run Code Online (Sandbox Code Playgroud)

java spring marklogic spring-boot

9
推荐指数
2
解决办法
1万
查看次数

通过XCC将XQuery xml元素作为外部变量传递给Marklogic

我们有一个相当简单的XQuery和Groovy代码如下.Xquery代码:

declare variable $criteria as element(criteria) external ;

<scopedInterventions>{
$criteria/equals/field
}</scopedInterventions>
Run Code Online (Sandbox Code Playgroud)

这是试图调用它的测试代码

def uri = new URI("xcc://admin:admin@localhost:8001")

def contentSource = ContentSourceFactory.newContentSource(uri)

def request = session.newModuleInvoke("ourQuery.xqy")
def criteria =
"""<criteria>
<equals>
<field>status</field>
<value>draft</value>
</equals>
</criteria>
"""

request.setNewVariable("criteria",ValueType.ELEMENT, criteria);

session.submitRequest(request).asString()
}
Run Code Online (Sandbox Code Playgroud)

我们在执行时遇到此错误:

引起:com.marklogic.xcc.exceptions.XQueryException:XDMP-LEXVAL:xs:QName("element()") - 无效的词汇值"element()"[Session:user = admin,cb = {default} [ ContentSource:user = admin,cb = {none} [provider:address = localhost/127.0.0.1:9001,pool = 1/64]] [客户端:XCC/5.0-3,服务器:XDBC/5.0-3] expr :xs:QName("element()")位于com.marklogic.xcc.impl.handlers.ServerExceptionHandler.handleResponse(ServerExceptionHandler.java:34)的com.marklogic.xcc.impl.handlers.EvalRequestController.serverDialog(EvalRequestController.java) :83)com.marklogic.xcc.impl.handlers.AbstractRequestController.runRequest(AbstractRequestController.java:84)at com.marklogic.xcc.impl.SessionImpl.submitRequestInternal(SessionImpl.java:373)at com.marklogic.xcc. impl.SessionImpl.submitRequest(SessionImpl.java:356)com.zynx.galen.dataaccess.MarkLogicUtilities.executeQueryWithMultipleXMLParameters(MarkLogicUtilities.groovy:52)at com.zynx.galen.repositories.ScopedInterventionService.getScopedInterventionsByCriteria(ScopedInterventionService.groovy:20)... 1 more

任何帮助都会受到高度赞赏.

xquery marklogic

8
推荐指数
1
解决办法
2737
查看次数

Marklogic的单元测试

我们正在寻找一个测试我们的MarkLogic XQuery代码的框架.

我们可以看到MarkLogic/XQunit是一个很好的框架,但它没有代码覆盖功能.

MarkLogic XQuery编写单元测试用例的最佳框架是什么?

unit-testing marklogic

8
推荐指数
1
解决办法
731
查看次数