Skip to content

Proposed Conformance Model #40

@jeff-zucker

Description

@jeff-zucker

[EDIT - updated based on Editor's meeting of 2022-09-06, but not including all the comments since last update. This model is likely to change]

Given that IdPs may wish to restrict how WebID Documents behave, including limiting the ability of the WebID owner to write to the document, we need to support the ESS-like model in which the WebID document is not the same document as the Profile document.

If we proceed as I've outlined below, we would have two shapes which can occur in one document or in two documents. In the NSS-like instance where the same document is both the WebID document and the Profile document, it would need to conform to both shapes. In the ESS-like instance the WebID Document could be very minimal and the Solid Profile Document would conform to the same shape as all other Solid Profile Documents.

I also propose a solid:profileDocument predicate. We can add a note that, for backward compatibility, developers may wish to also check for the foaf:primaryTopicOf predicate.

Solid Profile Data Model Conformance

The Solid WebID Document

This document should follow the rules set forth in the WebID Specification including (TBD:get exact wording)

And it should follow this rule, introduced by this spec

  • it MUST either conform to the rules listed below for a Solid Profile Document or else have a triple equivalent to <?WebID> solid:profileDocument <?SolidProfileDocument>.. For backward compatibility, the predicate can be foaf:primaryTopicOf instead.

In order to be usable for purposes of verifying identity, a WebID document should also contain predicates mandated by the identity protocol in use. For example if the Solid-OIDC protocol is in use, the WebID document MUST include a triple equavent to <?WebID> solid:oidcIssuer <?Issuer>. See the Solid-OIDC specification for details

The Solid Profile Document

  • there MUST be exactly one Solid Profile Document for any given WebID URI
  • it MUST have exactly one space:preferencesFile triple
  • it MUST be writable by the WebID owner or those they designate
  • it SHOULD have exactly one ldp:inbox triple
  • it SHOULD have one or more space:storage triples
  • it MAY have zero or more triples with the solid:community predicate
  • it MAY have zero or more triples with the rdfs:seeAlso predicate
  • it can be the same document as the WebID Document or it can be a separate Document. In the case in which the Solid Profile Document and the Solid WebID Document are the same, the document MUST conform to the rules listed above for both types of documents.

The Preferences Document (space:preferencesFile)

  • there MUST be exactly one Preferences Document
  • it MUST be writable by the WebID owner or those they designate
  • it MUST NOT be readable or writable by anyone other than the WebID owner or those they designate
  • it MAY have zero or more triples with the rdfs:seeAlso predicate

Extended Profile Documents (rdfs:seeAlso)

  • there MAY be zero of more extended profile documents
  • they MAY be accessible to public, restricted, or private audiences

Note: Apps can be expected to examine triples in seeAlso documents with the WebID as subject. They are free to but not required to examine other triples.

Note: Apps are free to but are not required to examine triples in seeAlso documents using the rdfs:seeAlso predicate.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions