Je voudrais récupérer tous les sommets dans une requête SQL qui ont au moins une connexion (degré non nul). Le simple fait de renvoyer le rideau est probablement OK, mais ce serait bien de sélectionner également les propriétés.

Les arêtes ont des propriétés "in" et "out", donc je pourrais en faire un ensemble. Je ne sais pas comment faire cela avec OrientDB sql.

De plus, je pensais qu'il y aurait un moyen de le faire plus naturellement en interrogeant directement les sommets. Je vois que les sommets ont IN et OUT enregistrés, et le nom de classe d'arête en dessous. Mais je ne sais pas comment accéder aux vertex IN et OUT dans une requête SQL.

0
Pete 16 janv. 2017 à 21:13

2 réponses

Meilleure réponse

La requête suivante devrait faire l'affaire

SELECT FROM V WHERE both().size() > 0

Si vous avez besoin de propriétés supplémentaires ou de filtres supplémentaires, vous pouvez simplement les ajouter à la requête, par exemple.

SELECT property1, property2 FROM V WHERE both().size() > 0 and foo = 'bar'
1
Luigi Dell'Aquila 17 janv. 2017 à 07:39

IN et OUT sont accessibles avec in() et out(). Ceux-ci peuvent aller juste après SELECT pour les récupérer, ou, dans le prédicat comme où Luigi a utilisé both() (abréviation de in() et out()).

La liste complète des fonctions "graphiques" se trouve dans la documentation, ici, dans la première colonne.

0
Pete 17 janv. 2017 à 15:42