editor php Zimo akan memperkenalkan kepada anda hari ini satu fenomena menarik yang dipanggil Gremlingo. Apabila kita menambah tepi antara dua bucu graf, traverser biasanya tidak memetakan kepada nilai yang sepadan. Fenomena ini mungkin membawa kepada ralat logik dalam atur cara, jadi kita perlu mengendalikannya secara khusus. Dalam artikel ini, kami akan membincangkan punca dan penyelesaian fenomena Gremlingo secara terperinci untuk membantu pembaca menangani masalah ini dengan lebih baik.
Saya menggunakan tinkerpop gremling-go untuk mengakses gremlin-server/janusgraph. Apabila cuba mencipta tepi antara dua bucu, saya mendapat ralat berikut
the provided traverser does not map to a value: ...
Bucu ditambah oleh
t.addv("somenode").property("some_id", someid).iterate()
dan
t.addv("someothernode").property("some_id", someid).iterate()
Yang t
是 *gremlingo.graphtraversal
. Puncak berjaya ditambahkan.
Tepi ditambah oleh
t.AddE("someedge"). From( __.V(). HasLabel("somenode"). Has("some_id", someID), ). To( __.V(). HasLabel("someothernode"). Has("some_id", someID), ). Iterate()
di mana t
是 *gremlingo.graphtraversal
,而 __
是 gremlingo.t__
, dan __
ialah alias untuk gremlingo.t__
. Tepi tidak dibuat dan keluaran ralat di atas muncul.
Menggunakan gremlin-console melalui g.adde("someedge").from(__.v().haslabel("somenode").has("some_id","some_id_1")).to(__. v().haslabel("someothernode").has("some_id","some_id_1"))
其中 g
adalah traversal berfungsi dengan baik.
Sila ambil perhatian bahawa saya telah meninggalkan pengendalian ralat pergi.
Adakah anda sedang menunggu permintaan async selesai?
channel := t.AddV("somenode").Property("some_id", someID).Iterate()
err :=
Atas ialah kandungan terperinci Gremlingo: Traverser tidak memetakan nilai apabila menambah tepi antara dua bucu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!