Re: Identifiers with context

Hi Mikael,

Yes, lots of choices, depending on the exact context.

I’m not sure if you have considered something like:
<https://www.our-company.com/ns/org1/1.1> rdfs:label “org1 - 1.1”.
or
<https://www.our-company.com/ns/org1/1.1> rdfs:label “1.1”.
depending on what you want to show in any UI.
And you might even use skos:prefLabel for one of them.

You might also consider having different URIs for your version of the entity and the foreign entity.
<https://www.our-company.com/ns/org1/1.1> rdfs:label “org1 - 1.1”.
<https://www.our-company.com/ns/foreign/org1/1.1> rdfs:label “1.1"
<https://www.our-company.com/ns/org1/1.1> owl:sameAs <https://www.our-company.com/ns/foreign/org1/1.1>
which would give you control if the org or you decide to change things.

It sort of depends if there are other datasets that you are bringing in from elsewhere.

If this is purely and simply making their org’s data public, then a nice, simple
<https://www.our-company.com/ns/org1Coding/1.1> rdfs:label “1.1”.
makes sense (with a slightly different URI, because:)
I think I wouldn’t link this URI with the source directly.
More like 
<https://www.our-company.com/ns/org1Coding/1.1> isPartOf <https://www.our-company.com/ns/org1Coding>.
<https://www.our-company.com/ns/org1Coding> dct:source <wherever> .
And this also sort of feels ike a better modelling of what is going on, to me.

As you say, you might also consider obscuring the underlying ID.
It can be helpful to have apparently human-readable URIs, but they  can be misleading to users.
Especially when they start editing them directly, expecting certain things to happen.
If you do choose to obscure, I would suggest care with UUIDs.
Typical UUIDs have a time component, which means that the only way to find them is to do a look-up in a storage device, every time you encounter them.
It is perhaps a bit naughty, but if you simply use a hash of the label (“1.1” in this case, probably with a contextual org coding prefix) then you have a one-way function from the string to the obscured ID, which can be used anywhere.

Best
Hugh

> On 23 Feb 2023, at 15:15, Nicolas Chauvat <nicolas.chauvat@logilab.fr> wrote:
> 
> Hi,
> 
> Le Thu, Feb 23, 2023 at 04:04:03PM +0200, Mikael Pesonen a écrit :
>> 1) Custom namespace in URI
>> 
>> :entity1 dcterms:identifier <https://www.our-company.com/ns/org1/1.1>
> 
> is the one I would use.
> 
>> I don't want to use the code directly to name the resource:
>> <https://www.our-company.com/ns/org1/1.1> rdfs:label "Some entity"
> 
> and I think I like this one better. What is the reason you do not want to use it?
> 
> -- 
> Nicolas Chauvat
> 
> logilab.fr - services en informatique scientifique et gestion de connaissances  
> 

Received on Thursday, 23 February 2023 16:41:41 UTC