OrientDB - İşlevler

Bu bölüm, OrientDB'deki farklı işlev türlerinin tam referansını açıklamaktadır. Aşağıdaki tablo, işlevlerine göre kategorize edilen işlevlerin listesini tanımlar.

Grafik İşlevleri

Sr.No. Fonksiyon Adı & Tanımı
1

Out():

Vertex olarak geçerli kayıttan başlayarak bitişik giden köşeleri alır.

Syntax - dışarı ([<label-1>] [, <label-n>] *)

2

In():

Vertex olarak geçerli kayıttan başlayarak bitişik gelen köşeleri alır.

Syntax - içinde ([<label-1>] [, <label-n>] *)

3

Both():

Vertex olarak geçerli kayıttan başlayarak bitişik giden ve gelen köşeleri alır.

Syntax - her ikisi de ([<label1>] [, <label-n>] *)

4

outE():

Vertex olarak geçerli kayıttan başlayarak bitişik giden kenarları alır.

Syntax - outE ([<label1>] [, <label-n>] *)

5

inE():

Vertex olarak geçerli kayıttan başlayarak bitişik gelen kenarları alır.

Syntax - inE ([<label1>] [, <label-n>] *)

6

bothE():

Vertex olarak geçerli kayıttan başlayarak bitişik giden ve gelen kenarları alır.

Syntax - her ikisiE ([<label1>] [, <label-n>] *)

7

outV():

Geçerli kayıttan başlayarak giden köşeleri Edge olarak alır.

Syntax - outV ()

8

inV():

Mevcut kayıttan gelen köşeleri Edge olarak alın.

Syntax - inV ()

9

traversedElement():

Travers komutlarında geçilen öğeleri döndürür.

Syntax - traversedElement (<index> [, <items>])

10

traversedVertex():

Traverse komutlarında geçilen köşe (ler) i döndür.

Syntax - traversedVertex (<index> [, <items>])

11

traversedEdge():

Travers komutlarında geçilen kenarları döndürür.

Syntax - traversedEdge (<index> [, <items>])

12

shortestPath():

İki köşe arasındaki en kısa yolu döndürür. Yön OUT (varsayılan), IN veya BOTH olabilir.

Synatx - shortestPath (<sourceVertex>, <destinationVertex> [, <direction> [, <edgeClassName>]])

13

dijkstra():

Dijkstra algoritmasını kullanarak iki köşe arasındaki en ucuz yolu döndürür.

Syntax - dijkstra (<sourceVertex>, <destinationVertex>, <weightEdgeFieldName> [, <direction>])

Aşağıdaki sorgularla birlikte bazı grafik işlevlerini deneyin.

Tüm giden köşeleri tüm araç köşelerinden almak için aşağıdaki sorguyu yürütün.

orientdb {db = demo}>SELECT out() from Vehicle

Yukarıdaki sorgu başarıyla yürütülürse, aşağıdaki çıktıyı alacaksınız.

---+----------+--------- 
 # | @class   | out 
---+----------+--------- 
 0 | Vehicle  | #11:2 
 1 | Vehicle  | #13:1 
 2 | Vehicle  | #13:4 
---+----------+---------

11: 3 numaralı köşe noktasından hem gelen hem de giden köşeleri almak için aşağıdaki sorguyu yürütün.

orientdb {db = demo}>SELECT both() FROM #11:3

Yukarıdaki sorgu başarıyla yürütülürse, aşağıdaki çıktıyı alacaksınız.

---+----------+--------+------- 
 # | @class   | out    | in  
---+----------+--------+------- 
 0 | Vehicle  | #13:2  | #10:2   
 ---+----------+-------+-------

Matematik Fonksiyonları

Sr.No. Fonksiyon Adı & Tanımı
1

eval():

Tırnak işaretleri (veya çift tırnak işaretleri) arasındaki ifadeyi değerlendirir.

Syntax - eval ('<ifade>')

2

min():

Minimum değeri döndürür. Birden fazla parametre ile çağrılırsa, tüm argümanlar arasında minimum argüman değerini döndürür.

Syntax - min (<field> [, <field-n>] *)

3

max():

Maksimum değeri döndürür. Birden fazla parametre ile çağrılırsa, tüm bağımsız değişkenler arasındaki maksimum değeri döndürür.

Syntax - max (<field> [, <field-n>] *)

4

sum()

Döndürülen tüm değerlerin toplamını döndürür.

Syntax - toplam (<field>)

5

abs():

Mutlak değeri verir. Integer, Long, Short, Double, Float, BigInteger, BigDecimal, null ile çalışır.

