OrientDB - कार्य
यह अध्याय ओरिएंटबीडी में विभिन्न प्रकार के कार्यों का पूरा संदर्भ बताता है। निम्न तालिका फ़ंक्शन की सूची को परिभाषित करती है, जिन्हें उनकी कार्यक्षमता द्वारा वर्गीकृत किया गया है।
ग्राफ़ फ़ंक्शंस
अनु क्रमांक। | समारोह का नाम और विवरण |
---|---|
1 | Out(): वर्टेक्स के रूप में वर्तमान रिकॉर्ड से शुरू होने वाले आसन्न आउटगोइंग हो जाता है। Syntax - बाहर ([<लेबल -1>] [, <लेबल-एन>] *) |
2 | In(): वर्टेक्स के रूप में वर्तमान रिकॉर्ड से शुरू होने वाले आसन्न आवृत्तियों को प्राप्त करता है। Syntax - ([<लेबल -1>] [, <लेबल- n>] *) में |
3 | Both(): वर्टेक्स के रूप में वर्तमान रिकॉर्ड से शुरू होने वाले आसन्न आउटगोइंग और इनकमिंग वर्टिस हो जाता है। Syntax - दोनों ([<लेबल 1>] [, <लेबल- n>] *) |
4 | outE(): वर्टेक्स के रूप में वर्तमान रिकॉर्ड से शुरू होने वाले आसन्न आउटगोइंग किनारों को प्राप्त करता है। Syntax - आउट ([<लेबल 1>] [, <लेबल-एन>] *) |
5 | inE(): वर्टेक्स के रूप में वर्तमान रिकॉर्ड से शुरू होने वाले आसन्न किनारों को प्राप्त करता है। Syntax - ine ([<लेबल 1>] [, <लेबल- n>] *) |
6 | bothE(): निकटवर्ती आउटगोइंग और आने वाले किनारों को वर्टेक्स के रूप में वर्तमान रिकॉर्ड से शुरू होता है। Syntax - दोनों ([<लेबल 1>] [, <लेबल- n>] *) |
7 | outV(): वर्तमान रिकॉर्ड से शुरू होने वाले आउटगोइंग वर्ट्स को एज के रूप में प्राप्त करता है। Syntax - outV () |
8 | inV(): वर्तमान रिकॉर्ड से आने वाले कोने को एज के रूप में प्राप्त करें। Syntax - inV () |
9 | traversedElement(): ट्रैवर्स कमांड में ट्रैवर्स किए गए तत्व को लौटाता है। Syntax - traversedElement (<सूचकांक> [, <आइटम>]) |
10 | traversedVertex(): ट्रैवर्स कमांड में ट्रैवर्स किए गए शीर्ष (एस) को लौटाएं। Syntax - traversedVertex (<इंडेक्स> [, <आइटम>]) |
1 1 | traversedEdge(): ट्रैवर्स कमांड में ट्रैवर्स किए गए किनारे (रिटर्न) को लौटाता है। Syntax - ट्रैवर्सडेज (<सूचकांक> [, <आइटम>]) |
12 | shortestPath(): दो कोने के बीच सबसे छोटा रास्ता देता है। दिशा OUT (डिफ़ॉल्ट), IN या BOTH हो सकती है। Synatx - shortestPath (<sourceVertex>, <गंतव्य स्थान>> [, <दिशा> [, <edgeClassName>]]) |
13 | dijkstra(): दिज्क्स्ट्रा एल्गोरिथ्म का उपयोग करते हुए दो कोने के बीच सबसे सस्ता रास्ता देता है। Syntax - दिक्स्ट्रा (<sourceVertex>, <गंतव्यVertex>, <weightEdgeFieldName> [, <दिशा>]) |
निम्नलिखित प्रश्नों के साथ कुछ ग्राफ़ फ़ंक्शंस आज़माएं।
सभी वाहन वर्टिकल से सभी आउटगोइंग वर्सेट्स प्राप्त करने के लिए निम्न क्वेरी निष्पादित करें।
orientdb {db = demo}>SELECT out() from Vehicle
यदि उपरोक्त क्वेरी को सफलतापूर्वक निष्पादित किया जाता है, तो आपको निम्न आउटपुट मिलेगा।
---+----------+---------
# | @class | out
---+----------+---------
0 | Vehicle | #11:2
1 | Vehicle | #13:1
2 | Vehicle | #13:4
---+----------+---------
शीर्ष # 11: 3 से आने वाले और बाहर जाने वाले दोनों को प्राप्त करने के लिए निम्नलिखित क्वेरी को निष्पादित करें।
orientdb {db = demo}>SELECT both() FROM #11:3
यदि उपरोक्त क्वेरी को सफलतापूर्वक निष्पादित किया जाता है, तो आपको निम्न आउटपुट मिलेगा।
---+----------+--------+-------
# | @class | out | in
---+----------+--------+-------
0 | Vehicle | #13:2 | #10:2
---+----------+-------+-------
गणित के कार्य
अनु क्रमांक। | समारोह का नाम और विवरण |
---|---|
1 | eval(): उद्धरण (या दोहरे उद्धरण) के बीच की अभिव्यक्ति का मूल्यांकन करता है। Syntax - eval ('<अभिव्यक्ति>') |
2 | min(): न्यूनतम मान लौटाता है। यदि एक से अधिक पैरामीटर के साथ लागू किया जाता है, तो यह सभी तर्कों के बीच न्यूनतम तर्क मूल्य देता है। Syntax - मिनट (<फ़ील्ड> [, <फ़ील्ड-एन>] *) |
3 | max(): अधिकतम मान लौटाता है। यदि एक से अधिक पैरामीटर के साथ आह्वान किया जाता है, तो सभी तर्कों के बीच अधिकतम मान लौटाता है। Syntax - अधिकतम (<फ़ील्ड> [, <फ़ील्ड-एन>] *) |
4 | sum() लौटे सभी मानों का योग। Syntax - योग (<फ़ील्ड>) |
5 | abs(): निरपेक्ष मान लौटाता है। यह Integer, Long, Short, Double, Float, BigInteger, BigDecimal, null के साथ काम करता है। Syntax - एब्स (<फ़ील्ड>) |
6 | avg(): औसत मान लौटाता है। Syntax - avg (<फ़ील्ड>) |
7 | count(): क्वेरी स्थिति से मेल खाने वाले रिकॉर्ड को गिनता है। यदि * फ़ील्ड के रूप में उपयोग नहीं किया जाता है, तो रिकॉर्ड केवल तभी गिना जाएगा जब सामग्री शून्य नहीं होगी। Syntax - गिनती (<फ़ील्ड>) |
8 | mode(): वह मान लौटाता है जो सबसे बड़ी आवृत्ति के साथ होता है। गणना में नल की अनदेखी की जाती है। Syntax - मोड (<फ़ील्ड>) |
9 | median(): मानों को क्रमबद्ध करने के बाद मध्य मान या एक प्रक्षेपित मान लौटाता है जो मध्य मान का प्रतिनिधित्व करता है। गणना में नल की अनदेखी की जाती है। Syntax - मध्य (<क्षेत्र>) |
10 | percentile(): Nth प्रतिशताइल देता है। गणना में नल की अनदेखी की जाती है। Syntax - प्रतिशतक (<फ़ील्ड> [, <quantile-n>] *) |
1 1 | variance() मध्य विचरण लौटाता है: औसत से चुकता अंतर का औसत।
Syntax - विचरण (<फ़ील्ड>) |
12 | stddev() मानक विचलन लौटाता है: मूल्यों को कैसे फैलाना है, इसका माप। गणना में नल की अनदेखी की जाती है। Syntax - stddev (<फ़ील्ड>) |
निम्नलिखित प्रश्नों का उपयोग करके कुछ गणित कार्यों को आज़माएँ।
सभी कर्मचारियों के वेतन का योग प्राप्त करने के लिए निम्नलिखित प्रश्न को निष्पादित करें।
orientdb {db = demo}>SELECT SUM(salary) FROM Employee
यदि उपरोक्त क्वेरी को सफलतापूर्वक निष्पादित किया जाता है, तो आपको निम्न आउटपुट मिलेगा।
---+----------+---------
# | @CLASS | sum
---+----------+---------
0 | null | 150000
---+----------+---------
सभी कर्मचारियों का औसत वेतन पाने के लिए निम्नलिखित क्वेरी का निष्पादन करें।
orientdb {db = demo}>SELECT avg(salary) FROM Employee
यदि उपरोक्त क्वेरी को सफलतापूर्वक निष्पादित किया जाता है, तो आपको निम्न आउटपुट मिलेगा।
---+----------+---------
# | @CLASS | avg
---+----------+---------
0 | null | 25
---+----------+---------
संग्रह कार्य
अनु क्रमांक। | समारोह का नाम और विवरण |
---|---|
1 | set(): एक सेट के लिए एक मूल्य जोड़ता है। यदि मान एक संग्रह है, तो इसे सेट के साथ मिला दिया जाता है, अन्यथा <value> जोड़ा जाता है। Syntax - सेट (<फ़ील्ड>) |
2 | map(): पहली बार मानचित्र बनाए जाने पर एक मान को एक मानचित्र में जोड़ता है। यदि <value> एक मानचित्र है, तो इसे मानचित्र के साथ मिला दिया जाता है, अन्यथा जोड़ी <key> और <value> को नई प्रविष्टि के रूप में मानचित्र में जोड़ा जाता है। Syntax - नक्शा (<कुंजी>, <मूल्य>) |
3 | ist(): पहली बार सूची बनाने के लिए मूल्य जोड़ता है। यदि <value> एक संग्रह है, तो इसे सूची में मिला दिया जाता है, अन्यथा <value> को सूची में जोड़ दिया जाता है। Syntax - सूची (<फ़ील्ड>) |
4 | difference(): कुल या इनलाइन के रूप में काम करता है। यदि केवल एक तर्क पारित किया जाता है, तो एकत्र करता है, अन्यथा निष्पादित करता है, और मापदंडों के रूप में प्राप्त संग्रह के बीच प्रसार को वापस करता है। Syntax - अंतर (<फ़ील्ड> [, <फ़ील्ड-एन>] *) |
5 | first(): बहु-मूल्य फ़ील्ड (सरणियाँ, संग्रह और नक्शे) का केवल पहला आइटम पुनर्प्राप्त करता है। गैर-बहु-मूल्य प्रकारों के लिए बस मान लौटाता है। Syntax - पहला (<फ़ील्ड>) |
6 | intersect(): कुल या इनलाइन के रूप में काम करता है। यदि केवल एक तर्क पारित किया जाता है, तो एकत्र करता है, अन्यथा निष्पादित करता है, और रिटर्न करता है, मापदंडों के रूप में प्राप्त संग्रह का अंतर। Syntax - प्रतिच्छेदन (<फ़ील्ड> [, <फ़ील्ड-एन>] *) |
7 | distinct(): तर्क के रूप में आपके द्वारा निर्दिष्ट फ़ील्ड के आधार पर केवल अनन्य डेटा प्रविष्टियाँ पुनर्प्राप्त करता है। मानक SQL DISTINCT की तुलना में मुख्य अंतर यह है कि OrientDB के साथ, कोष्ठक और केवल एक क्षेत्र के साथ एक फ़ंक्शन निर्दिष्ट किया जा सकता है। Syntax - अलग (<फ़ील्ड>) |
8 | expand(): इस फ़ंक्शन के दो अर्थ हैं
Syntax - विस्तार (<फ़ील्ड>) |
9 | unionall(): कुल या इनलाइन के रूप में काम करता है। यदि केवल एक तर्क पारित किया जाता है, तो एकत्र करता है, अन्यथा मापदंडों के रूप में प्राप्त सभी संग्रहों का एक संघ निष्पादित करता है और वापस करता है। संग्रह मूल्यों के साथ भी काम करता है। Syntax - संघाल (<क्षेत्र> [, <क्षेत्र-एन>] *) |
10 | flatten(): फ़ील्ड में संग्रह को निकालता है और परिणाम के रूप में इसका उपयोग करता है। इसके बजाय, इसका उपयोग घटाया गया है। Syntax - समतल (<फ़ील्ड>) |
1 1 | last(): बहु-मूल्य फ़ील्ड (सरणियाँ, संग्रह और नक्शे) के केवल अंतिम आइटम को पुनर्प्राप्त करता है। गैर-बहु-मूल्य प्रकारों के लिए बस मान लौटाता है। Syntax - अंतिम (<फ़ील्ड>) |
12 | symmetricDifference(): कुल या इनलाइन के रूप में काम करता है। यदि केवल एक तर्क पारित किया जाता है, तो एकत्र करता है, अन्यथा निष्पादित करता है, और रिटर्न करता है, मापदंडों के रूप में प्राप्त संग्रह के बीच SYMMETRIC DIFFERENCE। Syntax - सममिति संदर्भ (<फ़ील्ड> [, <फ़ील्ड-एन>] *) |
निम्नलिखित प्रश्नों का उपयोग करके कुछ संग्रह कार्य करने का प्रयास करें।
कक्षा 9 वीं को पढ़ाने वाले शिक्षकों का एक सेट प्राप्त करने के लिए निम्नलिखित क्वेरी को निष्पादित करें।
orientdb {db = demo}>SELECT ID, set(teacher.id) AS teacherID from classess where class_id = 9
यदि उपरोक्त क्वेरी को सफलतापूर्वक निष्पादित किया जाता है, तो आपको निम्न आउटपुट मिलेगा।
---+----------+--------+--------------------------
# | @CLASS | id | TeacherID
---+----------+--------+--------------------------
0 | null | 9 | 1201, 1202, 1205, 1208
---+----------+-------+---------------------------
विविध कार्य
अनु क्रमांक। | समारोह का नाम और विवरण |
---|---|
1 | date(): किसी स्ट्रिंग को स्वरूपित करने की तारीख देता है। <date-as-string> स्ट्रिंग प्रारूप में तारीख है, और <format> इन नियमों का पालन करने की तारीख प्रारूप है। Syntax - दिनांक (<दिनांक-जैसा-स्ट्रिंग> [<प्रारूप>] [, <timezone>]) |
2 | sysdate(): वर्तमान दिनांक और समय लौटाता है। Syntax - sysdate ([<प्रारूप>] [, <timezone>]) |
3 | format(): String.format () सम्मेलनों का उपयोग करके एक मूल्य का प्रारूप। Syntax - प्रारूप (<प्रारूप> [, <arg1>] (, <arg-n>] *। Md) |
4 | distance(): हैवेरिन एल्गोरिथ्म का उपयोग करके ग्लोब में दो बिंदुओं के बीच की दूरी की वापसी। निर्देशांक की डिग्री होनी चाहिए। Syntax - दूरी (<x-field>, <y-field>, <x-value>, <y-value>) |
5 | ifnull(): पारित क्षेत्र / मूल्य (या वैकल्पिक पैरामीटर return_value_if_not_null) देता है। यदि फ़ील्ड / मान शून्य नहीं है, तो यह return_value_if_null देता है। Syntax - ifnull (<फ़ील्ड | मान>>, <return_value_if_null> [, <return_value_if_not_null>] (, <फ़ील्ड & .md # 124; मूल्य>] *) |
6 | coalesce(): पहला क्षेत्र लौटाता है / मान शून्य पैरामीटर नहीं है। यदि कोई फ़ील्ड / मान शून्य नहीं है, तो शून्य देता है। Syntax - समतल (<क्षेत्र | मान>> [, <क्षेत्र-एन | मान-एन>] *) |
7 | uuid(): लीच-सैलज वेरिएंट का उपयोग करके एक यूयूआईडी को 128-बिट मूल्य के रूप में उत्पन्न करता है। Syntax - uuid () |
8 | if(): एक शर्त (पहले पैरामीटर) का मूल्यांकन करता है और दूसरा पैरामीटर लौटाता है यदि स्थिति सही है, तो तीसरा अन्यथा। Syntax - अगर (<अभिव्यक्ति>, <परिणाम-अगर-सच>, <परिणाम-अगर-गलत>) |
निम्नलिखित प्रश्नों का उपयोग करके कुछ Misc फ़ंक्शन आज़माएं।
अभिव्यक्ति के निष्पादन के तरीके के बारे में जानने के लिए निम्नलिखित प्रश्न को निष्पादित करें।
orientdb {db = demo}> SELECT if(eval("name = 'satish'"), "My name is satish",
"My name is not satish") FROM Employee
यदि उपरोक्त क्वेरी को सफलतापूर्वक निष्पादित किया जाता है, तो आपको निम्न आउटपुट मिलेगा।
----+--------+-----------------------
# |@CLASS | IF
----+--------+-----------------------
0 |null |My name is satish
1 |null |My name is not satish
2 |null |My name is not satish
3 |null |My name is not satish
4 |null |My name is not satish
----+--------+------------------------
सिस्टम दिनांक प्राप्त करने के लिए निम्न क्वेरी निष्पादित करें।
orientdb {db = demo}> SELECT SYSDATE() FROM Employee
यदि उपरोक्त क्वेरी को सफलतापूर्वक निष्पादित किया जाता है, तो आपको निम्न आउटपुट मिलेगा।
----+--------+-----------------------
# |@CLASS | SYSDATE
----+--------+-----------------------
0 |null |2016-02-10 12:05:06
1 |null |2016-02-10 12:05:06
2 |null |2016-02-10 12:05:06
3 |null |2016-02-10 12:05:06
4 |null |2016-02-10 12:05:06
----+--------+------------------------
इस फ़ंक्शन का अच्छी तरह से उपयोग करके आप आसानी से ओरिएंटबीडी डेटा में हेरफेर कर सकते हैं।