J'ai deux noeuds entre lesquels, le même arête avec la même propriété est créé encore et encore. Comment puis-je éviter ça? Si les arêtes ont des propriétés différentes, c'est ok et il doit être conservé mais si les propriétés sont identiques, il ne devrait y avoir qu'un seul arête.Arêtes dupliquées avec les mêmes propriétés neo4j
EDIT: J'utilise des rails et je veux le faire par l'intermédiaire de l'application et non de la requête Cypher.
EDIT: Partage du code pour la pertinence:
dis = Disease.where(disease: params[:disease]).first
fac = Factor.where(factor: params[:factor])
dis.factors.create(fac, prop: "p1")
Alors, ce que je veux est si je l'entrée même maladie et le facteur, il pas double emploi avec le bord (ce qui fait actuellement) comme propriété défini est aussi même. Toutefois, si à l'avenir, ce p1
devient p2
, le bord doit être ajouté.
Référez le poste Neo4j inconsistent behaviour of model classes pour les classes de modèles (Maladie et facteur).
Mais dans ce cas, pour différentes propriétés aussi, je ne serai pas en mesure de faire plusieurs bords, non? – vish4071
Ou il semble «unique: tout» est ce que je veux ?! – vish4071
Si vous utilisez 'unique: true' /' unique:: none' (les deux sont identiques), une seule relation de ce type de relation sera créée. Si vous spécifiez 'unique:: all', il créera toujours une nouvelle relation, sauf si tous les attributs sont identiques. L'option ': on' vous permet de spécifier des propriétés plus précisément –