question

Upvotes
Accepted
1 0 1 4

Why is there a "1-" prefix in PermID

Should I store 1-5012345678 or 5012345678 in my DB for the PermID? Is there meaning for the "1-" part?

permid-apiintelligent-tagging-apiopen-permid-api
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

@ming0070913

Hi,

Thank you for your participation in the forum.

Are any of the replies below satisfactory in resolving your query?

If yes please click the 'Accept' text next to the most appropriate reply. This will guide all community members who have a similar question.

Otherwise please post again offering further insight into your question.

Thanks, AHS

Please be informed that a reply has been verified as correct in answering the question, and has been marked as such. Thanks, AHS

1 Answer

· Write an Answer
Upvotes
Accepted
195 1 2 2

The short, simple answer is 'not really'... All PermIDs are in the ' 1-' namespace, and all UUIDs in that namespace are PermIDs.

However, you may come across something with a '2-' or other namespace, so I will explain in a bit more detail.

All of the content on Permid.Org comes out of our core information model that we use to organize the breadth and depth of our information, so there are some artifacts that probably seem strange from the user perspective, but are critical for internal use.

'1-' is an artifact of how we utilize linked data to model our knowledge graph. All PermIDs fall into the '1-' namespace, but sometimes we need to add objects to our graph that shouldn't have PermIDs.

For example, consider the HQ address for an organization. We denormalize this information somewhat for consumers of permid.Org and our commercial graph products to make it a lot easier to consume. Internally, our primary concern is the integrity and precision of our data over time and across domains, rather than ease of use. Therefore, an address would be modeled as a rigorously specified object in its own right, with properties like 'country', 'street' etc. Since things like 'country' and 'street' are also unique objects with their own properties and relationships, answering a simple question like 'what's the HQ address of this company?' can get complicated quite quickly against the raw, fully normalized data.

The type definition of an address has a PermID, but instances of the type don't because they are an abstraction that is only meaningful in the context of a specific organization.

Regardless, an address object still needs a UUID so it can be referred to in a triple as the object of a 'hasHQaddress' relationship from an org. Since it doesn't have a permid, we might use something like '2-(long hash)'.

There are other circumstances that would necessitate the use of something other than the '1-' namespace, but I will leave that for a blog post, possibly by our Information Architects who are the real experts.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.