मैं एक साधारण जेना डेटासेट के साथ काम कर रहा हूं, जिसमें केवल एक ~ 30 एमबी आरडीएफ फ़ाइल आयात की गई है। एप्लिकेशन के एक हिस्से के रूप में, मैं उपयोगकर्ताओं को डिफ़ॉल्ट ग्राफ (या एक नामित ग्राफ) से पूछने की कोशिश कर रहा हूं और क्वेरी के परिणामस्वरूप ट्रिपल को नए नाम वाले ग्राफ में डाल सकता हूं। इसके लिए, मैं आरडीएफ फॉर्म में ट्रिपल के परिणाम सेट बनाने के लिए एक CONSTRUCT कथन का उपयोग कर रहा हूं, फिर इन ट्रिपल को एक नए मॉडल में डाल रहा हूं (QueryExecution.execConstruct() का उपयोग करके) और इस मॉडल को डेटासेट में जोड़ना। यह फिर से काम करता प्रतीत होता है, क्योंकि डेटासेट को नया ग्राफ़ नोड मिलता है, और टीडीबी डेटाबेस फ़ोल्डर का डिस्क आकार आकार में बढ़ता है।टीडीबी समर्थित जेना डेटासेट के आकार को कैसे कम करें?
समस्या यहाँ आता है जब मैं डाटासेट से एक नामित ग्राफ दूर करने के लिए प्रयास करें। डेटासेट के हटाए गए नामनाम ("graphName") विधि का उपयोग करके, मैं डेटासेट से मॉडल को हटा देता हूं। उस मॉडल नाम पर भविष्य के प्रश्न बताते हैं कि इसे सफलतापूर्वक हटा दिया गया है। हालांकि, टीडीबी डेटाबेस फ़ोल्डर का डिस्क आकार एक ही आकार बना रहता है, सिंक्रनाइज़ करने और छोड़ने के बाद भी।
पहले मैंने सोचा था कि शायद डेटाबेस हटाए गए फ़ाइलों की जगह को मुफ्त में चिह्नित कर रहा था ताकि नए डेटा के रूप में इसे अधिलेखित किया जा सके, लेकिन ऐसा लगता है कि यह मामला प्रतीत नहीं होता है। यदि मैं एक नामित ग्राफ को हटा देता हूं और उसी प्रोग्राम चलाने के तुरंत बाद इसे प्रतिस्थापित करता हूं, तो फ़ोल्डर बढ़ता प्रतीत नहीं होता है, लेकिन यदि मैं एक नया नाम ग्राफ जोड़ता हूं और इसे उसी रन में हटा देता हूं, तो फ़ोल्डर का आकार बड़ा हो जाता है और मॉडल निष्कासन स्मृति को मुक्त नहीं करता है, जिसका अर्थ यह है कि कुछ रनों के बाद डेटाबेस फ़ोल्डर पांच या दस गुना मूल आकार है, बिना किसी डेटा को पकड़े। फिर
किसी भी अंतर्दृष्टि या मदद बहुत अच्छा होगा, धन्यवाद।
धन्यवाद एक गुच्छा!मैं निश्चित रूप से मेलिंग सूची की जांच करूँगा, यह एक शर्म की बात है कि निष्कासन तालिका के आकार को कम नहीं करता है, लेकिन यह समझ में आता है। एक बार फिर धन्यवाद। – paul