Objects are unique identifiers for a resource provided by some app. It is an app's responsibility to choose how to map resource identifiers within the app to an Object, and generally they should be one-to-one.
Although an Object can be any string, it is encouraged to use a globally unique UUID of some form (uuidv4 or similar).
Consider an app that uses strictly increasing database keys to identify resources within a database table.
The app could choose to map
(<resource-type>, <resource-id>) pairs to an appropriate UUID and use the UUID as the subject ID when writing relation tuples. Alternatively, the app could choose to use the
<resource-type>/<resource-id> string (e.g.
documents/1) to identify the subjectID, so long as this string is guaranteed to be unique within the app.