From 66c2f3c657e4d85ca0d27b72a9e8062e6860ee24 Mon Sep 17 00:00:00 2001 From: Josh Wilson Date: Fri, 23 Nov 2018 15:32:20 +0100 Subject: [PATCH 1/4] Remove some json-ld specifics when describing RDF --- .../0052-RDF-for-public-name-resolution.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/text/0052-RDF-for-public-name-resolution/0052-RDF-for-public-name-resolution.md b/text/0052-RDF-for-public-name-resolution/0052-RDF-for-public-name-resolution.md index 54f7659..8e7b6db 100644 --- a/text/0052-RDF-for-public-name-resolution/0052-RDF-for-public-name-resolution.md +++ b/text/0052-RDF-for-public-name-resolution/0052-RDF-for-public-name-resolution.md @@ -80,8 +80,8 @@ Unavailability of any data being dereferenced will throw an error. `safe://....` -- As above, resolving each additional substring, up to a defined maximum of redirects (implemented in the resolver.) - - Safe Browser will implement redirect limit of 10 redirects per url resolution. Any more than this would throw an error. +- As above, resolving each additional `subName` will lead to another `Resolvable Map`... on and on up to a defined maximum of redirects (implemented by the resolver.) + - eg. Safe Browser will implement redirect limit of 10 redirects per url resolution. Any more than this would throw an error. Unavailability of any data being dereferenced will throw an error. @@ -90,7 +90,7 @@ Unavailability of any data being dereferenced will throw an error. `safe://.`, eg `safe://pns.rfc/resolution` -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. +Once the final MD has been resolved, if a `Files Map` type of `Resolvable Map` has been located, then the trailing `path` of the url would be resolved as part of that `Map`, too. ### Data Structures fo Resolution @@ -111,7 +111,7 @@ Provides data to be shown at the public name. - It must be an RDF data object ``, `Sub Name` graphs will pointing to a SAFE Url for data location (could be xor or using a subName). - Extra data can be added to the graph for each entry to aid in service discovery for the key. - - `@id` entries _must_ point to a XOR-URL for consistency (while pubNames may change, _this_ data will not move location); + - A graph's base URI _must_ point to a XOR-URL for consistency (while pubNames may change, _this_ data will not move location); For `safe://.` @@ -153,7 +153,7 @@ Provides data to be shown at the public name. `safe://www.happyurl` is the same as `` -Providing different `@type` info or other details in the RDF can facilitate service discovery. In the example above, an email application could resolve `safe://happyurl`, and as the `default` value is a `Files Map` (which is does not want), could search remaining keys for something of `type: inbox` and resolve this data automatically. +Providing different type of graph can facilitate service discovery. In the example above, an email application could resolve `safe://happyurl`, and as the `default` value is a `Files Map` (which is does not want), could search remaining keys for something of `type: inbox` and resolve this data automatically. #### Files Map From a0efba117eab5764e7e9583216851555622042de Mon Sep 17 00:00:00 2001 From: Josh Wilson Date: Fri, 23 Nov 2018 15:32:37 +0100 Subject: [PATCH 2/4] remove need for base URI to point to xor --- .../0052-RDF-for-public-name-resolution.md | 1 - 1 file changed, 1 deletion(-) diff --git a/text/0052-RDF-for-public-name-resolution/0052-RDF-for-public-name-resolution.md b/text/0052-RDF-for-public-name-resolution/0052-RDF-for-public-name-resolution.md index 8e7b6db..1c05fe3 100644 --- a/text/0052-RDF-for-public-name-resolution/0052-RDF-for-public-name-resolution.md +++ b/text/0052-RDF-for-public-name-resolution/0052-RDF-for-public-name-resolution.md @@ -111,7 +111,6 @@ Provides data to be shown at the public name. - It must be an RDF data object ``, `Sub Name` graphs will pointing to a SAFE Url for data location (could be xor or using a subName). - Extra data can be added to the graph for each entry to aid in service discovery for the key. - - A graph's base URI _must_ point to a XOR-URL for consistency (while pubNames may change, _this_ data will not move location); For `safe://.` From 3bc58064c9ecb761c98c90004631bade0170d92d Mon Sep 17 00:00:00 2001 From: Josh Wilson Date: Fri, 23 Nov 2018 15:35:05 +0100 Subject: [PATCH 3/4] Remove public name structure from PubName RFC --- .../0052-RDF-for-public-name-resolution.md | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/text/0052-RDF-for-public-name-resolution/0052-RDF-for-public-name-resolution.md b/text/0052-RDF-for-public-name-resolution/0052-RDF-for-public-name-resolution.md index 1c05fe3..cae9ff7 100644 --- a/text/0052-RDF-for-public-name-resolution/0052-RDF-for-public-name-resolution.md +++ b/text/0052-RDF-for-public-name-resolution/0052-RDF-for-public-name-resolution.md @@ -202,16 +202,6 @@ I would propose that we create a `Files Map` RDF type, which follows the same da ``` -### PublicName Container Structure - -The structure of a user's `_publicNames` container (for managing their `Public Names`) must be: - -- The Public Name Map is an RDF MD w/specific type tag (`1500`) stored at the sha3 hash of the `Public Name` string `shahash3('Public Name')`. -- A Public Name must point to a `Resolvable Map` RDF schema. With the target MD location XOR-URL as the value to the key. -- A user's `Public Names` are saved/managed in the user's `_publicNames` container. -- A user's `_publicNames` container must be encrypted. - - ## Drawbacks It changes the current DNS implementation, which will require updates to our libraries. From 85f2f048b436b4775ee77c8e10dc2687b854964f Mon Sep 17 00:00:00 2001 From: Josh Wilson Date: Fri, 23 Nov 2018 15:38:01 +0100 Subject: [PATCH 4/4] Clarify RDF graphs can be in one file --- .../0052-RDF-for-public-name-resolution.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/text/0052-RDF-for-public-name-resolution/0052-RDF-for-public-name-resolution.md b/text/0052-RDF-for-public-name-resolution/0052-RDF-for-public-name-resolution.md index cae9ff7..cbaaa60 100644 --- a/text/0052-RDF-for-public-name-resolution/0052-RDF-for-public-name-resolution.md +++ b/text/0052-RDF-for-public-name-resolution/0052-RDF-for-public-name-resolution.md @@ -97,6 +97,8 @@ Once the final MD has been resolved, if a `Files Map` type of `Resolvable Map` h ![Image of PNS Resolution Data Structures](https://raw.githubusercontent.com/joshuef/rfcs/PnsAndResolveableMap/text/0000-RDF-for-public-name-resolution/PNS_data_representation.png) +It is worth nothing, that while we describe RDF data here as discrete MDs, as graphs these could be stored in one file with all sub-graphs included to save fetches. The exact storage of the data / when to use new data objects / XOR-ULs is at the discretion of those saving the data. + #### Resolvable Map Structure The idea for this is an RDF Data Set stored on the safe network. This will follow a newly defined schema, that represents a list of `keys`, which map to XOR-URLs. Each entry can contain more information to aid in resolving data, depending on context / application.