[: FRIENDS {since: "11/2015"}] gibi özelliklere sahip ilişkilere sahip bir Neo4j DB sahibim. GraphQl Schema'daki "beri" özelliğini temsil etmem gerekiyor. RÖLE bir şey "kenarları" vardır, görünüşe göre bu özelliği nasıl uyguladıkları budur ama RELAY kullanmıyorum ..... Ben Apollo'da bir şey görmedim (belki de onu özledim). Birisi bana bunu nasıl yapılacağını gösterebilir mi?Graphql Schema'mdaki Neo4j ilişki özelliklerini nasıl gösteririm?
7
A
cevap
6
Tamam ... istediğim şeyi elde etmek için hem düğüm hem de ilişkiyi (edge) grafql olarak sunmak için, object.assign (node, relationship) döndürerek bir çalışmayı arayacağımı yaptım) graphql .... dezavantajı, birleşik notayı elde etmek için nodeRel {} tipini tanımlamak zorunda olduğum fakat işe yaradığıdır. Ayrıca, düğüm ve ilişki nesneleri benzer adlandırılmış özelliklere sahip olamaz.
... memberOf : [Group]
groupStatus : [MemberProfile]
attended : [Meeting]
submittedReport : [Report]
post : [Post]
}
type MemberProfile {
name : String
location : String
created : String
since : String
role : String
financial : Boolean
active : Boolean
}
Çözümleyici:
groupStatus(voter) {
let session = driver.session(),
params = { voterid: voter.voterid },
query = `
MATCH (v:Voter)-[r:MEMBER_OF]->(g:Group)
WHERE v.voterid = $voterid
RETURN g AS group,r AS rel;
`
return session
.run(query, params)
.then(result => {
return result.records.map(record => {
return Object.assign(record.get("group").properties, record.get("rel").properties)
})
})
},
Şimdi uzun John ve Mary arkadaşları veya hangi gruplar John aittir ve ne kadar o bir üyesi .... Şema pasajı olmuştur ne kadar soruya cevap verebilir Umarım bu başka birine yardım eder ....
Aşağıdaki iyi yazılmış bir blogu yanıtıma yönlendirebilirim .... https: //dev-blog.apollodata.com/explaining-graphql-connections-c48b7c3d6976 – MichaelE