2013-06-09 3 views
6

मैं अपनी मशीन पर दो या दो से अधिक डेटासेट डाउनलोड करना चाहता हूं और प्रत्येक के लिए SPARQL एंडपॉइंट शुरू करने में सक्षम होना चाहता हूं। मैंने फूसेकी की कोशिश की जो जेना परियोजना का हिस्सा है। हालांकि, यह मेमोरी में पूरे डेटासेट को लोड करता है, जो बहुत अधिक वांछित नहीं है अगर मैं डीबीपीडिया जैसे बड़े डेटासेट्स से पूछताछ करना चाहता हूं कि मुझे अन्य सामान करना है (एकाधिक SPARQL एंडपॉइंट्स शुरू करना और उन पर फ़ेडरेटेड क्वेरी सिस्टम का उपयोग करना)।मेमोरी से बड़े आरडीएफ डेटासेट्स को क्वेरी करना

बस आपको एक सिर देने के लिए, मैं SILK का उपयोग करके एकाधिक डेटासेट को जोड़ने का इरादा रखता हूं, FEDX फ़ेडरेटेड क्वेरी सिस्टम का उपयोग करके उन्हें पूछताछ करता हूं। यदि आप उन प्रणालियों के किसी भी बदलाव की अनुशंसा करते हैं जिनका मैं उपयोग कर रहा हूं, या मुझे एक टिप दे सकता है, तो यह बहुत अच्छा होगा। यदि आप इस परियोजना में फिट होने वाले डेटासेट का सुझाव देते हैं तो यह भी बहुत मददगार होगा।

उत्तर

4

जेना की फूसेकी एक स्टोरेज तंत्र के रूप में टीडीबी का उपयोग कर सकती है, और टीडीबी डिस्क पर चीजें स्टोर करती है। caching on 32 and 64 bit Java systems पर टीडीबी डॉकमेंटेशन इस बात पर चर्चा करता है कि फ़ाइल सामग्री को स्मृति में मैप किया गया है। मुझे विश्वास नहीं है कि टीडीबी/फूसेकी पूरे डेटासेट को स्मृति में लोड करता है; यह बड़े डेटासेट के लिए संभव नहीं है, फिर भी टीडीबी बल्कि बड़े डेटासेट को संभाल सकता है। मुझे लगता है कि आपको टीडीबी स्टोर बनाने के लिए tdbloader का उपयोग करना चाहिए; तो आप इसे फूसेकी को इंगित कर सकते हैं।

this answer में एक टीडीबी स्टोर स्थापित करने का एक उदाहरण है। वहाँ में, क्वेरी tdbquery साथ किया जाता है, लेकिन दस्तावेज की Running a Fuseki server खंड के अनुसार, तुम सब एक ही टीडीबी स्टोर के साथ Fuseki शुरू करने के लिए --loc=DIR विकल्प का उपयोग करने की आवश्यकता होगी:

  • --loc=DIR
    मौजूदा टीडीबी डेटाबेस का प्रयोग करें। यदि यह अस्तित्व में नहीं है तो एक खाली बनाएं।
2

As Joshua said, जेना के Fuseki का उपयोग करता टीडीबी तो यह संसाधनों का एक बहुत का उपयोग किए बिना बहुत बड़ी ontologies स्टोर कर सकते हैं। उदाहरण के लिए, आप इसमें Yago2 taxonomy लोड कर सकते हैं और केवल 600 एमबी रैम का उपयोग कर सकते हैं। आपको अपनी जावा प्रोजेक्ट में फूसेकी लोड करने की आवश्यकता नहीं है, आप इसे कमांड लाइन से चला सकते हैं और इसे अपने प्रोजेक्ट के अंदर पूछ सकते हैं। विंडोज कमांड लाइन पर

लोड यह द्वारा निम्नलिखित:

http://localhost:3030/your_namespace/sparql?query=SELECT * { ?s ?p ?o } 
:

java -jar c:\your_ontology_directory\fuseki-server.jar \ 
    --file=your_ontology.rdf /your_namespace 

तो फिर तुम एक SPARQL क्वेरी इसके खिलाफ किसी भी प्राप्त/पोस्ट आवेदन (यहां तक ​​कि आपके ब्राउज़र में) के साथ चला सकते हैं

परिणाम डिफ़ॉल्ट रूप से एक्सएमएल प्रारूप में लौटे हैं।

<?xml version="1.0"?> 
<sparql xmlns="http://www.w3.org/2005/sparql-results#"> 
    <head> 
    <variable name="s"/> 
    <variable name="p"/> 
    <variable name="o"/> 
    </head> 
    <results> 
    <result> 
     <binding name="s"> 
     <uri>http://yago-knowledge/resource/wordnet_gulag_103467887</uri> 
     </binding> 
     <binding name="p"> 
     <uri>http://www.w3.org/2000/01/rdf-schema#subClassOf</uri> 
     </binding> 
     <binding name="o"> 
     <uri>http://yago-knowledge/resource/wordnet_prison_camp_104005912</uri> 
     </binding> 
    </result> 
    … 
संबंधित मुद्दे