在 MarkLogic 中用 '' 'sem:sparql' 输出 json 替换空值
Replace null values with '' 'sem:sparql' output json in MarkLogic
我在用机器学习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(.)
请帮忙。
您可以使用 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!
我在用机器学习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(.)
请帮忙。
您可以使用 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!