Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider revising Type Indexes section #16

Open
csarven opened this issue Mar 28, 2023 · 0 comments
Open

Consider revising Type Indexes section #16

csarven opened this issue Mar 28, 2023 · 0 comments

Comments

@csarven
Copy link
Member

csarven commented Mar 28, 2023

Re #type-indexes

A Type Index is a document containing statements that link
specific types of data to specific locations.

Perhaps add "..specific locations in a storage".

An app might ask a

Aha! Now the "app" makes its appearance :) See also #13 about clarifying whether it is "client" or "application" that plays a central role in the specification.

user where they want to store items of type Bookmark and then
write that location in the Type Index.

Good. Perhaps mention the term in brackets after "type Bookmark (foo:Class)" if it is intended to be a hint to a specific kind of bookmark class, or alternatively link to a section or thing somewhere else in the document that the reader can learn more about it.

Thereafter another app can
find the bookmarks by looking for the location in the Type Index.

See, here "find" (or possibly discover) is a good term that should bubble up its way into introduction. Then the reader can follow the idea from the Introduction to this section.

Apps that want to remember user's choices will read from and write
to the Type Index.

Okie.

Since users will undoubtedly have data they

Consider using "Users typically have data they.."

want to keep private, there are two Type Indexes - one readable by
any app (publicly discoverable) and one only readable by apps
operating on behalf of the WebID owner (not publicly
discoverable).

Okie.

To find Type Indexes, an app SHOULD load the WebID Profile
Document and if the app has access, also the Preferences Document.

Consider having a subsection "Discovery" (as the first subsection of Type Indexes) and move this and related information there.

Add more detail about application behaviour when they discover multiple public/privateTypeIndex properties, and whether the application should use one (that it prefers) or all.

Split considerations on access permissions to somewhere else so that conformance clauses do not need to include them. It it always going to be the case, including the loading of the Preferences Document (if the app has access).

Consider clarifying or defining what "load(ing)" entails. Is it "fetching" a representation, "parsing", and having a usable "object" of sorts?

If finding Type Indexes through the WebID Profile Document and or the Preferences Document is a core requirement for an application so that there is interoperability, consider changing the requirement to should. It reads like the Preferences Document may not be, but then at least the WebID Profile Document MUST be. If there is no MUST here, then there is no significant implementation to talk about.

In these loaded documents one can find triples where the WebID is the
subject and predicates can be: for the Public Type Index
document a solid:publicTypeIndex predicate, and for
the Private Type Index document a
solid:privateTypeIndex predicate.

Okie.

Re:

<div datatype="rdf:HTML" property="schema:description">
            <section
              id="public-type-index"

I think the content/HTML before the div wrapper can be moved inside it. So, it becomes:

section type-indexes
  h2
  div
    section public-type-indexes
      h3
      div

The code examples mention UnlistedDocument and TypeIndex classes. They should be introduced/acknowledged in the Type Indexes (or another) section.

Before the examples, explain the data model like in #18

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant