Hi,
no, the `_key` attribute can't be changed.
However, you can add indices to any attributes of your documents to ensure the uniqueness:
https://docs.arangodb.com/3.2/Manual/Indexing/IndexBasics.html#hash-indexIf you want to use only one attribute as the primary key, you will have to rename your `id` attribute to `_key` - maybe in the serialization code?
Regarding graphs, as explained at
https://docs.arangodb.com/3.2/Manual/Graphs/ - vertices are referenced by their `_key` - via the `_to` and `_from` attributes in edge collections.
However, ArangoDB gives you lots of freedom how these documents look for the rest, and how they're related to documents in other collections.
Cheers,
Willi