diff --git a/index.html b/index.html index 77b3a39..f82e29c 100644 --- a/index.html +++ b/index.html @@ -722,6 +722,16 @@
The Solid profile is the set S of statements assembled by the procedure below. The user's WebIDs are the original WebID together with every WebID transitively equated to it via owl:sameAs within S; this set grows as S grows. Apply cycle detection throughout: do not re-fetch a document already retrieved. On 401/403 with a logged-in user, retry authenticated; missing links are not errors.
GET the WebID Profile Document for the original WebID. If it cannot be retrieved, surface a clear error. Add its triples to S.?w ?p ?o in S where ?p is a discovery link (rdfs:seeAlso, foaf:isPrimaryTopicOf, pim:preferencesFile, or owl:sameAs), ?w is one of the user's WebIDs, and ?o is a URL whose document has not yet been fetched, GET ?o and add its triples to S. Repeat until no new documents are discovered.solid:publicTypeIndex or solid:privateTypeIndex whose subject is one of the user's WebIDs, GET the document at the object (if not already fetched) and add its triples to S.solid:oidcIssuer triple in S that did not originate in a WebID Profile Document; that predicate is authoritative only when sourced there, mirroring the write protection in § Updating Profile.Traversal of discovery links is unbounded. Clients apply cycle detection to avoid re-fetching documents. To ensure that owners of WebIDs hosted outside Solid storage can extend their profile via documents they control, clients follow at least two hops of discovery links from each WebID Profile Document (the document itself, the documents it links, and the documents those link in turn). Beyond two hops, clients can terminate at a depth or document-count limit appropriate to their environment.
+Including pim:preferencesFile in the discovery-link set is intentionally lenient. In practice an agent has a single Preferences Document linked from the original WebID Profile Document; the algorithm tolerates the pim:preferencesFile link appearing in any document already in S, provided its subject is one of the user's WebIDs.
The assembled graph may contain triples about more than one of the user's WebIDs. Depending on the client's context, these typically need to be reconciled into a single subject. Two common strategies:
+owl:sameAs triples.