Here is my Neo4j Active Node
class User
include Neo4j::ActiveNode
has_many :out, :following, type: :following, model_class: 'User'
end
john = User.find(:name => "John")
tom = User.find(:name => "Tom")
# create following relationship john --> tom
john.following << tom
# check count
john.following.count
#=> 1
# again create the relationship
john.following << tom
# again check count
john.following.count
#=> 2
I want to create unique relationship.
To avoid duplication we have to use create unique in creating relation cypher query.
Example:
MATCH (root { name: 'root' })
CREATE UNIQUE (root)-[:LOVES]-(someone)
RETURN someone
refer: http://neo4j.com/docs/stable/query-create-unique.html
How can i do this in Neo4j.rb with Rails... ?
Thanks in advance..
Just as an update, you can now do the following:
For simple relationships, use unique:true
:
class User
include Neo4j::ActiveNode
has_many :out, :following, type: :following, model_class: 'User', unique: true
end
For declared relationships, use creates_unique
:
class Following
include Neo4j::ActiveRel
creates_unique
from_class User
to_class User
end
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With