在 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!