Syntax - abs (<field>)

6

avg():

Ortalama değeri verir.

Syntax - ort (<field>)

7

count():

Sorgu koşuluyla eşleşen kaydı sayar. Alan olarak * kullanılmıyorsa, kayıt yalnızca içerik boş değilse sayılacaktır.

Syntax - say (<field>)

8

mode():

En büyük sıklıkta oluşan değeri döndürür. Hesaplamada boş değerler yok sayılır.

Syntax - mod (<field>)

9

median():

Değerler sıralandıktan sonra orta değeri veya orta değeri temsil eden enterpolasyonlu değeri döndürür. Hesaplamada boş değerler yok sayılır.

Syntax - medyan (<field>)

10

percentile():

N. yüzdelik dilimi döndürür. Null, hesaplamada göz ardı edilir.

Syntax - yüzdelik dilim (<field> [, <quantile-n>] *)

11

variance()

Orta varyansı verir: Ortalamadan kare farkının ortalaması.

Syntax - varyans (<field>)

12

stddev()

Standart sapmayı döndürür: Değerlerin nasıl yayıldığının ölçüsü. Hesaplamada boş değerler yok sayılır.

Syntax - stddev (<field>)

Aşağıdaki sorguları kullanarak bazı matematik işlevlerini deneyin.

Tüm çalışanların maaşlarının toplamını almak için aşağıdaki sorguyu yürütün.

orientdb {db = demo}>SELECT SUM(salary) FROM Employee

Yukarıdaki sorgu başarıyla yürütülürse, aşağıdaki çıktıyı alacaksınız.

---+----------+--------- 
 # | @CLASS   | sum 
---+----------+--------- 
 0 | null     | 150000 
---+----------+---------

Tüm çalışanların ortalama maaşını almak için aşağıdaki sorguyu yürütün.

orientdb {db = demo}>SELECT avg(salary) FROM Employee

Yukarıdaki sorgu başarıyla yürütülürse, aşağıdaki çıktıyı alacaksınız.

---+----------+--------- 
 # | @CLASS   | avg 
---+----------+--------- 
 0 | null     | 25 
---+----------+---------

Koleksiyonlar İşlevleri

Sr.No. Fonksiyon Adı & Tanımı
1

set():

Bir kümeye değer ekler. Değer bir koleksiyon ise, kümeyle birleştirilir, aksi takdirde <değer> eklenir.

Syntax - ayarla (<field>)

2

map():

Harita ilk oluşturulduğunda haritaya bir değer ekler. <value> bir haritaysa, haritayla birleştirilir, aksi takdirde <key> ve <value> çifti yeni giriş olarak haritaya eklenir.

Syntax - harita (<key>, <value>)

3

ist():

Liste ilk oluşturulduğunda listelemek için bir değer ekler. <Değer> bir koleksiyon ise, listeyle birleştirilir, aksi takdirde listeye <değer> eklenir.

Syntax - liste (<field>)

4

difference():

Toplu veya satır içi olarak çalışır. Yalnızca bir bağımsız değişken iletilirse, o zaman toplar, aksi takdirde çalıştırır ve parametre olarak alınan koleksiyonlar arasındaki FARKI döndürür.

Syntax - fark (<field> [, <field-n>] *)

5

first():

Çok değerli alanların (diziler, koleksiyonlar ve haritalar) yalnızca ilk öğesini alır. Çok değerli olmayan türler için yalnızca değeri döndürür.

Syntax - ilk (<field>)

6

intersect():

Toplu veya satır içi olarak çalışır. Yalnızca bir bağımsız değişken iletilirse, parametre olarak alınan koleksiyonların ETKİLEŞİMİNİ toplar, aksi takdirde yürütür ve döndürür.

Syntax - kesişme (<field> [, <field-n>] *)

7

distinct():

Bağımsız değişken olarak belirttiğiniz alana bağlı olarak yalnızca benzersiz veri girişlerini alır. Standart SQL DISTINCT ile karşılaştırıldığında temel fark, OrientDB ile parantezli bir fonksiyon ve yalnızca bir alan belirtilebilmesidir.

Syntax - farklı (<field>)

8

expand():

Bu işlevin iki anlamı vardır−

  • Bir koleksiyon alanında kullanıldığında, alandaki koleksiyonu çözer ve sonuç olarak kullanır.

  • Bir bağlantı (RID) alanında kullanıldığında, o bağın işaret ettiği belgeyi genişletir.

Syntax - genişlet (<field>)

9

unionall():

