# Functions
NewProperty will just shorten the struggle of filling a property struct.
NewVertex is to create a Vertex struct without all the hassle.
UnmarshalEdgeList is a utility to unmarshal a list or array of edges properly.
UnmarshalPropertyList is a utility to unmarshal a list or array of IDs properly.
UnmarshalVertexList is a utility to unmarshal a list or array of vertices properly.
# Structs
APIData holds the request in which you can make a query with using the Grammes library.
Data holds basic information such as the label, name, ID, and properties of what this is being associated with.
Edge is the object that builds a connection between two or more vertices.
EdgeList is used for unmarshalling after querying.
EdgePropertyDetails contains the details and meta data about the property itself.
EdgePropertyValue will hold the actual value and key for the property.
EdgeValue contains the 'value' data from the Edge object.
IDList is used for unmarshalling after querying.
List is used in Gremlin v3.0+ instead of arrays in some cases.
Property holds the type and value of the property.
PropertyDetailedValue holds the value and optional type depending on how the whole struct can unmarshal into a string or not.
PropertyID holds the ID that is used for the property itself.
PropertyList is used for unmarshalling after querying.
PropertyValue contains the ID, value, and label of this property's value.
SimpleValue is used to unmarshal simple value responses from the TinkerPop server.
ValueWrapper will handle storing the correct value into the correct spot in this struct for not confusion.
Vertex maintains pointers to both a set of incoming and outgoing Edge objects.
VertexList is used for unmarshalling after querying.
VertexValue contains the 'value' data from the Vertex object.
# Type aliases
DataMap is used to store data.
EdgeProperties need to be different than Vertex ones because they're not an array/slice.
PropertyMap is the map used to hold the properties itself.