簡體   English   中英

如何使用模式過濾sparql查詢結果?

[英]How to filter sparql query result with a pattern?

當嘗試使用以下模式在MarkLogic中過濾sparql結果時,

SELECT ...
WHERE
{
    ...
    FILTER ( EXISTS { ?parent <http://www.w3.org/2004/02/skos/core#broader>+ ?root } )
}

我收到以下錯誤:

[1.0-ml] XDMP-UNEXPECTED: (err:XPST0003) Unexpected token syntax error, unexpected {, expecting (
Stack Trace

At line 17 column 19:
In xxxx
17. FILTER ( EXISTS { ?parent <http://www.w3.org/2004/02/skos/core#broader>+ ?root } )

MarkLogic不支持Sparql 1.1語法還是我的查詢不正確?

我也嘗試了以下方法:

FILTER EXISTS { ?parent <http://www.w3.org/2004/02/skos/core#broader>+ ?root } 

錯誤消息是:

[1.0-ml] XDMP-UNEXPECTED: (err:XPST0003) Unexpected token syntax error, unexpected {, expecting (

當前,MarkLogic要求對此特定情況進行增強。 MarkLogic的更新版本即將發布,並且已對其進行了更正。 請與您的MarkLogic SE或AE聯系,他們可以為您提供進一步的時間表和其他信息。

如果您要使用特定模式,則可以使用正則表達式

例如,如果您的查詢是這樣的:

 SELECT ?subject ?term
 WHERE {
 ?subject <http://www.smartlogic.com/schemas/docinfo.rdf#tagged_with> ?term 
 FILTER regex(?term, "red", "i" )
 }

其中“ i”表示不區分大小寫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM