2014-09-08 7 views
1

J'utilise Neo4jClient et je veux relation attribut MATCH (n:Users {id:1})-[r]-(m:Users) RETURN r comment je peux obtenir noeud par rapport attribut, par exemple:Obtenir attribut de nœuds de relation dans Neo4j utilisant Neo4jClient

Node[0]{id:1,name:"Oliver Stone"} 
Node[1]{id:2,name:"Charlie Sheen"} 
Node[2]{id:3,name:"Martin Sheen"} 
Node[3]{id:4,name:"TheAmericanPresident"} 

je devrais savoir, quel est relation d'attribut entre Node [0] et Node [2]? (Attribut signifie « suivre » ou « IGNORE »)

Répondre

1

Vous pouvez obtenir le TypeKey de la valeur r vous récupérez aussi:

var query = Client.Cypher 
    .Match("(n:User)-[r]-(m:User)") 
    .Where((UserEntity n) => n.Id == 1) 
    .Return((n, r, m) => new 
    { 
     N = n.As<UserEntity>(), 
     M = m.As<UserEntity>(), 
     R = r.As<RelationshipInstance<object>>() 
    }); 

var res = query.Results; 
foreach (var item in res.ToList()) 
    Console.WriteLine("({0})-[:{1}]-({2})", item.N.Id, item.R.TypeKey, item.M.Id); 

Vous aurez évidemment besoin de changer pour UserEntity quel que soit votre type est réellement.

+0

merci beaucoup ... comment je peux l'utiliser pour 'MATCH (n: Utilisateurs {id: 1}) - [r: SUIVRE * 1..4] - (m: Utilisateurs)' –

+0

Salut @Amirhosseingholzam, S'il vous plaît poser comme une nouvelle question. –

+0

nouvelle question: http://stackoverflow.com/questions/25801597/get-relationship-nodes-by-variable-length-relationships-in-neo4j-using-neo4jclie –

Questions connexes