2017-11-23 16 views
0

JSON은 SPARQL 끝점 인터페이스에서 결과 옵션으로 사용할 수 있지만 다시 쓰기 규칙을 구성 할 때 누락되었습니다. Virtuoso 07.20.3217의 현재 SPARQL 결과 옵션은 "Automatic", "RDF/XML"및 "Turtle"입니다. JSON에서 SPARQL 결과를 제공하기 위해 Virtuoso URL 다시 쓰기 규칙을 구성하는 방법은 무엇입니까?

enter image description here

어떻게 JSON의 결과를 제공 할 수있는 규칙을 구성하는?

오픈 링크 지원으로 귀하의 이메일에 답장 대답으로

답변

1

-

SPARQL 쿼리 결과가 /sparql 쿼리 양식 페이지에서 사용할 수있는 직렬화 형식의 반환 될 수 이것은 지휘자 인터페이스의 감독이었다 JSON이 포함되어 있습니다. Google에서는 이러한 추가 형식을 지휘자 URL 다시 쓰기 규칙 UI에 추가하도록 내부 개선 요청을 기록했습니다.

그 동안 지휘자 UI의 링크를 통해 기존 규칙을 내 보내어 선택한 규칙을 만드는 데 사용 된 SQL을 볼 수 있습니다. 기본 RDF/XML 출력 형식의 경우 format=application%2Frdf%2Bxml으로 표시됩니다.

the list of supported output formats에서 작업하면 내 보낸 규칙의 format=application%2Frdf%2Bxmlformat=application%2Frdf%2Bjson과 같은 것으로 변경하여 원하는 JSON 출력을 얻을 수 있어야합니다. 이 문제는 거기에 고정 될 때까지로, 당신이 도체에서이 재 작성 규칙을 편집 할 수 없습니다 :

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, 
    '' 
); 

참고 : 당신은 수동과 같이 보일 것이다, isql를 통해 편집 된 규칙을로드 할 수 있습니다 JSON 출력 형식은 현재 목록에있는 형식 중 하나를 사용하여 덮어 쓰게됩니다.

또한 working with Virtuoso URL Rewrite Rules에 관한이 기사를 참조하십시오.

+0

감사합니다. 나는 이것을 가지고 있지만 "성명서 실행 결과 집합을 반환하지 않았습니다." 여전히 XML로 결과를 얻는다. –

+0

그럼'format = application %% 2Fsparql-results %% 2Bjson & CXML_redir_for_subjs = 121 & CXML_redir_for_hrefs = & timeout = 30000000'으로 시도해 보았습니다. –

+0

요청의 형식 부분을 선택할 수있는 방법이 있습니까? JSON 및 다른 CSV를 원한다면 하나의 앱을 보유하고 있으며, 동일한 쿼리를 실행하는 것을 선호합니다. –