Apache AGE allows me to store values of different types in vertex properties with the same name. For example:
Creating a vertex with pages = 10:
SELECT * FROM cypher('books', $$
CREATE (v:Book {title: 'A book', pages: 10})
RETURN v $$) as (v agtype);
v
--------------------------------------------------------------------------------------------------
{"id": 844424930131969, "label": "Book", "properties": {"pages": 10, "title": "A book"}}::vertex
(1 row)
Creating a vertex with pages = '10':
SELECT * FROM cypher('books', $$
CREATE (v:Book {title: 'Another book', pages: '10'})
RETURN v $$) as (v agtype);
v
----------------------------------------------------------------------------------------------------------
{"id": 844424930131970, "label": "Book", "properties": {"pages": "10", "title": "Another book"}}::vertex
(1 row)
I understand that all types return as agtype, but could this potentially cause errors in building an application?