我正在使用ML 8.0-6.3
我正在使用sem:sparql()
函数来运行SPARQL
查询。
如果特定变量没有三元组(variables are in OPTIONAL block
),我将在JSON输出中获取null
值。
MarkLogic中是否有其他解决方法,可以将null
的值替换为""
。
赞:
即将输出:
{
"ncFacetIri": "http://www.test.com/facet/UL",
"acronym": "UL",
"acronym1": null
}
预期的json输出:
{
"ncFacetIri": "http://www.test.com/facet/UL",
"acronym": "UL",
"acronym1": ""
}
通过这种方式,我将sem:sparql
输出转换为JSON对象:
<a>{sem:sparql($query)}</a>/json:object ! json:object(.)
请帮助。
答案 0 :(得分:2)
您可以使用COALESCE:
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT DISTINCT ?subject ?type (COALESCE(?l, "") as ?label)
WHERE {
?subject rdf:type ?type.
OPTIONAL {
?subject rdfs:label ?l.
}
}
HTH!