Mam DB Neo4j z relacji, które mają właściwości, takie jak [: FRIENDS {since: "11/2015"}]. Muszę reprezentować właściwość "since" w schemacie GraphQl. RELAY ma coś nazywane "krawędziami" i najwyraźniej tak właśnie implementują tę funkcję, ale ja nie używam RELAY ..... Nie widziałem nic w Apollo (może tęskniłem za tym). Czy ktoś może mi pokazać, jak to zrobić?Jak mogę reprezentować właściwości relacji Neo4j w moim schemacie Graphql?
7
A
Odpowiedz
6
Ok ... więc, aby uzyskać to, co chciałem przedstawić zarówno węzłowi, jak i relacji (krawędzi) do graphql, zrobiłem to, co nazwałbym obejściem przez zwracanie object.assign (węzeł, relacja) do graphql .... wadą jest to, że muszę zdefiniować typ nodeRel {}, aby otrzymać połączone obiekty, ale działa. Ponadto obiekty węzłów i relacji nie mogą mieć podobnych nazwanych właściwości. Teraz mogę odpowiedzieć na pytanie, jak długo John i Mary są przyjaciółmi czy co należy do grupy John i jak długo jest członkiem .... Schemat urywek:
... 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
}
przelicznika:
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)
})
})
},
Mam nadzieję, że to pomoże komuś innemu ...
Powiązane problemy
- 1. Jak wyświetlić listę relacji w schemacie Postgres?
- 2. Jak reprezentować typy sum/union w schemacie json
- 3. Neo4django Właściwości relacji
- 4. Reprezentować algorytmy określone w schemacie blokowym w Haskell
- 5. Jak mogę reprezentować zestawy w Perlu?
- 6. Jak znaleźć węzeł bez przychodzących relacji w neo4j
- 7. Odkrywanie właściwości węzła w neo4j grap db
- 8. Jak mogę napisać te zapytania w neo4j?
- 9. Jeden rodzaj relacji musi być określona dla tworzonych w Neo4j
- 10. Jak reprezentować macierze w pythonie
- 11. W GraphQL, jak mogę określić zagnieżdżone tablice jako typ pola?
- 12. psql: nie znaleziono relacji pomimo istniejących relacji
- 13. Nhibernate: jak reprezentować wiele do wielu relacji w relacjach One-to-Many?
- 14. Jakie są konwencje nazewnictwa neo4j?
- 15. Jak mogę reprezentować siatkę hextile/hex w pamięci?
- 16. Jak mogę reprezentować identyfikator GUID w obiekcie json?
- 17. Jak mogę reprezentować dziedziczenie z parametru szablonu w języku UML?
- 18. Jak reprezentować wymienne kolumny
- 19. Jak reprezentować ograniczone konteksty?
- 20. Jak mogę umieścić bieżący znacznik czasu w schemacie Mongoose?
- 21. Dopuszczalne są tylko właściwości zadeklarowane w schemacie JSON.
- 22. Jak sprawdzić właściwość tablicy w neo4j?
- 23. Zliczanie prymitywów w Neo4j
- 24. Unikalna wartość w węzłach neo4j
- 25. Czy mogę określić położenie schematu w kompaktowym schemacie RELAX NG?
- 26. Jak kontrolować kolejność właściwości w moim wyjściu JSON?
- 27. Jak uzyskać nazwę właściwości w moim niestandardowym szablonie edytora MVC3
- 28. Jak mogę odzyskać określone atrybuty relacji/kolekcji?
- 29. Jak połączyć schemat w "GraphQL dla .NET" i "Relay"?
- 30. Jak reprezentować stan wspólnej zmienności?
Znalazłem następujący dobrze napisany blog, który może doprowadzić do mojej odpowiedzi ... https://dev-blog.apollodata.com/explaining-graphql-connections-c48b7c3d6976 – MichaelE