Toplu veya satır içi olarak çalışır. Yalnızca bir bağımsız değişken iletilirse, toplanır, aksi takdirde parametre olarak alınan tüm koleksiyonların bir BİRLİĞİNİ yürütür ve döndürür. Ayrıca koleksiyon değerleri olmadan çalışır.

Syntax - unionall (<field> [, <field-n>] *)

10

flatten():

Alandaki koleksiyonu çıkarır ve sonuç olarak kullanır. Kullanımdan kaldırılmıştır, bunun yerine expand () kullanın.

Syntax - düzleştir (<field>)

11

last():

Çok değerli alanların (diziler, koleksiyonlar ve haritalar) yalnızca son öğesini alır. Çok değerli olmayan türler için yalnızca değeri döndürür.

Syntax - son (<field>)

12

symmetricDifference():

Toplu veya satır içi olarak çalışır. Yalnızca bir bağımsız değişken aktarılırsa, parametre olarak alınan koleksiyonlar arasındaki SİMETRİK FARKI toplar, aksi takdirde yürütür ve döndürür.

Syntax - simetrik Fark (<field> [, <field-n>] *)

Aşağıdaki sorguları kullanarak bazı toplama işlevlerini deneyin.

9. sınıfa öğreten bir dizi öğretmen almak için aşağıdaki sorguyu yürütün.

orientdb {db = demo}>SELECT ID, set(teacher.id) AS teacherID from classess where class_id = 9

Yukarıdaki sorgu başarıyla yürütülürse, aşağıdaki çıktıyı alacaksınız.

---+----------+--------+-------------------------- 
 # | @CLASS   | id     | TeacherID 
---+----------+--------+-------------------------- 
 0 | null     | 9     |   1201, 1202, 1205, 1208 
---+----------+-------+---------------------------

Çeşitli Fonksiyonlar

Sr.No. Fonksiyon Adı & Tanımı
1

date():

Bir dizeyi biçimlendiren bir tarih döndürür. <date-as-string>, dize biçimindeki tarihtir ve <format>, bu kuralları izleyen tarih biçimidir.

Syntax - tarih (<date-as-string> [<format>] [, <timezone>])

2

sysdate():

Geçerli tarih ve saati döndürür.

Syntax - sysdate ([<format>] [, <timezone>])

3

format():

String.format () kurallarını kullanarak bir değeri biçimlendirir.

Syntax - biçim (<biçim> [, <arg1>] (, <arg-n>] *. Md)

4

distance():

Haversine algoritmasını kullanarak dünyadaki iki nokta arasındaki mesafeyi döndürür. Koordinatlar derece olmalıdır.

Syntax - mesafe (<x-field>, <y-field>, <x-value>, <y-value>)

5

ifnull():

Geçilen alanı / değeri (veya isteğe bağlı return_value_if_not_null parametresini) döndürür. Alan / değer boş değilse, return_value_if_null döndürür.

Syntax - ifnull (<alan | değer>, <return_value_if_null> [, <return_value_if_not_null>] (, <alan & .md # 124; değer>] *)

6

coalesce():

İlk alanı / değeri, boş olmayan parametreyi döndürür. Hiçbir alan / değer boş değilse, boş döndürür.

Syntax - birleştirme (<alan | değer> [, <alan-n | değer-n>] *)

7

uuid():

Leach-Salz varyantını kullanarak 128 bitlik bir değer olarak bir UUID oluşturur.

Syntax - uuid ()

8

if():

Bir koşulu (ilk parametreler) değerlendirir ve koşul doğruysa ikinci parametreyi, aksi takdirde üçüncü parametreyi döndürür.

Syntax - eğer (<ifade>, <sonuç-varsa-doğru>, <sonuç-yanlış-yanlış>)

Aşağıdaki sorguları kullanarak bazı Misc işlevlerini deneyin.

If ifadesinin nasıl yürütüleceğini öğrenmek için aşağıdaki sorguyu yürütün.

orientdb {db = demo}> SELECT if(eval("name = 'satish'"), "My name is satish", 
"My name is not satish") FROM Employee

Yukarıdaki sorgu başarıyla yürütülürse, aşağıdaki çıktıyı alacaksınız.

----+--------+----------------------- 
#   |@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  
----+--------+------------------------

Sistem tarihini almak için aşağıdaki sorguyu yürütün.

orientdb {db = demo}> SELECT SYSDATE() FROM Employee

Yukarıdaki sorgu başarıyla yürütülürse, aşağıdaki çıktıyı alacaksınız.

----+--------+----------------------- 
#   |@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 
----+--------+------------------------

Bu işlevi kapsamlı bir şekilde kullanarak, OrientDB verilerini kolayca değiştirebilirsiniz.