Bir DNS hiyerarşisini bir OrientDB grafiğinde saklama fikrini deniyorum ve belirli bir etki alanı için yeni bir köşe noktası eklemek için uygun yeri bulmakta sorun yaşıyorum.OrientDB'de bilinen bir yolu arama
bu yapıyla başlıyorum:
CREATE CLASS Zone EXTENDS V
CREATE CLASS Subdomain_of EXTENDS E
CREATE VERTEX Zone CONTENT {name: '.'} #12:0
CREATE VERTEX Zone CONTENT {name: 'com'} #12:1
CREATE VERTEX Zone CONTENT {name: 'net'} #12:2
CREATE VERTEX Zone CONTENT {name: 'org'} #12:3
CREATE VERTEX Zone CONTENT {name: 'example'} #12:4
CREATE VERTEX Zone CONTENT {name: 'www'} #12:5
CREATE EDGE Subdomain FROM #12:1 TO #12:0
CREATE EDGE Subdomain FROM #12:2 TO #12:0
CREATE EDGE Subdomain FROM #12:3 TO #12:0
CREATE EDGE Subdomain FROM #12:4 TO #12:1
CREATE EDGE Subdomain FROM #12:5 TO #12:4
Ben girdi olarak bir alan adı dize almak ve grafiğin ilgili alt alanları katacak kaydedilmiş bir işlev oluşturmak istiyorum.
"mail.example.com" alanını eklemek istiyorum. Fonksiyonun ilk önce yolun .com.example.mail var olup olmadığını araştırması gerekir - eğer değilse, daha sonra .com.example dosyasını kontrol etmeli ve "example" vertex'inin bir subdomain edge ile "mail" için yeni bir vertex eklemesi gerekir. .
Belirli bir yola göre yaprak düğümü aramanın bir yolu var mı? Neo4j/Cypher'ın sözdizimine benzer bir şey:
MATCH
(:Zone {name: ‘.’})<-[Subdomain]-(:Zone {name: ‘com’})<-[:Subdomain]-(a:Zone {name: ‘example’})
RETURN (ID(a))
sayesinde, zaten mevcut değilse yeni köşeleri eklemek gerekir bu Java fonksiyonu ile
Charles
için Java veya Javascript'te daha kullanışlı mısın? 'Yaprak düğümü aramak için ne demek istediğini anlamadım, örneğin "www" denilen bir' köşe yaprak 'olup olmadığını araştırmak ister misiniz? – lsavio