मैंने Graph Dataframe और Database विकसित किए हैं
(github.com/eastlighting1)मैं उस लैब में पढ़ने वाला छात्र हूँ जहाँ knowledge graph, ontology आदि पर काम होता था, और मैंने वहीं से मास्टर्स पूरा किया है.
ग्रेजुएशन के बाद मैं सोच रहा था कि मैं किस क्षेत्र में अपना प्रोफ़ाइल मज़बूत कर सकता हूँ, तभी मुझे वह बात याद आई जिस पर हमारे स्कूल में ज़ोर दिया जाता था: 'open source'. उसके बाद मैंने कई तरह के आइडिया सोचे, और फिर मास्टर्स के दौरान neo4j का उपयोग करके रिसर्च करने की कोशिश की थी लेकिन IO में बहुत ज़्यादा समय लगने के कारण उसे छोड़ना पड़ा था—यह याद आ गया. इसलिए मैंने सोचा कि मौजूदा लाइब्रेरी-स्तर का प्रदर्शन बनाए रखते हुए तेज़ लाइब्रेरी विकसित की जाएँ, और इसी सोच के तहत Graph Ecosystem विषय पर AI Agent की मदद से कई तरह की ग्राफ लाइब्रेरी बना रहा हूँ.
-
Lynxes
- Lynxes, Polars के Graph version को लक्ष्य बनाकर बनाई गई एक Dataframe लाइब्रेरी है. इसलिए इसका नाम भी Pandas - Polars के बाद Lynxes रखा गया है.
- Ontology के RDF से मिलती-जुलती
gfनाम की एक data file भी साथ में implement करके उपयोग की जा रही है. - यह Apache Arrow आधारित है, लेकिन यह मूल रूप से dataframe की तरह CRUD को support नहीं करता! इसलिए इसे कैसे संभाला जाए, इस पर मुझे काफ़ी सोचना पड़ा.
- benchmark देखें तो, ईमानदारी से कहूँ तो यह मौजूदा लाइब्रेरी जैसे networkx या igraph से तेज़ नहीं है, लेकिन फिर भी उपयोग में असुविधा हो इतनी धीमी नहीं है, इसलिए फिलहाल मैं संतुष्ट हूँ.
-
CaracalDB
- CaracalDB, DuckDB के Graph DB version को लक्ष्य बनाकर बनाई गई एक Database लाइब्रेरी है. X + DB संरचना DuckDB से ली गई है—यह आप शायद तुरंत समझ गए होंगे—और Caracal नाम के लिए GPT की उस सलाह का सहारा लिया कि caracal, lynx जैसा ही एक जानवर है.
- CaracalDB के पास
.crclनाम की अपनी dedicated DB file भी है. पहले यह directory structure में था, लेकिन जब इसे file-based बनाने को कहा गया तो यह file रूप में भी अच्छे से चलने लगा, जो अच्छा लगा. - Embedded DB होने की वजह से, स्वाभाविक रूप से यह server-आधारित Neo4j की तुलना में तेज़ है.
दोनों लाइब्रेरी pypi पर अपलोड की जा चुकी हैं, इसलिए इन्हें तुरंत इस्तेमाल किया जा सकता है.
uv add lynxes
uv add caracaldb
इसके अलावा, benchmark कार्य और optimization को अलग से इस repository में आगे बढ़ा रहा हूँ.
- TASK 1 knowledge graph है, TASK 2 GraphRAG है. आगे GNN करने का विचार है.
अभी भी बहुत सी कमियाँ हैं. 'इसे ऐसे क्यों implement किया?', 'यह benchmark इस तरह क्यों बनाया?' जैसी आलोचना और सुझाव भी स्वागतयोग्य हैं.
अभी कोई टिप्पणी नहीं है.