J'essaie d'obtenir le type de relation d'une requête Cypher très simple, comme le suivant
MATCH (n)-[r]-(m) RETURN n, r, m;
Malheureusement, cela retourne un objet vide pour r
. C'est gênant car je ne peux pas distinguer les différents types de relations. Je peux corriger cela en ajoutant une propriété comme [r:KNOWS {type:'KNOWS'}]
mais je me demande s'il n'y a pas de moyen direct d'obtenir le type de relation.
J'ai même suivi l'officiel tutoriel Neo4J (comme décrit ci-dessous), démontrant le problème.
Configuration du graphique :
create (_0 {`age`:55, `happy`:"Yes!", `name`:"A"})
create (_1 {`name`:"B"})
create _0-[:`KNOWS`]->_1
create _0-[:`BLOCKS`]->_1
Requête :
MATCH p=(a { name: "A" })-[r]->(b)
RETURN *
CORPS DE RÉPONSE JSON :
{
"results": [
{
"columns": [
"a",
"b",
"p",
"r"
],
"data": [
{
"row": [
{
"name": "A",
"age": 55,
"happy": "Yes!"
},
{
"name": "B"
},
[
{
"name": "A",
"age": 55,
"happy": "Yes!"
},
{},
{
"name": "B"
}
],
{}
]
},
{
"row": [
{
"name": "A",
"age": 55,
"happy": "Yes!"
},
{
"name": "B"
},
[
{
"name": "A",
"age": 55,
"happy": "Yes!"
},
{},
{
"name": "B"
}
],
{}
]
}
]
}
],
"errors": []
}
Comme vous pouvez le voir, j'obtiens un objet vide pour r
, ce qui rend impossible la distinction entre les relations.
[~ # ~] note [~ # ~] : J'utilise Neo4J v.2.2.2
Utilisez la fonction type()
.
MATCH (n)-[r]-(m) RETURN type(r);