I have looked at the RFC since @happybeing pointed me to the pull request. Didn’t yet look at it critically though I believe it’s generally a great RFC. A few remarks:
2.2 Many SubName
s
safe://<subName>.<subName>.<subName>.<subName>.<publicName>
- As above, resolving each additional substring, up to a defined maximum of redirects (implemented in the resolver.)
Reading chapter 2, it’s not entirely clear to me how many subNames are supposed to be resolved. I assume the middle subName is also a Resolvable Map
, is that right?
Once the final data has been resolved in a browser, if a Files Map
type of Resolvable Map
has been located, then the trailing url path would be resolved, too.
In the above sentence, what does ‘type of’ mean in this context? I think I misunderstand this sentence. It describes the ‘final data’ being resolved, and then talks about “then the trailing url path would be resolved, too.”
@id
entries must point to a XOR-URL for consistency (while pubNames may change, this data will not move location);
The above refers to @id
entries, which I believe is specific to JSON-LD. I’d suggest to remove it or change it so it applies to RDF triples in general (@id
is a subject (?)). Same applies to:
Providing different @type
info or other details in the RDF can facilitate service discovery.
Is it possible to combine a Resolvable Map
with a File Map
? This so that looking up a public name directly allows fetching of files. Or does one really need a subname for that which refers to a File Map
? What if one does not want a subname? How to point the default directly to a File Map
?
The last part about the public name container confuses me (although I think I know what is meant). It says this:
The structure of a user’s _publicNames
container (for managing their Public Names
) must be:
It then states ‘The Public Name Map’, but I can’t find a definition of this. Then it says:
- A Public Name must point to a
Resolvable Map
RDF schema. With the target MD location XOR-URL as the value to the key.
This is where I get lost. What is the ‘key’ that is mentioned? What value?
Somehow initially I thought the above was explaining a new RDF structure for the public names container. I assume the public names container is not RDF, but a plain key-value MD. Where the key is the public name string and the value is the XOR-URL of a Resolvable Map
.
Again about this snippet:
@id
entries must point to a XOR-URL for consistency (while pubNames may change, this data will not move location);
I assume @id
is the subject of a triple. A subject is the resource in question. Can I suggest that this subject might also be referred to by using the (default) Base URI? Let me illustrate what I mean in Turtle by taking the mypubname
example from the RFC:
@prefix safe: <https://joshuef.sschema> .
<> // relative to default base URI (or <.> (?))
a safe:ResolvableMap ;
safe:default <#somewhere> .
<#somewhere> // relative to default base URI
a safe:ResolvableItem ;
safe:resolvesTo <safe://arandomxor> ;
safe:targetType safe:FilesMap .
(See RDF 1.1 Turtle for more information about IRI.)
I mention this because I would like the RFC to impose as few unnecessary limits as possible. I suggest using the relative IRIs a little more too in the examples.
As an aside: JSON-LD is harder to interpret than plain N-Triples or Turtle. I suggest using the Turtle format for illustrating and defining schemes and examples.