External ID Functionality

There are several cases. But the intention behind that part of the docs is based on RDF standards. I mean, RDF is usually used in ontology data. And save this info as an entitie guarantees that info is not lost. And makes possible to simulate some ontology patterns.

External ID in this case is like a theoretical indexing via edges. Where you can give more information for this indexing by adding attributes. When indexing via a single attribute, you cannot add extra information unless using facets. But in that case, the information would have to be replicated in all nodes that contain this attribute.

With an entity you can share the same context of information among several other nodes. And basically, as all nodes are connected to that entity. You have an “indexing” out of the box.

No, and yes. In practice, you have to create the entity and connect all your nodes to it. There is no way to guarantee that you will not accidentally create duplicate entities. Unless you use upsert.

There is no guarantee of uniqueness in Dgraph and external IDs wasn’t thought of with this proposal. Only using Upsert will you achieve this.

Not sure if I got the question. Can you elaborate?

1 Like