2011-10-27 26 views
5

मैं SPARQL और RDF के बारे में पढ़ रहा हूं और कृपया मुझे सही करें यदि इन तकनीकों के बारे में मेरा तर्क गलत है।क्या मैं स्थानीय और दूरस्थ डेटासेट को SPARQL क्वेरी के भीतर जोड़ सकता हूं?

मानते हैं कि हमारे पास स्थानीय SPARQL डेटाबेस है जिसे LOCAL कहा जाता है .. और यूआरएल_आरडीएफ नामक रिमोट आरडीएफ फ़ाइल के लिए यूआरएल। क्या मैं एक स्क्रिप्ट लिख सकता हूं जो PHP में कहता है जो इस तरह एक SPARQL क्वेरी करेगा?

छद्म कोड।

SELECT * FROM LOCAL,URL_RDF WHERE LOCAL.id=URL_RDF.id 

दूसरे शब्दों में क्या मैं इस तरह के SPARQL क्वेरी के भीतर स्रोतों को जोड़ सकता हूं (दूरस्थ फ़ाइल + स्थानीय डीबी)?

उत्तर

5

आप SPARQL 1.1 में संघ सुविधाओं का उपयोग करके ऐसा कर सकते हैं। ये http://www.w3.org/TR/sparql11-federated-query में वर्णित हैं, लेकिन आप हैं कि यह दिखता की एक त्वरित छाप देने के लिए, अपने उदाहरण क्वेरी कुछ इस तरह (अभी भी स्यूडोकोड में) होगा:

SELECT * WHERE { 
    # the local part of the query 
    ?s ?p ?id 

    SERVICE <http://url/to/remote/data> { 
    # The remote part of the query 
    ?x ?y ?id 
    } 
} 

नोट URL एक को इंगित करने के लिए होगा SPARQL एंडपॉइंट, यानी एक सर्वर जो SPARQL क्वेरीज़ का जवाब दे सकता है, न केवल एक दूरस्थ आरडीएफ फ़ाइल।

+0

धन्यवाद जनवरी, क्या मैं कच्चे rdf फ़ाइलों का उपयोग कर सकता हूं? क्या मुझे हमेशा एक एंडपॉइंट चाहिए? भले ही क्वेरी केवल URL_RDF से संबंधित होगी। क्या होगा यदि यह URL_RDF फ़ाइल स्थानीय रूप से संग्रहीत की जाएगी? आपकी मदद की सराहना करें – AndroidGecko

+0

आप आरडीएफ फ़ाइलों को सीधे पूछ नहीं सकते हैं, आपको हमेशा कुछ ऐसे सॉफ़्टवेयर की आवश्यकता होती है जो आरडीएफ फ़ाइल का अर्थ देते हैं और इस डेटा पर आपकी क्वेरी का मूल्यांकन करते हैं। ऐसा करने के लिए, आप आमतौर पर "ट्रिपल स्टोर" का उपयोग करते हैं। सभी ट्रिपल स्टोर आपको आरडीएफ फाइलों को लोड करने की अनुमति देते हैं ताकि आप उन्हें पूछ सकें। यदि आपके पास एकाधिक डेटा फ़ाइलें हैं तो आप बस उन्हें एक तिहाई स्टोर में लोड कर सकते हैं और फिर अपने प्रश्नों को चला सकते हैं। या, आप उपरोक्त वर्णित सेवा वाक्यविन्यास का उपयोग करके उनमें से कई ट्रिपल स्टोर्स और क्वेरी का उपयोग कर सकते हैं। – Jan

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