JSON在SPARQL端点接口中作为结果选项提供,但在配置重写规则时,它将丢失。目前,Virtuoso 07.20.3217中的SPARQL结果选项仅为"自动"," RDF / XML"和" Turtle"。
如何配置规则以使用JSON提供结果?
答案 0 :(得分:1)
回复您向OpenLink支持部门发送的电子邮件 -
这是Conductor接口中的疏忽,因为SPARQL查询结果可以从/sparql
查询表单页面(包括JSON)中提供的任何序列化格式返回。我们已记录内部增强请求,以将这些其他格式添加到Conductor URL重写规则UI。
与此同时,您可以通过Conductor UI中的链接导出现有规则,以查看用于创建所选规则的SQL。对于默认的RDF / XML输出格式,它显示为format=application%2Frdf%2Bxml
。
在the list of supported output formats工作,您应该能够将导出规则中的format=application%2Frdf%2Bxml
更改为format=application%2Frdf%2Bjson
,以获得所需的JSON输出。然后,您可以通过isql
手动加载已编辑的规则,其类似于:
DB.DBA.VHOST_REMOVE (
lhost=>'*ini*',
vhost=>'*ini*',
lpath=>'/rewrite-json'
);
DB.DBA.VHOST_DEFINE (
lhost=>'*ini*',
vhost=>'*ini*',
lpath=>'/rewrite-json',
ppath=>'/',
is_dav=>0,
is_brws=>0,
def_page=>'',
vsp_user=>'dba',
ses_vars=>0,
opts=>vector ('browse_sheet', '', 'url_rewrite', 'http_rule_list_1'),
is_default_host=>0
);
DB.DBA.URLREWRITE_CREATE_RULELIST (
'http_rule_list_1', 1,
vector ('http_rule_1')
);
DB.DBA.URLREWRITE_CREATE_REGEX_RULE (
'http_rule_1', 1,
'/rewrite-json',
vector (),
0,
'/sparql?query=select%%20%%2A%%20where%%20%%7B%%3Fs%%20%%3Fp%%20%%3Fo%%7D%%20limit%%205&format=application%2Frdf%2Bjson',
vector (),
NULL,
NULL,
2,
301,
''
);
注意: 在修复此问题之前,您将无法在指挥中编辑此重写规则,因为JSON输出格式将结束 - 用当前列表中的一个写。