J'évalue actuellement OrientDB (2.1.16) comme une solution possible à la construction d'un recommandeur de similarité. À cette fin, j'aimerais aide écrire une requête initiale qui accomplit ce qui suit:Trouver les sommets partagés les plus communs dans OrientDB
Vertex:Maker -(Edge:Produced)-> Vertex:Item -(Edge:TaggedBy)-> Vertex:Tag
- Je voudrais sélectionner un élément particulier
(V1)
et obtenir une liste de retour d'autres articles commandés par le(Vn)
nombre de Tags en commun avecV1
; - Par extension, je voudrais prendre un fabricant sélectionné
(V2)
et traverser les articles pour obtenir une liste ordonnée de fabricants (et les articles traversés, si possible) qui partagent des étiquettes.
Il n'y a pas énormément de documentation détaillée sur l'application de l'intersection de cette manière. Pas de contraintes inhabituelles en particulier. Il y aurait des milliers d'articles et de fabricants et probablement 10 fois plus de tags.
Salut, ça pourrait être utile une fonction JS? –
En tant que script côté serveur? Cela semble fonctionner. J'avais espéré une requête directe, mais j'y réfléchirai en option. Merci pour la suggestion. – CrustyRatFink
est-ce une contrainte à utiliser 2.1.16? La dernière version stable (2.2.3) inclut la nouvelle instruction MATCH, qui facilite grandement ce type de tâches. –