Folgendes ist der Anwendungsfall: Wir möchten das OrientDB-Visualisierungstool für unsere Geschäftsbenutzer öffnen. Auf diese Weise können sie die Daten selbst abfragen. Wir dachten, es wäre schön, vordefinierte Funktionen mit eingebetteten Abfragen zu erstellen, um die Komplexität des Datenmodells zu verbergen.OrientDb: Graph Visualisierung über Funktion?
Hier sind allgemeine Beispiele:
Beispiel 1: SearchCity (Parameter: Name der Stadt) Beispiel 2: SearchProvince (Parameter: Provinz Name) und zeigen alle angeschlossenen Länder und Städte im Zusammenhang mit dieser Provinz
Problem: Leider zeigt das Visualisierungstool @rid nur in einem einzelnen Kreis an, aber nicht als verknüpfte Objekte.
Frage: Ist es möglich, eine Funktion zu erstellen, die Benutzer über das Graph-Visualisierungs-Tool über SELECT aufrufen und alle Zweige anzeigen können?
Orientdb Version: 2.2 rc1
Unten ist mein Testdaten:
Daten:
CREATE CLASS xCOUNTRY EXTENDS V;
CREATE CLASS xPROVINCE EXTENDS V;
CREATE CLASS xCITY EXTENDS V;
CREATE CLASS part_of EXTENDS E;
CREATE VERTEX xCOUNTRY SET COUNTRY_ID=1,COUNTRY_NAME='CANADA';
CREATE VERTEX xPROVINCE SET PROVINCE_ID=1.1,PROVINCE_NAME='ONTARIO',COUNTRY_ID=1;
CREATE VERTEX xCITY SET CITY_ID=1.11,CITY_NAME='TORONTO',PROVINCE_ID=1.1;
CREATE VERTEX xCITY SET CITY_ID=1.12,CITY_NAME='OTTAWA',PROVINCE_ID=1.1;
CREATE EDGE part_of from (select from xCOUNTRY Where COUNTRY_ID =1) to (select from xPROVINCE Where COUNTRY_ID=1);
CREATE EDGE part_of from (select from xPROVINCE Where PROVINCE_ID =1.1) to (select from xCITY Where PROVINCE_ID=1.1);
Funktion:
Name: SearchProvince (Parameter "prov_name")
var db = orient.getGraph(); var x = db.command('sql',"TRAVERSE BOTH()
FROM (SELECT FROM XPROVINCE WHERE PROVINCE_NAME= '"+ prov_name + "')
LIMIT 20"); return x;
Hallo Ivan, danke für den EXPAND-Befehl, es funktionierte! – RLx