如何使用模式过滤sparql查询结果?

如何使用模式过滤sparql查询结果?,sparql,marklogic,Sparql,Marklogic,尝试使用以下模式在MarkLogic中过滤sparql结果时 SELECT ... WHERE { ... FILTER ( EXISTS { ?parent <http://www.w3.org/2004/02/skos/core#broader>+ ?root } ) } 目前,MarkLogic要求对此特定案例进行增强。MarkLogic的更新版本即将发布,并在其中进行了更正。联系您的MarkLogic SE或AE,他们可以进一步向您指出时间范围和其他信息。如

尝试使用以下模式在MarkLogic中过滤sparql结果时

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

目前,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" )
 }
SELECT?subject?术语
在哪里{
?主题?术语
过滤正则表达式(?术语,“红色”,“i”)
}

其中“i”表示不区分大小写。

您是否尝试过
过滤器存在{?parent+?root}
?这就是它在[]中的示例中的使用方式。不,它不起作用。我用附加信息更新了我的问题。嗯,它可能是MarkLogic特有的,在Virtuoso上运行良好。更详细地说,MarkLogic 8仅部分支持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 (
 SELECT ?subject ?term
 WHERE {
 ?subject <http://www.smartlogic.com/schemas/docinfo.rdf#tagged_with> ?term 
 FILTER regex(?term, "red", "i" )
 }