comment créer des contraintes uniques sur deux propriétés dans neo4j ?


dcsan

J'utilise des nœuds comme éléments de chemin intermédiaire, mais je veux m'assurer que le début/la fin sont uniques. Comment créer une contrainte qui nécessite la vérification de DEUX valeurs ?

Je peux définir des valeurs individuelles, mais je ne vois pas la syntaxe d'une contrainte en deux parties.

        neolib.run_query(
            """CREATE CONSTRAINT
                uSource
                if not exists
                ON (m:route) ASSERT m.source IS UNIQUE""")
        neolib.run_query(
            """CREATE CONSTRAINT
            uTarget
            if not exists
            ON (m:route) ASSERT m.target IS UNIQUE""")
âXmoůŜ

Il a cette documentation:

https://neo4j.com/docs/cypher-manual/current/administration/constraints/#query-constraint-node-key

CREATE CONSTRAINT [constraint_name] [IF NOT EXISTS]
ON (n:LabelName)
ASSERT (n.propertyName_1,
n.propertyName_2,
…
n.propertyName_n)
IS NODE KEY
[OPTIONS "{" option: value[, ...] "}"]

FOR EXAMPLE:
    CREATE CONSTRAINT uSourceTarget IF NOT EXISTS ON (m:route) ASSERT (m.source, m. target) IS NODE KEY

NB : Uniquement applicable pour l'édition Entreprise (PAS l'édition communautaire)

Articles connexes


Mysql - créer des contraintes uniques sur les deux champs

yoann84 J'utilise mysql (mariadb). J'ai une table "events_ratings", qui contient 4 colonnes CREATE TABLE `event_ratings` ( `id` int(11) NOT NULL AUTO_INCREMENT, `id_event` int(11) NOT NULL, `rating` int(1) NOT NULL, `id_user` char(36) CHARACTER SET utf

Comment créer des contraintes uniques sur AgensGraph

jagger Je veux utiliser la propriété "id" comme clé primaire sur l'étiquette. agens=# create vlabel v; CREATE VLABEL agens=# create (:v{id:1}); GRAPH WRITE (INSERT VERTEX 1, INSERT EDGE 0) agens=# create (:v{id:1}); GRAPH WRITE (INSERT VERTEX 1, INSERT EDGE 0)

Comment créer des contraintes uniques dans laravel 5.2?

Carlos Carucce Comment créer des contraintes uniques à l'aide de laravel 5.2 Schema Builder? Schema::create('my_pivot', function(Blueprint $table){ $table->increments('id'); $table->integer('table1_id')->unsigned(); $table->integer('table2_id')->u

Créer une contrainte sur plusieurs propriétés dans neo4j

Antwnina Je suis nouveau dans Neo4j et j'ai besoin d'aide. J'essaie de créer une contrainte dans plusieurs propriétés de nœuds à la fois pour deux significations: J'ai besoin de spécifier comme contrainte de nombreuses propriétés sans taper encore et encore da

Comment implémenter des contraintes clés uniques dans CouchDB

Simon Bruneaud J'utilise CouchDB et je souhaite que tous mes utilisateurs aient des e-mails uniques. Je m'attendrais à ce que la base de données renvoie un statut 400 (mauvaise demande) lorsque j'essaye de dupliquer un e-mail. Mais comme il n'y a aucun moyen d

Comment créer des clés uniques dans KeystoneJS

Chris Wilson Je travaille sur un site construit dans KeystoneJS qui permet aux utilisateurs de publier des mots et d'obtenir des synonymes suggérés par d'autres utilisateurs. Les mots sont soumis dans le cadre d'une phrase ou d'une phrase, comme «Le chat était