2017-11-23 12 views
0

JSONは、SPARQLエンドポイントインターフェイスの結果オプションとして利用できますが、書き換えルールを設定するときにはそれがありません。現在、Virtuoso 07.20.3217のSPARQL結果オプションは「自動」、「RDF/XML」、「タートル」のみです。 JSONで結果を出すためにルールを設定する方法JSONでSPARQL結果を与えるためにVirtuoso URL書き換えルールを設定するには?

enter image description here

オープンリンクのサポートにメールに返信で答えたよう

答えて

1

-

SPARQLクエリ結果が/sparql問合せフォームページから入手できる直列化のいずれかの形式で返すことができ、これは、指揮インタフェースの監督でしたこれにはJSONが含まれます。これらの追加の形式をコンダクター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出力フォーマットは、現在のリストにあるものの1つで上書きされます。

また、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が必要なアプリが1つあります。もちろん、同じクエリを実行する方が好きです。 –

関連する問題