如何在MarkLogic中指定CONSTRUCT/DESCRIBE查询输出JSON-LD格式?
在MarkLogic中将JSON-LD设为CONSTRUCT/DESCRIBE查询的输出格式
MarkLogic支持将SPARQL的CONSTRUCT/DESCRIBE结果转换为JSON-LD格式,主要有两种实操方式:
1. 在XQuery中通过函数转换
使用sem:rdf-jsonld()函数直接将SPARQL查询返回的RDF图序列化为JSON-LD,示例代码如下:
xquery version "1.0-ml"; sem:rdf-jsonld( sem:sparql(' CONSTRUCT { ?s ?p ?o } WHERE { ?s ?p ?o } LIMIT 10 ') )
如果需要自定义JSON-LD上下文,可传入额外参数指定:
xquery version "1.0-ml"; sem:rdf-jsonld( sem:sparql(' CONSTRUCT { ?s ?p ?o } WHERE { ?s ?p ?o } LIMIT 10 '), map:entry("@context", map:entry("ex", "http://example.com/ns/")) )
2. 通过REST API设置请求头
如果通过REST API调用SPARQL查询,只需在请求头中设置Accept: application/ld+json,MarkLogic会自动将RDF结果序列化为JSON-LD返回。示例curl命令:
curl -H "Accept: application/ld+json" \ "http://your-marklogic-host:8000/v1/graphs/sparql?query=CONSTRUCT+%7B+%3Fs+%3Fp+%3Fo+%7D+WHERE+%7B+%3Fs+%3Fp+%3Fo+%7D+LIMIT+10"
内容的提问来源于stack exchange,提问作者Daniel
相关产品推荐
相关产品推荐

