Ich habe eine Neo4j DB mit Beziehungen, die Eigenschaften wie [: FREUNDE {seit: "11/2015"}] haben. Ich muss die Eigenschaft "since" im GraphQl-Schema darstellen. RELAIS hat etwas, das "Kanten" genannt wird, und anscheinend benutzen sie dieses Feature, aber ich benutze kein RELAIS ..... Ich habe in Apollo nichts gesehen (vielleicht habe ich es verpasst). Kann mir jemand zeigen, wie man das macht?Wie stelle ich Neo4j-Beziehungseigenschaften in meinem Graphql-Schema dar?
7
A
Antwort
6
Ok ... also, um zu bekommen, was ich wollte, was sowohl den Knoten als auch die Beziehung (Edge) zu graphql darstellen sollte, tat ich, was ich einen Workaround nennen würde, indem ich object.assign (node, relation) zu graphql .... der Nachteil ist, dass ich einen Typ nodeRel {} definieren muss, um die kombinierten Objekte zu erhalten, aber es funktioniert. Außerdem können die Knoten- und Beziehungsobjekte keine ähnlichen benannten Eigenschaften haben. Ich kann jetzt die Frage beantworten, wie lange John und Mary sind Freunde oder welche Gruppen John gehört und wie lange er ist ein Mitglied .... Schema Schnipsel:
... 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
}
Resolver:
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)
})
})
},
Ich hoffe, dass dies jemand anderen hilft ....
Verwandte Themen
- 1. Wie stelle ich eine UUID in einer Protobuf-Nachricht dar?
- 2. Wie stelle ich ein Binärfeld in der Programmiersprache dar?
- 3. Wie stelle ich Bit-Informationen in C dar?
- 4. Wie stelle ich ein leeres Feld in Yaml dar?
- 5. Wie stelle ich andere Sprachen in Javascript dar?
- 6. Wie stelle ich eine GUID in einem JSON-Objekt dar?
- 7. Wie stelle ich eine leere Liste in Java dar?
- 8. Wie stelle ich ein Paar (zwei Tupel) in Dafny dar?
- 9. Wie stelle ich externe Bibliotheken (Edelsteine) in Rubymines Projektansicht dar?
- 10. Wie stelle ich Tally/Five-Bar-Gate in Unicode dar?
- 11. Wie stelle ich eine Komponente in Joomla als Artikel dar?
- 12. Wie stelle ich einen performanten heterogenen Stack in Julia dar?
- 13. Wie stelle ich ein fehlendes xsd: dateTime in RDF dar?
- 14. Wie stelle ich Text nicht in einem TextField dar?
- 15. Wie stelle ich ein Polygon mit Löchern dar?
- 16. Wie stelle ich Subflows im Python Luigi Task Manager dar?
- 17. Wie stelle ich diese Elemente horizontal statt vertikal dar?
- 18. Wie stelle ich ein Bild durch CAML dar?
- 19. Wie stelle ich Zeilenumbrüche in HTML innerhalb einer Zeichenfolge in Swift dar 3
- 20. Wie stelle ich dieses Element so dar, wie es in diesem Code aussehen sollte?
- 21. Wie stelle ich Fragen in meinem odoo lokalen Forum Modul?
- 22. Definieren Sie graphQLSchema richtig in Node.js
- 23. Swift Wie stelle ich den Standort einer Person in der Kartenansicht dar?
- 24. Wie stelle ich alle Elemente einer Webseite in der Quelle dar?
- 25. Wie stelle ich GWT-Zellen in einer CellTable immer als editierbar dar?
- 26. Wie stelle ich einen Zeiger auf ein Array in Rust für C dar?
- 27. Wie stelle ich einen void-Zeiger in einem PyObjC-Selektor dar?
- 28. Wie stelle ich die Tageszeit (dh 19:00) in Java dar?
- 29. Wie stelle ich viele Beziehungen in Form von Google App Engine dar?
- 30. Klassendiagramm: Wie stelle ich eine Relation dar, die von einem anderen Objekt abhängt?
Ich fand den folgenden gut geschriebenen Blog, der zu meiner Antwort führen kann .... https: //dev-blog.apollodata.com/explaining-graphql-connections-c48b7c3d6976 – MichaelE