2011-08-23 10 views
6

चलें कहते हैं कि मैं Dbpedia SPARQL endpoint http://dbpedia.org/sparqlब्राउज़र से सीधे बाहरी स्पार्कल अनुरोध से जेसन आउटपुट का उपयोग कैसे करें?

से उत्पन्न json फ़ाइल चाहते हैं अब मैं सिर्फ एक अनुरोध कर रहा हूँ के लिए और यह अपने आप मेरी डिस्क के लिए json फ़ाइल डाउनलोड करता है, और मैं इसे स्थानीय स्तर पर इस्तेमाल करते हैं।

सीधे जेनसन का अंत बिंदु से कैसे उपयोग करें? उदाहरण के लिए, स्थानीय रूप से सहेजी गई जेसन फ़ाइल को इनपुट करने के बजाय अपने कोड में स्वयं को अनुरोध कैसे इनपुट करें?

अधिक ठोस, मैं फेडरर आँकड़े के लिए अनुरोध करते हैं:

select * where {<http://dbpedia.org/resource/Roger_Federer> ?p ?o filter(lang(?o) = 'en')} 

winner.json के रूप में उत्पादन सहेजा जा रहा है और इस के साथ यह प्राप्त करने में कठिनाई:

$.getJSON('json/winner.json', function(json) { 
    for(var i = 0; i < json["results"]["bindings"].length; i++) { 
    $('#winner').append(json["results"]["bindings"][i]["o"].value + '<br /><br />'); 
    }; 
}); 

मैं से सीधे json लाने के लिए सक्षम होना चाहते हैं मेरी लिपि के साथ सर्वर।

क्या मुझे HTML स्वीकृति हेडर या कुछ और पूरी तरह से खेलने की ज़रूरत है? किसी भी टिप पर धन्यवाद।

+0

मुख्य मुद्दा है [ "एक ही मूल नीति"] (http://en.wikipedia.org/wiki/Same_origin_policy)। आप एक और वेबसाइट AJAX नहीं कर सकते हैं। – roselan

+0

I -think-dbpedia इसे अनुमति देता है, लेकिन सुनिश्चित नहीं है। – 3mpetri

+0

@roselan अगर आप इसे अजाक्स कर सकते हैं, तो आप कैसे करेंगे? – 3mpetri

उत्तर

10

बस कार्य करें:

$.getJSON("http://dbpedia.org/sparql?default-graph-uri=http%3A%2F%2Fdbpedia.org&query=select+*+where+%7B%3Chttp%3A%2F%2Fdbpedia.org%2Fresource%2FRoger_Federer%3E+%3Fp+%3Fo+filter%28lang%28%3Fo%29+%3D+%27en%27%29%7D%0D%0A&debug=on&timeout=&format=application%2Fsparql-results%2Bjson&save=display&fname=", 
    {}, 
    function(data) { 
    console.log('data = ', data); 
    }); 
+0

@ip वोआ, यह आसान था: डी क्या आपको शायद पता चलेगा कि मैं अजाक्स के साथ वही काम कैसे करूं और स्वीकार्य हेडर के साथ छेड़छाड़ करूँ? – 3mpetri

+2

तो यूआरएल (डीकोडेड) इस तरह दिखता है: [लिंक] (http://dbpedia.org/sparql?default-graph-uri=http://dbpedia.org&query=select * जहां {? पी? ओ फ़िल्टर (लैंग (? ओ) = 'एन')} और डीबग = ऑन और टाइमआउट = और प्रारूप = पाठ/एचटीएमएल और सहेजें = प्रदर्शन और fname =)। यदि आप जेएसओएन चाहते हैं तो आप प्रारूप पैरामीटर उदाहरण को बदल सकते हैं यदि आपको एचटीएमएल "टेक्स्ट/एचटीएमएल" है तो आपको "एप्लिकेशन/स्पारक्ल-परिणाम + जेसन" डालना चाहिए। –

संबंधित मुद्दे