├── Makefile
├── README.md
├── acl.n3
├── posix-stat.rdf
├── solid-acp.ttl
├── solid-app.ttl
├── solid-notifications-context.jsonld
├── solid-notifications.ttl
├── solid-oidc-context.jsonld
├── solid-oidc.ttl
├── solid-terms.ttl
├── space.n3
└── spec.ttl
/Makefile:
--------------------------------------------------------------------------------
1 |
2 | publish2: solid-notifications.ttl
3 | cp solid-notifications.ttl ~/src/www.w3.org/ns/solid/notifications.ttl
4 | (cd ~/src/www.w3.org/ns/solid/
5 | ; cvs commit -m "from git" notifications.ttl)
6 |
7 | publish1:
8 | cp spec.ttl ~/src/www.w3.org/ns/spec.ttl
9 | (cd ~/src/www.w3.org/ns/; cvs commit -m "from git" spec.ttl)
10 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Solid Vocabularies
2 |
3 | [](https://github.com/solid/solid)
4 |
5 | This is a directory of ontologies and vocabularies used by the [Solid
6 | project](https://github.com/solid/solid).
7 |
8 | ## Table of Contents
9 |
10 | * [Created for Solid](#created-for-solid)
11 | * [Used in Core Solid Spec](#used-in-core-solid-spec)
12 | * [Recommended by Solid](#recommended-by-solid)
13 |
14 | ## Created for Solid
15 |
16 | These vocabularies are created for the Solid project, and are contained in this
17 | repo.
18 |
19 | ##### `solid/app`
20 | Contains a snapshot of the previous App Configuration vocabulary for Solid apps.
21 | Warning: *do not use*, the app configuration spec is currently in flux.
22 |
23 | Source code: [solid-app.ttl](solid-app.ttl)
24 |
25 | ##### `solid/terms`
26 | Contains core Solid terms, such as links from a [Solid WebID
27 | Profile](https://github.com/solid/solid-spec#webid-profile-documents) to user
28 | account resources, [WAC](https://github.com/solid/solid-spec#web-access-control)
29 | related predicates, and so on.
30 |
31 | Canonical prefix URL: `http://www.w3.org/ns/solid/terms#`
32 |
33 | Source code: [solid-terms.ttl](solid-terms.ttl)
34 |
35 | ##### `solid/oidc`
36 | Contains OpenID Connect terms as used in the [Solid-OIDC](https://solid.github.io/authentication-panel/solid-oidc/)
37 | specification.
38 |
39 | Canonical prefix URL: `http://www.w3.org/ns/solid/oidc#`
40 |
41 | Source code: [solid-oidc.ttl](solid-oidc.ttl)
42 |
43 | ##### `solid/oidc-context`
44 | Contains a JSON-LD context document as used in the [Solid-OIDC](https://solid.github.io/authentication-panel/solid-oidc/)
45 | specification.
46 |
47 | Canonical URL: `https://www.w3.org/ns/solid/oidc-context.jsonld`
48 |
49 | Source code: [solid-oidc-context.jsonld](solid-oidc-context.jsonld)
50 |
51 | ## Used in Core Solid Spec
52 |
53 | These vocabularies are used in required/normative sections of the [Solid
54 | Spec](https://github.com/solid/solid-spec).
55 |
56 | ##### `auth/acl`
57 | Used for Authorization/[Web Access
58 | Control](https://github.com/solid/solid-spec#web-access-control) of Solid
59 | resources.
60 |
61 | Canonical prefix URL: `http://www.w3.org/ns/auth/acl#`
62 |
63 | ##### `auth/cert`
64 | Used in the Public Key Certificates portion of the Solid WebID Profile document.
65 |
66 | Canonical prefix URL: `http://www.w3.org/ns/auth/cert#`
67 |
68 | ##### `dc/terms`
69 | Solid uses the [Dublin Core Terms](http://dublincore.org/documents/dcmi-terms/)
70 | vocabulary in several apps, but specifically in the Certificates section of the
71 | WebID Profile document.
72 |
73 | Canonical prefix URL: `http://purl.org/dc/terms/`
74 |
75 | ##### `foaf`
76 | The [FOAF](http://xmlns.com/foaf/spec/) ontology is used in [WebID
77 | Profile](https://github.com/solid/solid-spec#webid-profile-documents)
78 | documents and [Web Access
79 | Control](https://github.com/solid/solid-spec#web-access-control) `.acl`
80 | resources.
81 |
82 | Canonical prefix URL: `http://xmlns.com/foaf/0.1/`
83 |
84 | ##### `ldp`
85 | Describes [Linked Data Platform](https://www.w3.org/TR/ldp/) terms.
86 | Used in the [Content
87 | Representation](https://github.com/solid/solid-spec#content-representation) and
88 | [REST API](https://github.com/solid/solid-spec#https-rest-api) sections of the
89 | Solid spec.
90 |
91 | Canonical prefix URL: `http://www.w3.org/ns/ldp#`
92 |
93 | ##### `owl`
94 | The Solid spec uses the [Web Ontology
95 | Language](https://www.w3.org/standards/techs/owl#w3c_all) vocab for specifying
96 | [Extended
97 | Profiles](https://github.com/solid/solid-spec/blob/master/solid-webid-profiles.md#extended-profile),
98 | via `owl:sameAs` links from the WebID Profile document.
99 |
100 | Canonical prefix URL: `http://www.w3.org/2002/07/owl#`
101 |
102 | ##### `pim/space`
103 | Used in the [Solid WebID
104 | Profile](https://github.com/solid/solid-spec#webid-profile-documents) spec
105 | for discovery of user account resources (to link to Root Storage and Preferences
106 | resources).
107 |
108 | Canonical prefix URL: `http://www.w3.org/ns/pim/space#`
109 |
110 | ##### `posix/stat`
111 | Describes terms for POSIX-like files and directory listings.
112 | Used in the [Solid REST API](https://github.com/solid/solid-spec#https-rest-api)
113 | when listing Containers.
114 |
115 | Canonical prefix URL: `http://www.w3.org/ns/posix/stat#`
116 |
117 | Source code: [posix-stat.rdf](posix-stat.rdf)
118 |
119 | ##### `rdf-schema`
120 | The Solid spec uses the [RDF Schema](https://www.w3.org/TR/rdf-schema/) vocab
121 | for specifying [Extended
122 | Profiles](https://github.com/solid/solid-spec/blob/master/solid-webid-profiles.md#extended-profile),
123 | via `rdfs:seeAlso` links from the WebID Profile document.
124 |
125 | Canonical prefix URL: `http://www.w3.org/2000/01/rdf-schema#`
126 |
127 | ## Recommended by Solid
128 |
129 | These vocabularies and ontologies are recommended by the Solid project for
130 | maximum interoperability between apps.
131 |
132 | ##### `vcard`
133 | The [vCard Ontology](https://www.w3.org/TR/vcard-rdf/) is recommended for
134 | Contact Management like applications for use with the Solid ecosystem.
135 |
136 | Canonical prefix URL: `http://www.w3.org/2006/vcard/ns#`
137 |
138 | Solid Extensions:
139 |
140 | * `AddressBook` - an RDF class for representing address books that contain
141 | contacts.
142 |
--------------------------------------------------------------------------------
/acl.n3:
--------------------------------------------------------------------------------
1 | @prefix dct: .
2 | @prefix rdf: .
3 | @prefix gen: .
4 | @prefix foaf: .
5 | @prefix rdfs: .
6 | @prefix vcard: .
7 |
8 | @prefix : .
9 |
10 |
11 | <> dct:title "Basic Access Control ontology";
12 | rdfs:comment """Defines the class Authorization and its essential properties,
13 | and also some classes of access such as read and write. """.
14 |
15 | foaf:topic <>.
16 | foaf:topic <>.
17 |
18 | :Authorization a rdfs:Class;
19 | rdfs:label "authorization";
20 | rdfs:comment """An element of access control,
21 | allowing agent to agents access of some kind to resources or classes of resources""".
22 |
23 | :agent a rdf:Property;
24 | rdfs:label "agent";
25 | rdfs:comment "A person or social entity to being given the right";
26 | rdfs:domain :Authorization;
27 | rdfs:range foaf:Agent.
28 |
29 | :origin a rdf:Property;
30 | rdfs:label "origin";
31 | rdfs:comment """A web application, identified by its Origin, such as
32 | , being given the right.
33 | When a user of the web application at a certain origin accesses the server,
34 | then the browser sets the Origin: header to warn that a possibly untrusted webapp
35 | is being used.
36 | Then, BOTH the user AND the origin must have the required access.""";
37 | rdfs:seeAlso ;
38 | rdfs:domain :Authorization;
39 | rdfs:range :Origin.
40 |
41 | :agentClass a rdf:Property;
42 | rdfs:label "agent class";
43 | rdfs:comment "A class of persons or social entities to being given the right";
44 | rdfs:domain :Authorization;
45 | rdfs:range rdfs:Class. # Typically be subclass of foaf:Agent.
46 | # For public access, use foaf:Agent.
47 |
48 | :AuthenticatedAgent a rdfs:Class;
49 | rdfs:subClassOf foaf:Agent;
50 | rdfs:label "Anyone authenticated";
51 | rdfs:comment """A class of agents who have been authenticated.
52 | In other words, anyone can access this resource, but not anonymously.
53 | The social expectation is that the authentication process will provide an
54 | identify and a name, or pseudonym.
55 | (A new ID should not be minted for every access: the intent is that the user
56 | is able to continue to use the ID for continues interactions with peers,
57 | and for example to develop a reputation)
58 | """ .
59 |
60 | :agentGroup a rdf:Property;
61 | rdfs:label "agent group";
62 | rdfs:comment """A group of persons or social entities to being given the right.
63 | The right is given to any entity which is a vcard:member of the group,
64 | as defined by the document received when the Group is dereferenced.""";
65 | rdfs:domain :Authorization;
66 | rdfs:range vcard:Group. # Must be subclass of foaf:Agent.
67 | # For public access, use foaf:Agent.
68 |
69 | :accessTo
70 | a rdf:Property;
71 | rdfs:label "to";
72 | rdfs:comment "The information resource to which access is being granted.";
73 | rdfs:domain :Authorization;
74 | rdfs:range gen:InformationResource.
75 |
76 | :accessToClass
77 | a rdf:Property;
78 | rdfs:label "to all in";
79 | rdfs:comment "A class of information resources to which access is being granted.";
80 | rdfs:domain :Authorization;
81 | rdfs:range rdfs:Class.
82 |
83 | :default
84 | a rdf:Property;
85 | rdfs:label "default access for things in this";
86 | rdfs:comment """If a resource has no ACL file (it is 404),
87 | then access to the resource is given by the ACL of the immediately
88 | containing directory, or failing that (404) the ACL of the recursively next
89 | containing directory which has an ACL file.
90 | Within that ACL file,
91 | any Authorization which has that directory as its acl:default applies to the
92 | resource. (The highest directory must have an ACL file.)
93 | """;
94 | rdfs:domain :Authorization.
95 |
96 | :defaultForNew
97 | a rdf:Property;
98 | rdfs:label "default access for new things in the object";
99 | rdfs:comment """THIS IS OBSOLETE AS OF 2017-08-01. See 'default'.
100 | Was: A directory for which this authorization is used for new files in the directory.""";
101 | rdfs:domain :Authorization.
102 |
103 | :mode
104 | a rdf:Property;
105 | rdfs:label "access mode";
106 | rdfs:comment "A mode of access such as read or write.";
107 | rdfs:domain :Authorization;
108 | rdfs:range rdfs:Class.
109 |
110 | #################################### Origins
111 |
112 | :Origin a rdfs:Class;
113 | rdfs:label "Origin";
114 | rdfs:seeAlso ;
115 | rdfs:comment """An Origin is basically a web site
116 | (Note WITHOUT the trailing slash after the domain name and port in its URI)
117 | and is the basis for controlling access to data by web apps
118 | in the Same Origin Model of web security.
119 | All scripts from the same origin are given the same right.""".
120 |
121 | #################################### Access modes
122 |
123 | :Access a rdfs:Class;
124 | rdfs:label "access"@en;
125 | rdfs:comment """Any kind of access to a resource. Don't use this, use R W and RW""".
126 |
127 | :Read a rdfs:Class;
128 | rdfs:label "read"@en;
129 | rdfs:subClassOf :Access;
130 | rdfs:comment """The class of read operations""".
131 |
132 | :Write a rdfs:Class;
133 | rdfs:subClassOf :Access;
134 | rdfs:label "write"@en.
135 |
136 | :Append a rdfs:Class;
137 | rdfs:subClassOf :Access, :Write;
138 | rdfs:label "append"@en;
139 | rdfs:comment """Append accesses are specific write access which only add information, and do not remove information.
140 | For text files, for example, append access allows bytes to be added onto the end of the file.
141 | For RDF graphs, Append access allows adds triples to the graph but does not remove any.
142 | Append access is useful for dropbox functionality.
143 | Dropbox can be used for link notification, which the information added is a notification
144 | that a some link has been made elsewhere relevant to the given resource.
145 | """.
146 |
147 | :Control a rdfs:Class;
148 | rdfs:subClassOf :Access;
149 | rdfs:label "control"@en;
150 | rdfs:comment """Allows read/write access to the ACL for the resource(s)""".
151 |
152 |
153 | # Linking a resource to its access control information
154 | :accessControl
155 | a rdf:Property;
156 | rdfs:label "access control";
157 | rdfs:subPropertyOf rdfs:seeAlso;
158 | rdfs:comment """The Access Control file for this information resource.
159 | This may of course be a virtual resource implemented by the access control system.
160 | Note that HTTP header `Link: ; rel="acl"` can also be used for this.""";
161 | rdfs:seeAlso ;
162 | rdfs:domain gen:InformationResource;
163 | rdfs:range gen:InformationResource.
164 |
165 | ######################## Ownership
166 |
167 | :owner a rdf:Property;
168 | rdfs:label "owner"@en;
169 | rdfs:range foaf:Agent;
170 | rdfs:comment """The person or other agent which owns this.
171 | For example, the owner of a file in a filesystem.
172 | There is a sense of "right to control". Typically defaults to the agent who created
173 | something, but can be changed.""".
174 |
175 | :delegates a rdf:Property;
176 | rdfs:label "delegates"@en;
177 | rdfs:range foaf:Agent;
178 | rdfs:comment """Delegates a person or another agent to act on behalf of the agent.
179 | For example, Alice delegates Bob to act on behalf of Alice for ACL purposes.""".
180 |
181 | # ENDS
182 |
--------------------------------------------------------------------------------
/posix-stat.rdf:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 | time of last access
7 |
8 |
9 | blocksize for file system I/O
10 |
11 |
12 | number of 512B blocks allocated
13 |
14 |
15 | time of last status change
16 |
17 |
18 | ID of device containing file
19 |
20 |
21 | group ID of owner
22 |
23 |
24 | inode number
25 |
26 |
27 | protection
28 |
29 |
30 | time of last modification
31 |
32 |
33 | number of hard links
34 |
35 |
36 | device ID (if special file)
37 |
38 |
39 | total size, in bytes
40 |
41 |
42 | user ID of owner
43 |
44 |
45 |
--------------------------------------------------------------------------------
/solid-acp.ttl:
--------------------------------------------------------------------------------
1 | prefix acp:
2 | prefix rdf:
3 | prefix rdfs:
4 | prefix owl:
5 | prefix xsd:
6 | prefix dc:
7 | prefix vann:
8 | prefix cito:
9 |
10 |
11 | a owl:Ontology ;
12 | rdfs:label "Access Control Policy Language (ACP)"@en ;
13 | dc:description "The Access Control Policy Language (ACP) is a language for describing, controlling, and granting access to resources."@en ;
14 | rdfs:isDefinedBy acp: ;
15 | rdfs:seeAlso ;
16 | cito:citesAsAuthority
17 | ,
18 | ,
19 | ,
20 | ,
21 | ;
22 | dc:issued "2022-05-18"^^xsd:date ;
23 | vann:preferredNamespacePrefix "acp" ;
24 | vann:preferredNamespaceUri "http://www.w3.org/ns/solid/acp#"^^xsd:anyURI .
25 |
26 |
27 | #################
28 | # Classes
29 | #################
30 | acp:Context
31 | a rdfs:Class ;
32 | rdfs:label "Context"@en ;
33 | dc:description "Instances of the Context class describe instances of resource access."@en ;
34 | rdfs:isDefinedBy acp: .
35 |
36 | acp:AccessControlResource
37 | a rdfs:Class ;
38 | rdfs:label "Access Control Resource"@en ;
39 | dc:description "Instances of the Access Control Resource (ACR) class connect resources to their Access Controls."@en ;
40 | rdfs:comment "Both the acp:resource property and its inverse acp:accessControlResource MUST be taken into account in determining the Access Control Resources controlling access to resources."@en ;
41 | rdfs:isDefinedBy acp: .
42 |
43 | acp:AccessControl
44 | a rdfs:Class ;
45 | rdfs:label "Access Control"@en ;
46 | dc:description "Instances of the Access Control class connect Access Control Resources to their Policies."@en ;
47 | rdfs:comment "All Access Controls controlling member resources access via the acp:memberAccessControl property MUST be included in the set of Access Controls linked as acp:accessControl in the effective authorization graph of a resource."@en ;
48 | rdfs:isDefinedBy acp: .
49 |
50 | acp:Policy
51 | a rdfs:Class ;
52 | rdfs:label "Access Policy"@en ;
53 | dc:description "Instances of the Policy class connect Access Controls to allowed and denied Access Modes as well as sets of Matchers describing instances of resource access."@en ;
54 | rdfs:comment "An ACP engine MUST grant exactly those Access Modes allowed by Effective Policies. Effective Policies are the Policies controlling access to a resource. A Policy MUST control access to a resource if: it is applied by an Access Control of an ACR of the resource; or, it is applied by a member Access Control of an ACR of an ancestor of the resource.\n\nAn Access Mode MUST be granted if and only if in the set of Effective Policies controlling access to it: a satisfied policy allows the Access Mode; and, no satisfied policy denies it.\n\nA Policy MUST be satisfied if and only if: it references at least one Matcher via an acp:allOf or acp:anyOf property; and, all of its acp:allOf Matchers are satisfied; and, at least one of its acp:anyOf Matchers is satisfied; and, none of its acp:noneOf Matchers are satisfied."@en ;
55 | rdfs:seeAlso ;
56 | rdfs:isDefinedBy acp: .
57 |
58 | acp:Matcher
59 | a rdfs:Class ;
60 | rdfs:label "Matcher"@en ;
61 | dc:description "Instances of the Matcher class are descriptions of matching resource access Contexts."@en ;
62 | rdfs:comment "A Matcher MUST be satisfied if and only if: it defines at least one attribute; and, at least one value of each defined attribute matches the Context. ACP engines MUST match the context attributes defined by this specification according to IRI equality and literal term equality.\n\nACP implementations supporting sub-properties of acp:attribute other than the ones defined by ACP SHOULD also define and implement corresponding matching algorithms."@en ;
63 | rdfs:seeAlso ;
64 | rdfs:isDefinedBy acp: .
65 |
66 | acp:AlwaysSatisfiedRestriction
67 | a rdfs:Class ;
68 | rdfs:label "Always Satisfied Restriction"@en ;
69 | dc:description "Defined instances of the Always Satisfied Restriction class are used in Matcher restrictions to indicate that the restriction is always satisfied. The default behaviour of a Matcher is to not be satisfied, so this is the only way to make a Matcher always satisfied."@en ;
70 | rdfs:isDefinedBy acp: .
71 |
72 | acp:AccessMode
73 | a rdfs:Class ;
74 | rdfs:label "Access Mode"@en ;
75 | dc:description "The ACP specification does not define specific Access Modes. Instead, any Access Mode granted is an instance of the Access Mode class. Access Modes and their granularity can be tailored to the needs of an application and Access Modes defined in other vocabularies can also be used (for example, instances of ACL Access)."@en ;
76 | rdfs:isDefinedBy acp: ;
77 | rdfs:seeAlso .
78 |
79 | acp:AccessGrant
80 | a rdfs:Class ;
81 | rdfs:label "Access Grant"@en ;
82 | dc:description "Instances of the Access Grant class define sets of Access Modes granted in particular Contexts."@en ;
83 | rdfs:isDefinedBy acp: .
84 |
85 |
86 | ####################
87 | # Properties
88 | ####################
89 | acp:resource
90 | a rdf:Property ;
91 | owl:inverseOf acp:accessControlResource ;
92 | rdfs:label "resource"@en ;
93 | dc:description "The resource property connects ACRs to resources they control. It is the inverse of acp:accessControlResource."@en ;
94 | rdfs:isDefinedBy acp: ;
95 | rdfs:domain acp:AccessControlResource .
96 |
97 | acp:accessControlResource
98 | a rdf:Property ;
99 | owl:inverseOf acp:resource ;
100 | rdfs:label "access control resource"@en ;
101 | dc:description "The access control resource property connects resources to ACRs controlling access to them. It is the inverse of acp:resource."@en ;
102 | rdfs:isDefinedBy acp: ;
103 | rdfs:range acp:AccessControlResource .
104 |
105 | acp:accessControl
106 | a rdf:Property ;
107 | rdfs:label "access control"@en ;
108 | dc:description "The access control property connects ACRs to Access Controls."@en ;
109 | rdfs:isDefinedBy acp: ;
110 | rdfs:domain acp:AccessControlResource ;
111 | rdfs:range acp:AccessControl .
112 |
113 | acp:memberAccessControl
114 | rdfs:label "member access control"@en ;
115 | dc:description "The member access control property transitively connects ACRs of member resources to Access Controls."@en ;
116 | rdfs:isDefinedBy acp: ;
117 | rdfs:domain acp:AccessControlResource ;
118 | rdfs:range acp:AccessControl .
119 |
120 | acp:apply
121 | a rdf:Property ;
122 | rdfs:label "apply"@en ;
123 | dc:description "The apply property connects Access Controls to the Policies they apply to resources."@en ;
124 | rdfs:isDefinedBy acp: ;
125 | rdfs:domain acp:AccessControl ;
126 | rdfs:range acp:Policy .
127 |
128 | acp:allow
129 | a rdf:Property ;
130 | rdfs:label "allow"@en ;
131 | dc:description "The allow property connects Policies to the Access Modes they allow if satisfied."@en ;
132 | rdfs:isDefinedBy acp: ;
133 | rdfs:domain acp:Policy ;
134 | rdfs:range acp:AccessMode .
135 |
136 | acp:deny
137 | a rdf:Property ;
138 | rdfs:label "deny"@en ;
139 | dc:description "The deny property connects Policies to the Access Modes they deny if satisfied."@en ;
140 | rdfs:isDefinedBy acp: ;
141 | rdfs:domain acp:Policy ;
142 | rdfs:range acp:AccessMode .
143 |
144 | acp:allOf
145 | a rdf:Property ;
146 | rdfs:label "all of"@en ;
147 | dc:description """The "all of" property connects Policies to a set of Matchers, all of which MUST be satisfied for the Policy to be satisfied."""@en ;
148 | rdfs:isDefinedBy acp: ;
149 | rdfs:domain acp:Policy ;
150 | rdfs:range acp:Matcher .
151 |
152 | acp:anyOf
153 | a rdf:Property ;
154 | rdfs:label "any of"@en ;
155 | dc:description """The "any of" property connects Policies to a set of Matchers, at least one of which MUST be satisfied for the Policy to be satisfied."""@en ;
156 | rdfs:isDefinedBy acp: ;
157 | rdfs:domain acp:Policy ;
158 | rdfs:range acp:Matcher .
159 |
160 | acp:noneOf
161 | a rdf:Property ;
162 | rdfs:label "none of"@en ;
163 | dc:description """The "none of" property connects Policies to a set of Matchers, all of which MUST NOT be satisfied for the Policy to be satisfied."""@en ;
164 | rdfs:isDefinedBy acp: ;
165 | rdfs:domain acp:Policy ;
166 | rdfs:range acp:Matcher .
167 |
168 | acp:attribute
169 | a rdf:Property ;
170 | rdfs:label "attribute"@en ;
171 | dc:description "Sub-properties of ACP attribute are used to describe instances of resource access."@en ;
172 | rdfs:comment "Sub-properties of acp:attribute can be created to fit the specific access control requirements of applications."@en ;
173 | rdfs:isDefinedBy acp: ;
174 | rdfs:domain acp:Context .
175 |
176 | acp:target
177 | rdfs:label "target"@en ;
178 | dc:description "The target attribute describes requested resources."@en ;
179 | rdfs:isDefinedBy acp: ;
180 | rdfs:subPropertyOf acp:attribute .
181 |
182 | acp:mode
183 | rdfs:label "mode"@en ;
184 | dc:description "The mode attribute describes requested modes of access."@en ;
185 | rdfs:isDefinedBy acp: ;
186 | rdfs:subPropertyOf acp:attribute .
187 |
188 | acp:agent
189 | rdfs:label "agent"@en ;
190 | dc:description "The agent attribute describes agents initiating requests."@en ;
191 | rdfs:comment "In a Matcher, agent attributes define a set of agents, at least one of which MUST match the Context for the Matcher to be satisfied."@en ;
192 | rdfs:isDefinedBy acp: ;
193 | rdfs:subPropertyOf acp:attribute .
194 |
195 | acp:creator
196 | rdfs:label "creator"@en ;
197 | dc:description "The creator attribute describes creators of requested resources."@en ;
198 | rdfs:isDefinedBy acp: ;
199 | rdfs:subPropertyOf acp:attribute .
200 |
201 | acp:owner
202 | rdfs:label "owner"@en ;
203 | dc:description "The owner attribute describes owners of requested resources."@en ;
204 | rdfs:isDefinedBy acp: ;
205 | rdfs:subPropertyOf acp:attribute .
206 |
207 | acp:client
208 | rdfs:label "client"@en ;
209 | dc:description "The client attribute describes client applications used to request resources."@en ;
210 | rdfs:comment "In a Matcher, client attributes define a set of clients, at least one of which MUST match the Context for the Matcher to be satisfied. "@en ;
211 | rdfs:isDefinedBy acp: ;
212 | rdfs:subPropertyOf acp:attribute .
213 |
214 | acp:issuer
215 | rdfs:label "issuer"@en ;
216 | dc:description "The issuer attribute describes identity providers used to assert the identity of agents requesting resources."@en ;
217 | rdfs:comment "In a Matcher, issuer attributes define a set of issuers, at least one of which MUST match the Context for the Matcher to be satisfied."@en ;
218 | rdfs:isDefinedBy acp: ;
219 | rdfs:subPropertyOf acp:attribute .
220 |
221 | acp:vc
222 | rdfs:label "vc"@en ;
223 | dc:description "The vc attribute describes types of Verifiable Credentials (VC) presented as part of resource access requests."@en ;
224 | rdfs:comment "In a Matcher, vc attributes define a set of types of Verifiable Credentials (VC), at least one of which MUST match the Context for the Matcher to be satisfied. A VC type present in the Context MUST be a valid VC presented as part of the resource access request."@en ;
225 | rdfs:isDefinedBy acp: ;
226 | rdfs:subPropertyOf acp:attribute ;
227 | cito:citesAsAuthority , ;
228 | rdfs:seeAlso .
229 |
230 | acp:context
231 | rdfs:label "context"@en ;
232 | dc:description "The context property connects Access Grants to the Contexts in which they're given."@en ;
233 | rdfs:isDefinedBy acp: ;
234 | rdfs:domain acp:AccessGrant ;
235 | rdfs:range acp:Context .
236 |
237 | acp:grant
238 | rdfs:label "grant"@en ;
239 | dc:description "The grant property connects Access Grants to the Access Modes they grant."@en ;
240 | rdfs:isDefinedBy acp: ;
241 | rdfs:domain acp:AccessGrant ;
242 | rdfs:range acp:AccessMode .
243 |
244 |
245 | ########################
246 | # Named Individuals
247 | ########################
248 | acp:PublicAgent
249 | a owl:NamedIndividual, acp:AlwaysSatisfiedRestriction ;
250 | dc:description "In a Matcher, agent attributes using the Public Agent named individual MUST match all Contexts."@en ;
251 | rdfs:isDefinedBy acp: ;
252 | rdfs:label "Public Agent"@en .
253 |
254 | acp:AuthenticatedAgent
255 | a owl:NamedIndividual ;
256 | dc:description "In a Matcher, agent attributes using the Authenticated Agent named individual MUST match Contexts that contain an agent."@en ;
257 | rdfs:isDefinedBy acp: ;
258 | rdfs:label "Authenticated Agent"@en .
259 |
260 | acp:CreatorAgent
261 | a owl:NamedIndividual ;
262 | dc:description "In a Matcher, agent attributes using the Creator Agent named individual MUST match Contexts where a defined creator matches the defined agent."@en ;
263 | rdfs:isDefinedBy acp: ;
264 | rdfs:label "Creator Agent"@en .
265 |
266 | acp:OwnerAgent
267 | a owl:NamedIndividual ;
268 | dc:description "In a Matcher, agent attributes using the Owner Agent named individual MUST match Contexts where a defined owner matches the defined agent."@en ;
269 | rdfs:isDefinedBy acp: ;
270 | rdfs:label "Owner Agent"@en .
271 |
272 | acp:PublicClient
273 | a owl:NamedIndividual, acp:AlwaysSatisfiedRestriction ;
274 | dc:description "In a Matcher, client attributes using the Public Client named individual MUST match all Contexts."@en ;
275 | rdfs:isDefinedBy acp: ;
276 | rdfs:label "Public Client"@en .
277 |
278 | acp:PublicIssuer
279 | a owl:NamedIndividual, acp:AlwaysSatisfiedRestriction ;
280 | dc:description "In a Matcher, issuer attributes using the Public Issuer named individual MUST match all Contexts."@en ;
281 | rdfs:isDefinedBy acp: ;
282 | rdfs:label "Public Issuer"@en .
283 |
--------------------------------------------------------------------------------
/solid-app.ttl:
--------------------------------------------------------------------------------
1 | @prefix rdf: .
2 |
3 | <>
4 | "Andrei Sambra" ;
5 | <> ;
6 | ;
7 | "2015-06-19"^^ ;
8 | a ;
9 | "Solid Web Application"@en ;
10 | .
11 |
12 | <#Application>
13 | a ;
14 | "A Solid Web application."@en ;
15 | <> ;
16 | "Application"@en .
17 |
18 | <#Configuration>
19 | a ;
20 | "A set of configuration data for a Solid Web application."@en ;
21 | <> ;
22 | "Configuration data"@en .
23 |
24 | <#PreferencesWorkspace>
25 | a ;
26 | "A special workspace that contains configuration resources for Solid Web application."@en ;
27 | <> ;
28 | "Configuration Workspace"@en ;
29 | .
30 |
31 | <#configuration>
32 | a rdf:Property ;
33 | "The configuration data for a given app."@en ;
34 | <#Application> ;
35 | <> ;
36 | "Configuration"@en .
37 |
38 | <#dataSource>
39 | a rdf:Property ;
40 | "A container (workspace) in which the app stores data."@en ;
41 | <#Configuration> ;
42 | <> ;
43 | "Data source"@en ;
44 | .
45 |
46 | <#index>
47 | a rdf:Property ;
48 | "An index resource that contains references to resources managed by the app."@en ;
49 | <#Application> ;
50 | <> ;
51 | "Data index"@en .
52 |
53 | <#commonType>
54 | a rdf:Property ;
55 | "A common type of data that the app uses. An app can publish a list of common types that can be used by other apps."@en ;
56 | <#Application> ;
57 | <> ;
58 | "Common type"@en ;
59 | .
60 |
61 |
--------------------------------------------------------------------------------
/solid-notifications-context.jsonld:
--------------------------------------------------------------------------------
1 | {
2 | "@context": {
3 | "@version": 1.1,
4 | "@protected": true,
5 | "id": "@id",
6 | "type": "@type",
7 | "notify": "http://www.w3.org/ns/solid/notifications#",
8 | "xsd": "http://www.w3.org/2001/XMLSchema#",
9 |
10 | "EventSourceChannel2023": "notify:EventSourceChannel2023",
11 | "LDNChannel2023": "notify:LDNChannel2023",
12 | "StreamingHTTPChannel2023": "notify:StreamingHTTPChannel2023",
13 | "WebhookChannel2023": "notify:WebhookChannel2023",
14 | "WebSocketChannel2023": "notify:WebSocketChannel2023",
15 |
16 | "accept": "notify:accept",
17 |
18 | "channel": {
19 | "@id": "notify:channel",
20 | "@type": "@id" },
21 |
22 | "channelType": {
23 | "@id": "notify:channelType",
24 | "@type": "@vocab" },
25 |
26 | "endAt": {
27 | "@id": "notify:endAt",
28 | "@type": "xsd:dateTime" },
29 |
30 | "feature": {
31 | "@id": "notify:feature",
32 | "@type": "@vocab" },
33 |
34 | "rate": {
35 | "@id": "notify:rate",
36 | "@type": "xsd:duration" },
37 |
38 | "receiveFrom": {
39 | "@id": "notify:receiveFrom",
40 | "@type": "@id" },
41 |
42 | "sender": {
43 | "@id": "notify:sender",
44 | "@type": "@id" },
45 |
46 | "sendTo": {
47 | "@id": "notify:sendTo",
48 | "@type": "@id" },
49 |
50 | "state": "notify:state",
51 |
52 | "startAt": {
53 | "@id": "notify:startAt",
54 | "@type": "xsd:dateTime" },
55 |
56 | "subscription": {
57 | "@id": "notify:subscription",
58 | "@type": "@id" },
59 |
60 | "topic": {
61 | "@id": "notify:topic",
62 | "@type": "@id" }
63 | }
64 | }
65 |
--------------------------------------------------------------------------------
/solid-notifications.ttl:
--------------------------------------------------------------------------------
1 | @prefix notify: .
2 | @prefix rdf: .
3 | @prefix rdfs: .
4 | @prefix owl: .
5 | @prefix xsd: .
6 | @prefix dc: .
7 | @prefix vs: .
8 | @prefix vann: .
9 |
10 |
11 | a owl:Ontology ;
12 | dc:license ;
13 | rdfs:label "Solid Notifications"@en ;
14 | rdfs:comment "The vocabulary used by the Solid Notifications Protocol specification."@en ;
15 | rdfs:isDefinedBy ;
16 | rdfs:seeAlso ;
17 | dc:issued "2022-12-31"^^xsd:date ;
18 | vann:preferredNamespacePrefix "notify" ;
19 | vann:preferredNamespaceUri "http://www.w3.org/ns/solid/notifications#"^^xsd:anyURI .
20 |
21 | # ---------
22 | # Classes
23 | # ---------
24 | notify:EventSourceChannel2023
25 | a rdf:Class ;
26 | rdfs:label "EventSourceChannel2023" ;
27 | rdfs:comment "A notification channel type that uses the EventSource Web API."@en ;
28 | rdfs:isDefinedBy ;
29 | vs:term_status "testing" .
30 |
31 | notify:LDNChannel2023
32 | a rdf:Class ;
33 | rdfs:label "LDNChannel2023" ;
34 | rdfs:comment "A notification channel type that uses the Linked Data Notifications protocol."@en ;
35 | rdfs:isDefinedBy ;
36 | vs:term_status "testing" .
37 |
38 | notify:StreamingHTTPChannel2023
39 | a rdf:Class ;
40 | rdfs:label "StreamingHTTPChannel2023" ;
41 | rdfs:comment "A notification channel type that uses the Fetch API."@en ;
42 | rdfs:isDefinedBy ;
43 | vs:term_status "testing" .
44 |
45 | notify:WebhookChannel2023
46 | a rdf:Class ;
47 | rdfs:label "WebhookChannel2023" ;
48 | rdfs:comment "A notification channel type that uses Webhooks."@en ;
49 | rdfs:isDefinedBy ;
50 | vs:term_status "testing" .
51 |
52 | notify:WebSocketChannel2023
53 | a rdf:Class ;
54 | rdfs:label "WebSocketChannel2023" ;
55 | rdfs:comment "A notification channel type that uses the WebSocket API."@en ;
56 | rdfs:isDefinedBy ;
57 | vs:term_status "testing" .
58 |
59 | # ------------
60 | # Properties
61 | # ------------
62 | notify:accept
63 | a rdf:Property ;
64 | rdfs:label "accept"@en ;
65 | rdfs:comment "The media types that are acceptable by the recipient of a notification with value corresponding to the HTTP Accept header value [RFC7231]."@en ;
66 | rdfs:isDefinedBy ;
67 | vs:term_status "testing" .
68 |
69 | notify:channel
70 | a rdf:Property ;
71 | rdfs:label "notification channel"@en ;
72 | rdfs:comment "A property used to indicate an available notification channel."@en ;
73 | rdfs:isDefinedBy ;
74 | vs:term_status "testing" .
75 |
76 | notify:channelType
77 | a rdf:Property ;
78 | rdfs:label "notification channel type"@en ;
79 | rdfs:comment "A property used to indicate the notification channel type."@en ;
80 | rdfs:isDefinedBy ;
81 | vs:term_status "testing" .
82 |
83 | notify:endAt
84 | a rdf:Property ;
85 | rdfs:label "end at"@en ;
86 | rdfs:comment "The proposed or actual ending date and time of a notification channel with value represented in the xsd:dateTime datatype."@en ;
87 | rdfs:isDefinedBy ;
88 | vs:term_status "testing" .
89 |
90 | notify:feature
91 | a rdf:Property ;
92 | rdfs:label "feature"@en ;
93 | rdfs:comment "A property used to describe the features supported by a particular notification channel."@en ;
94 | rdfs:isDefinedBy ;
95 | vs:term_status "testing" .
96 |
97 | notify:rate
98 | a rdf:Property ;
99 | rdfs:label "rate"@en ;
100 | rdfs:comment "The minimum amount of time to elapse between notifications sent to receiver with value represented in the xsd:duration datatype."@en ;
101 | rdfs:isDefinedBy ;
102 | vs:term_status "testing" .
103 |
104 | notify:receiveFrom
105 | a rdf:Property ;
106 | rdfs:label "receive from"@en ;
107 | rdfs:comment "The property used to identify the resource that can be used to establish a connection to receive notifications."@en ;
108 | rdfs:isDefinedBy ;
109 | vs:term_status "testing" .
110 |
111 | notify:sender
112 | a rdf:Property ;
113 | rdfs:label "sender"@en ;
114 | rdfs:comment "The property used to identify the party that sends notifications."@en ;
115 | rdfs:isDefinedBy ;
116 | vs:term_status "testing" .
117 |
118 | notify:sendTo
119 | a rdf:Property ;
120 | rdfs:label "send to"@en ;
121 | rdfs:comment "The property used to identify the resource that can accept notifications."@en ;
122 | rdfs:isDefinedBy ;
123 | vs:term_status "testing" .
124 |
125 | notify:startAt
126 | a rdf:Property ;
127 | rdfs:label "start at"@en ;
128 | rdfs:comment "The proposed or actual starting date and time of a notification channel with value represented in the xsd:dateTime datatype."@en ;
129 | rdfs:isDefinedBy ;
130 | vs:term_status "testing" .
131 |
132 | notify:state
133 | a rdf:Property ;
134 | rdfs:label "state"@en ;
135 | rdfs:comment "The last known state of a resource (topic) with value represented in the xsd:string datatype."@en ;
136 | rdfs:isDefinedBy ;
137 | vs:term_status "testing" .
138 |
139 | notify:subscription
140 | a rdf:Property ;
141 | rdfs:label "subscription"@en ;
142 | rdfs:comment "A property used to indicate an available subscription service."@en ;
143 | rdfs:isDefinedBy ;
144 | vs:term_status "testing" .
145 |
146 | notify:topic
147 | a rdf:Property ;
148 | rdfs:label "topic"@en ;
149 | rdfs:comment "The IRI of a resource about which a client would like to receive notifications."@en ;
150 | rdfs:isDefinedBy ;
151 | vs:term_status "testing" .
152 |
--------------------------------------------------------------------------------
/solid-oidc-context.jsonld:
--------------------------------------------------------------------------------
1 | {
2 | "@context": {
3 | "@version": 1.1,
4 | "@protected": true,
5 | "oidc": "http://www.w3.org/ns/solid/oidc#",
6 | "xsd": "http://www.w3.org/2001/XMLSchema#",
7 | "client_id": {
8 | "@id": "@id",
9 | "@type": "@id"
10 | },
11 | "client_uri": {
12 | "@id": "oidc:client_uri",
13 | "@type": "@id"
14 | },
15 | "logo_uri": {
16 | "@id": "oidc:logo_uri",
17 | "@type": "@id"
18 | },
19 | "policy_uri": {
20 | "@id": "oidc:policy_uri",
21 | "@type": "@id"
22 | },
23 | "tos_uri": {
24 | "@id": "oidc:tos_uri",
25 | "@type": "@id"
26 | },
27 | "redirect_uris": {
28 | "@id": "oidc:redirect_uris",
29 | "@type": "@id",
30 | "@container": [
31 | "@id",
32 | "@set"
33 | ]
34 | },
35 | "require_auth_time": {
36 | "@id": "oidc:require_auth_time",
37 | "@type": "xsd:boolean"
38 | },
39 | "default_max_age": {
40 | "@id": "oidc:default_max_age",
41 | "@type": "xsd:integer"
42 | },
43 | "application_type": {
44 | "@id": "oidc:application_type"
45 | },
46 | "client_name": {
47 | "@id": "oidc:client_name"
48 | },
49 | "contacts": {
50 | "@id": "oidc:contacts"
51 | },
52 | "grant_types": {
53 | "@id": "oidc:grant_types"
54 | },
55 | "response_types": {
56 | "@id": "oidc:response_types"
57 | },
58 | "scope": {
59 | "@id": "oidc:scope"
60 | },
61 | "token_endpoint_auth_method": {
62 | "@id": "oidc:token_endpoint_auth_method"
63 | }
64 | }
65 | }
66 |
--------------------------------------------------------------------------------
/solid-oidc.ttl:
--------------------------------------------------------------------------------
1 | @prefix oidc: .
2 | @prefix rdf: .
3 | @prefix rdfs: .
4 | @prefix owl: .
5 | @prefix xsd: .
6 | @prefix dc: .
7 | @prefix vs: .
8 | @prefix vann: .
9 |
10 |
11 | a owl:Ontology ;
12 | dc:license ;
13 | rdfs:label "Solid OIDC"@en ;
14 | rdfs:comment "The OpenID Connect vocabulary used by the Solid-OIDC authentication specification."@en ;
15 | rdfs:isDefinedBy ;
16 | rdfs:seeAlso ;
17 | dc:issued "2021-06-07"^^xsd:date ;
18 | vann:preferredNamespacePrefix "oidc" ;
19 | vann:preferredNamespaceUri "http://www.w3.org/ns/solid/oidc#"^^xsd:anyURI .
20 |
21 | oidc:application_type
22 | a rdf:Property ;
23 | rdfs:label "application type"@en ;
24 | rdfs:comment "TODO"@en ;
25 | rdfs:isDefinedBy ;
26 | vs:term_status "testing" .
27 |
28 | oidc:client_name
29 | a rdf:Property ;
30 | rdfs:label "client name"@en ;
31 | rdfs:comment "A name for this client that can be presented to an End-User"@en ;
32 | rdfs:isDefinedBy ;
33 | vs:term_status "testing" .
34 |
35 | oidc:client_uri
36 | a rdf:Property ;
37 | rdfs:label "client URI"@en ;
38 | rdfs:comment "A URI for this client's home page"@en ;
39 | rdfs:isDefinedBy ;
40 | vs:term_status "testing" .
41 |
42 | oidc:contacts
43 | a rdf:Property ;
44 | rdfs:label "contacts"@en ;
45 | rdfs:comment "A collection of URIs where individuals or entities responsible for this client can be contacted."@en ;
46 | rdfs:isDefinedBy ;
47 | vs:term_status "testing" .
48 |
49 | oidc:default_max_age
50 | a rdf:Property ;
51 | rdfs:label "default max age"@en ;
52 | rdfs:comment "TODO"@en ;
53 | rdfs:isDefinedBy ;
54 | vs:term_status "testing" .
55 |
56 | oidc:grant_types
57 | a rdf:Property ;
58 | rdfs:label "grant types"@en ;
59 | rdfs:comment "A collection of OAuth 2.0 Grant Types that the client will restrict itself to using."@en ;
60 | rdfs:isDefinedBy ;
61 | vs:term_status "testing" .
62 |
63 | oidc:logo_uri
64 | a rdf:Property ;
65 | rdfs:label "logo URI"@en ;
66 | rdfs:comment "A URI for this client's logo"@en ;
67 | rdfs:isDefinedBy ;
68 | vs:term_status "testing" .
69 |
70 | oidc:policy_uri
71 | a rdf:Property ;
72 | rdfs:label "policy URI"@en ;
73 | rdfs:comment "A URI for this client's policy document"@en ;
74 | rdfs:isDefinedBy ;
75 | vs:term_status "testing" .
76 |
77 | oidc:redirect_uris
78 | a rdf:Property ;
79 | rdfs:label "redirect URIs"@en ;
80 | rdfs:comment "A collection of registered URIs used by the client for redirection"@en ;
81 | rdfs:isDefinedBy ;
82 | vs:term_status "testing" .
83 |
84 | oidc:require_auth_time
85 | a rdf:Property ;
86 | rdfs:label "require auth time"@en ;
87 | rdfs:comment "TODO"@en ;
88 | rdfs:isDefinedBy ;
89 | vs:term_status "testing" .
90 |
91 | oidc:response_types
92 | a rdf:Property ;
93 | rdfs:label "response types"@en ;
94 | rdfs:comment "A collection of OAuth 2.0 Response Types that the client will restrict itself to using."@en ;
95 | rdfs:isDefinedBy ;
96 | vs:term_status "testing" .
97 |
98 | oidc:scope
99 | a rdf:Property ;
100 | rdfs:label "scope"@en ;
101 | rdfs:comment "An OAuth2 scope for the requested access token."@en ;
102 | rdfs:isDefinedBy ;
103 | vs:term_status "testing" .
104 |
105 | oidc:token_endpoint_auth_method
106 | a rdf:Property ;
107 | rdfs:label "token endpoint auth method"@en ;
108 | rdfs:comment "The requested client authentication method for the Token Endpoint"@en ;
109 | rdfs:isDefinedBy ;
110 | vs:term_status "testing" .
111 |
112 | oidc:tos_uri
113 | a rdf:Property ;
114 | rdfs:label "ToS URI"@en ;
115 | rdfs:comment "A URI for this client's terms of service document"@en ;
116 | rdfs:isDefinedBy ;
117 | vs:term_status "testing" .
118 |
119 |
--------------------------------------------------------------------------------
/solid-terms.ttl:
--------------------------------------------------------------------------------
1 | prefix solid:
2 | prefix rdf:
3 | prefix rdfs:
4 | prefix owl:
5 | prefix xsd:
6 | prefix dc:
7 | prefix foaf:
8 | prefix ldp:
9 | prefix log:
10 | prefix vann:
11 | prefix ws:
12 |
13 |
14 | a owl:Ontology ;
15 | dc:license ;
16 | rdfs:label "Solid Terms"@en ;
17 | rdfs:comment "The Solid Terms vocabulary defines terms referenced in Solid specifications."@en ;
18 | rdfs:isDefinedBy ;
19 | dc:issued "2015-11-16"^^xsd:date ;
20 | owl:versionInfo [
21 | dc:date "2020-12-22"^^xsd:date ;
22 | dc:replaces ;
23 | rdfs:seeAlso ;
24 | ] ;
25 | vann:preferredNamespacePrefix "solid" ;
26 | vann:preferredNamespaceUri "http://www.w3.org/ns/solid/terms#"^^xsd:anyURI .
27 |
28 | ### Classes
29 | solid:Account
30 | a rdfs:Class ;
31 | dc:issued "2016-05-17"^^xsd:date ;
32 | rdfs:comment "A Solid account."@en ;
33 | rdfs:isDefinedBy ;
34 | rdfs:label "Account"@en .
35 |
36 | solid:Inbox
37 | a rdfs:Class ;
38 | dc:issued "2015-11-16"^^xsd:date ;
39 | dc:modified "2018-10-24"^^xsd:date ;
40 | rdfs:comment "A resource containing notifications."@en ;
41 | rdfs:isDefinedBy ;
42 | rdfs:label "Inbox"@en .
43 |
44 | solid:InsertDeletePatch
45 | a rdfs:Class ;
46 | dc:issued "2022-05-03"^^xsd:date ;
47 | rdfs:subClassOf solid:Patch ;
48 | rdfs:comment "A class of patch expressing insertions, deletions, and conditional modifications to a resource that has an RDF-based representation."@en ;
49 | rdfs:seeAlso ;
50 | rdfs:isDefinedBy ;
51 | rdfs:label "Insert/delete patch"@en .
52 |
53 | solid:ListedDocument
54 | a rdfs:Class ;
55 | dc:issued "2015-11-16"^^xsd:date ;
56 | dc:modified "2018-01-24"^^xsd:date ;
57 | rdfs:comment "Listed Type Index is a registry of resources that are publicly discoverable by outside users and applications."@en ;
58 | rdfs:isDefinedBy ;
59 | rdfs:label "Listed Type Index"@en .
60 |
61 | solid:Notification
62 | a rdfs:Class ;
63 | dc:issued "2015-12-18"^^xsd:date ;
64 | dc:modified "2015-12-20"^^xsd:date ;
65 | dc:modified "2018-10-25"^^xsd:date ;
66 | rdfs:comment "A notification resource."@en ;
67 | rdfs:isDefinedBy ;
68 | rdfs:label "Notification"@en .
69 |
70 | solid:Patch
71 | a rdfs:Class ;
72 | dc:issued "2017-08-17"^^xsd:date ;
73 | rdfs:comment "A patch expresses conditional modifications to a resource that has an RDF-based representation."@en ;
74 | rdfs:isDefinedBy ;
75 | rdfs:label "Patch"@en .
76 |
77 | solid:Timeline
78 | a rdfs:Class ;
79 | dc:issued "2016-01-04"^^xsd:date ;
80 | rdfs:comment "A resource containing time ordered items and sub-containers. Sub-containers may be desirable in file based systems to split the timeline into logical components e.g. /yyyy-mm-dd/ as used in ISO 8061."@en ;
81 | rdfs:isDefinedBy ;
82 | rdfs:label "Timeline"@en .
83 |
84 | solid:TypeIndex
85 | a rdfs:Class ;
86 | dc:issued "2016-02-05"^^xsd:date ;
87 | rdfs:comment "A index of type registries for resources. Applications can register the RDF type they use and list them in the index resource."@en ;
88 | rdfs:isDefinedBy ;
89 | rdfs:label "Type index"@en .
90 |
91 | solid:TypeRegistration
92 | a rdfs:Class ;
93 | dc:issued "2018-01-24"^^xsd:date ;
94 | rdfs:comment "The registered types that map a RDF classes/types to their locations using either `instance` or `instanceContainer` property."@en ;
95 | rdfs:isDefinedBy ;
96 | rdfs:label "Type Registration"@en .
97 |
98 | solid:UnlistedDocument
99 | a rdfs:Class ;
100 | dc:issued "2018-01-24"^^xsd:date ;
101 | rdfs:comment "Unlisted Type Index is a registry of resources that are private to the user and their apps, for types that are not publicly discoverable."@en ;
102 | rdfs:isDefinedBy ;
103 | rdfs:label "Unlisted Type Index"@en .
104 |
105 | ### Properties
106 | solid:account
107 | a rdf:Property ;
108 | dc:issued "2016-05-17"^^xsd:date ;
109 | dc:modified "2018-01-24"^^xsd:date ;
110 | rdfs:comment "A solid account belonging to an Agent."@en ;
111 | rdfs:isDefinedBy ;
112 | rdfs:label "account"@en .
113 |
114 | solid:deletes
115 | a rdf:Property, owl:ObjectProperty, owl:FunctionalProperty ;
116 | dc:issued "2017-08-17"^^xsd:date ;
117 | rdfs:comment "The triple patterns this patch removes from the document."@en ;
118 | rdfs:isDefinedBy ;
119 | rdfs:label "deletes"@en ;
120 | rdfs:domain solid:Patch ;
121 | rdfs:range log:Formula .
122 |
123 | solid:forClass
124 | a rdf:Property ;
125 | dc:issued "2018-01-24"^^xsd:date ;
126 | rdfs:comment "A class that is used to map an listed or unlisted type index."@en ;
127 | rdfs:isDefinedBy ;
128 | rdfs:label "registry class"@en .
129 |
130 | solid:inbox
131 | owl:deprecated true ;
132 | a rdf:Property ;
133 | dc:issued "2015-11-16"^^xsd:date ;
134 | dc:modified "2016-02-05"^^xsd:date ;
135 | dc:modified "2018-10-25"^^xsd:date ;
136 | owl:equivalentProperty ldp:inbox ;
137 | rdfs:subPropertyOf ldp:inbox ;
138 | rdfs:comment "Deprecated pointer to a Linked Data Notifications inbox; please use http://www.w3.org/ns/ldp#inbox instead."@en ;
139 | rdfs:isDefinedBy ;
140 | rdfs:label "inbox (deprecated)"@en .
141 |
142 | solid:inserts
143 | a rdf:Property, owl:ObjectProperty, owl:FunctionalProperty ;
144 | dc:issued "2017-08-17"^^xsd:date ;
145 | rdfs:comment "The triple patterns this patch adds to the document."@en ;
146 | rdfs:isDefinedBy ;
147 | rdfs:label "inserts"@en ;
148 | rdfs:domain solid:Patch ;
149 | rdfs:range log:Formula .
150 |
151 | solid:instance
152 | a rdf:Property ;
153 | dc:issued "2018-01-24"^^xsd:date ;
154 | rdfs:comment "Maps a type to an individual resource, typically an index or a directory listing resource."@en ;
155 | rdfs:isDefinedBy ;
156 | rdfs:label "instance"@en .
157 |
158 | solid:instanceContainer
159 | a rdf:Property ;
160 | dc:issued "2018-01-24"^^xsd:date ;
161 | rdfs:comment "Maps a type to a container which the client would have to list to get the instances of that type."@en ;
162 | rdfs:isDefinedBy ;
163 | rdfs:label "instance container"@en .
164 |
165 | solid:loginEndpoint
166 | a rdf:Property ;
167 | dc:issued "2015-11-16"^^xsd:date ;
168 | rdfs:comment "The login URI of a given server."@en ;
169 | rdfs:isDefinedBy ;
170 | rdfs:label "loginEndpoint"@en .
171 |
172 | solid:logoutEndpoint
173 | a rdf:Property ;
174 | dc:issued "2015-11-16"^^xsd:date ;
175 | rdfs:comment "The logout URI of a given server."@en ;
176 | rdfs:isDefinedBy ;
177 | rdfs:label "logoutEndpoint"@en .
178 |
179 | solid:notification
180 | a rdf:Property ;
181 | dc:issued "2016-03-11"^^xsd:date ;
182 | dc:modified "2018-10-25"^^xsd:date ;
183 | rdfs:comment "Notification resource for an inbox."@en ;
184 | rdfs:isDefinedBy ;
185 | rdfs:label "notification"@en .
186 |
187 | solid:oidcIssuer
188 | a rdf:Property ;
189 | dc:issued "2017-08-15"^^xsd:date ;
190 | dc:modified "2017-08-16"^^xsd:date ;
191 | rdfs:comment "The preferred OpenID Connect issuer URI for a given WebID."@en ;
192 | rdfs:isDefinedBy ;
193 | rdfs:label "OIDC issuer"@en ;
194 | rdfs:subPropertyOf .
195 |
196 | solid:owner
197 | a rdf:Property ;
198 | dc:issued "2021-05-19"^^xsd:date ;
199 | rdfs:comment "A person or social entity that is considered to have control, rights, and responsibilities over a data storage."@en ;
200 | rdfs:isDefinedBy ;
201 | rdfs:range foaf:Agent ;
202 | rdfs:label "owner"@en .
203 |
204 | solid:patches
205 | a rdf:Property, owl:ObjectProperty ;
206 | dc:issued "2017-08-17"^^xsd:date ;
207 | rdfs:comment "The document to which this patch applies."@en ;
208 | rdfs:isDefinedBy ;
209 | rdfs:label "patches"@en ;
210 | rdfs:domain solid:Patch ;
211 | rdfs:range rdfs:Resource .
212 |
213 | solid:privateTypeIndex
214 | a rdf:Property ;
215 | dc:issued "2018-01-24"^^xsd:date ;
216 | rdfs:comment "Points to an unlisted type index resource."@en ;
217 | rdfs:range solid:UnlistedDocument ;
218 | rdfs:isDefinedBy ;
219 | rdfs:label "private type index"@en .
220 |
221 | solid:publicTypeIndex
222 | a rdf:Property ;
223 | dc:issued "2018-01-24"^^xsd:date ;
224 | rdfs:subPropertyOf solid:typeIndex ;
225 | rdfs:comment "Points to a listed type index resource."@en ;
226 | rdfs:range solid:ListedDocument ;
227 | rdfs:isDefinedBy ;
228 | rdfs:label "public type index"@en .
229 |
230 | solid:privateLabelIndex
231 | a rdf:Property ;
232 | dc:issued "2023-10-04"^^xsd:date ;
233 | rdfs:comment "Points to an unlisted label index resource."@en ;
234 | rdfs:range solid:UnlistedDocument ;
235 | rdfs:isDefinedBy ;
236 | rdfs:label "private label index"@en .
237 |
238 | solid:read
239 | a rdf:Property ;
240 | dc:issued "2015-12-18"^^xsd:date ;
241 | rdfs:comment "Indicates if a message has been read or not. This property should have a boolean datatype."@en ;
242 | rdfs:isDefinedBy ;
243 | rdfs:domain ;
244 | rdfs:label "read"@en .
245 |
246 | solid:storageDescription
247 | a rdf:Property , owl:ObjectProperty ;
248 | dc:issued "2024-12-28"^^xsd:date ;
249 | rdfs:comment "Refers to the resource that provides a description of the storage containing this resource."@en ;
250 | rdfs:seeAlso ;
251 | rdfs:isDefinedBy ;
252 | rdfs:label "storage description"@en .
253 |
254 | solid:storageQuota
255 | a rdf:Property, owl:DatatypeProperty ;
256 | dc:issued "2018-10-26"^^xsd:date ;
257 | dc:modified "2018-11-07"^^xsd:date ;
258 | dc:modified "2019-01-22"^^xsd:date ;
259 | rdfs:comment "The quota of non-volatile memory that is available for the account (in bytes)"@en ;
260 | rdfs:isDefinedBy ;
261 | rdfs:domain solid:Account ;
262 | rdfs:label "Non-volatile memory quota"@en .
263 |
264 | solid:storageUsage
265 | a rdf:Property, owl:DatatypeProperty ;
266 | dc:issued "2019-01-22"^^xsd:date ;
267 | rdfs:comment "The amount of non-volatile memory that the account have used (in bytes)"@en ;
268 | rdfs:isDefinedBy ;
269 | rdfs:domain solid:Account ;
270 | rdfs:label "Non-volatile memory usage"@en .
271 |
272 | solid:typeIndex
273 | a rdf:Property ;
274 | dc:issued "2016-02-05"^^xsd:date ;
275 | rdfs:comment "Points to a TypeIndex resource."@en ;
276 | rdfs:range solid:TypeIndex ;
277 | rdfs:isDefinedBy ;
278 | rdfs:label "type index"@en .
279 |
280 | solid:timeline
281 | a rdf:Property ;
282 | dc:issued "2016-01-04"^^xsd:date ;
283 | rdfs:comment "Timeline for a given resource."@en ;
284 | rdfs:isDefinedBy ;
285 | rdfs:label "timeline"@en .
286 |
287 | solid:where
288 | a rdf:Property, owl:ObjectProperty, owl:FunctionalProperty ;
289 | dc:issued "2017-08-17"^^xsd:date ;
290 | rdfs:comment "The conditions the document and the inserted and deleted triple patterns need to satisfy in order for the patch to be applied."@en ;
291 | rdfs:isDefinedBy ;
292 | rdfs:label "where"@en ;
293 | rdfs:domain solid:Patch ;
294 | rdfs:range log:Formula .
295 |
--------------------------------------------------------------------------------
/space.n3:
--------------------------------------------------------------------------------
1 | @prefix rdf: .
2 | @prefix s: .
3 | @prefix owl: .
4 | @prefix xsd: .
5 |
6 | @prefix dc: .
7 | @prefix doc: .
8 | @prefix foaf: .
9 | @prefix gen: .
10 | @prefix ui: .
11 | @prefix : .
12 | @prefix ws: .
13 |
14 | # @prefix dbp: .
15 | # @prefix cal: .
16 | # @prefix foaf: .
17 | # @prefix q: .
18 |
19 |
20 |
21 | <> dc:title "Workspace Ontology";
22 |
23 | doc:version "$Id: space.n3,v 1.18 2020/12/06 10:08:07 eric Exp $";
24 | s:comment """This ontology is for use in describing
25 | Workspaces. Workspaces are places where data is stored and associated policies of privacy.
26 | A given application typically stores information in several different
27 | workspaces, some being user private, some shared, and some public.
28 | it is crucial that the user has easy control over the destiny of information.
29 |
30 | Goals then are that the user can
31 |
32 | - create workspaces
33 | - easily understand which workspace data is going into
34 | - understand what the implications of that are
35 | - (later) set ACLS on them
36 | - publish apropriate use policies for them
37 |
38 | """.
39 |
40 |
41 | :Workspace a s:Class; s:label "workspace";
42 | s:comment """Workspaces are place where data is stored, and associated polices of privacy.
43 | A given application typically stores information in several different
44 | workspaces, some being user private, some shared, and some public.
45 | """.
46 |
47 | :Workspace owl:disjointUnionOf (:PrivateWorkspace :SharedWorkspace :PublicWorkspace).
48 |
49 | :uriPrefix a rdf:Property, owl:DatatypeProperty;
50 | s:label "URI prefix";
51 | ui:prompt "Give the first part of the URis in this workspace";
52 | s:comment """URIs which start with this string are in this workspace or storage.
53 | This may be used for constructing URIs for new storage resources.
54 | """.
55 |
56 | :MasterWorkspace s:subClassOf :PrivateWorkspace;
57 | s:label "Master Workspace"@en;
58 | s:comment """This is a workspace for storing the
59 | information about the other workspaces.
60 | As a user, you normally don't have to worry about it.""".
61 |
62 | :masterWorkspace a rdf:Property;
63 | s:label "master workspace"@en;
64 | s:domain foaf:Agent;
65 | s:range :MasterWorkspace.
66 |
67 | :workspace a rdf:Property;
68 | s:label "workspace"@en;
69 | # s:domain foaf:Agent;
70 | s:range :Workspace.
71 |
72 | :PrivateWorkspace s:subClassOf :Workspace;
73 | s:label "Private workspace";
74 | s:comment """Access only by the you, the user.""".
75 |
76 | :SharedWorkspace s:subClassOf :Workspace;
77 | s:label "Shared workspace";
78 | s:comment """Access is to some but not all people.""".
79 |
80 | :PublicWorkspace s:subClassOf :Workspace;
81 | s:label "Public workspace";
82 | s:comment """Aceess is open to the public. Anything in a public workspace
83 | can be accesed by anyone.""".
84 |
85 | :PreferencesWorkspace s:subClassOf :Workspace;
86 | s:label "Preferences workspace";
87 | s:comment """Aceess may not be open to the public. Contains preferences resources.""".
88 |
89 | :storage a rdf:Property; s:label "storage";
90 | s:range :Storage;
91 | s:comment """The storage in which this workspace is, or the storage which
92 | contains this resource, or a storage available to this agent to use.""".
93 |
94 | ##########################################
95 | #
96 | # Storage is a lump out of which workspaces may be carved
97 | #
98 |
99 | :Storage a s:Class; s:label "storage";
100 | s:comment """A storage is a space of URIs in which you have access to data.
101 | """.
102 |
103 | :PublicStorage a s:Class; s:subClassOf :Storage; s:label "public storage";
104 | s:comment """A public storage is a space of URIs in which you have access to data,
105 | and all data is accessible to anyone without control.
106 | """.
107 |
108 | :PersonalStorage a s:Class; s:subClassOf :Storage; s:label "personal storage";
109 | s:comment """A personal storage is a space of URIs in which you and only you have access to data,
110 | you cannot give access to anyone else.
111 | """.
112 |
113 | :ControlledStorage a s:Class; s:subClassOf :Storage; s:label "access controlled storage";
114 | s:comment """A storage is a space of URIs in which you can individually control for each resource
115 | who has access to it.
116 | """.
117 |
118 | ########################
119 | #
120 | # Registration
121 | #
122 | # Which apps I am using where
123 | #
124 | # TBD
125 |
126 |
127 | #########################
128 | #
129 | # Configuration files
130 | #
131 |
132 | :ConfigurationFile s:subClassOf gen:InformationResource.
133 |
134 | :preferencesFile a rdf:Property;
135 | s:label "preferences file";
136 | s:domain foaf:Agent;
137 | s:range :ConfigurationFile.
138 |
139 |
140 | # ends
141 |
--------------------------------------------------------------------------------
/spec.ttl:
--------------------------------------------------------------------------------
1 | @prefix dcterms: .
2 | @prefix doap: .
3 | @prefix owl: .
4 | @prefix rdf: .
5 | @prefix rdfs: .
6 | @prefix skos: .
7 | @prefix spec: .
8 | @prefix test-description: .
9 | @prefix vann: .
10 | @prefix vs: .
11 | @prefix xsd: .
12 |
13 |
14 | spec:
15 | a owl:Ontology ;
16 | rdfs:label "Spec Terms"@en ;
17 | dcterms:description "Spec Terms provides classes and properties that can be used to describe any significant unit of information in technical reports."@en ;
18 | dcterms:issued "2021-06-04"^^xsd:date ;
19 | dcterms:license ;
20 | owl:versionInfo [
21 | dcterms:date "2024-07-09"^^xsd:date ;
22 | # dcterms:replaces <> ;
23 | # rdfs:seeAlso <> ;
24 | ] ;
25 | doap:repository ;
26 | vann:preferredNamespacePrefix "spec" ;
27 | vann:preferredNamespaceUri "http://www.w3.org/ns/spec#"^^xsd:anyURI ;
28 | vann:usageNote "Work in Progress!"@en ;
29 | vs:term_status "testing"@en ;
30 | dcterms:creator .
31 |
32 | spec:Specification
33 | a rdfs:Class ;
34 | rdfs:label "Specification"@en ;
35 | rdfs:isDefinedBy spec: .
36 |
37 | spec:requirement
38 | a rdf:Property, owl:ObjectProperty ;
39 | rdfs:label "requirement"@en ;
40 | rdfs:range spec:Requirement .
41 |
42 | spec:Requirement
43 | a rdfs:Class ;
44 | rdfs:label "Requirement"@en .
45 |
46 | spec:requirementLevel
47 | a rdf:Property, owl:ObjectProperty ;
48 | rdfs:label "requirement level"@en ;
49 | rdfs:domain spec:Requirement .
50 |
51 | spec:requirementSubject
52 | a rdf:Property, owl:ObjectProperty ;
53 | rdfs:label "requirement subject"@en ;
54 | rdfs:domain spec:Requirement .
55 |
56 | spec:requirementReference
57 | a rdf:Property, owl:ObjectProperty ;
58 | rdfs:subPropertyOf rdfs:isDefinedBy ;
59 | rdfs:label "requirement reference"@en ;
60 | rdfs:domain test-description:SpecificationTestCase ;
61 | rdfs:range spec:Requirement .
62 |
63 | spec:advisement
64 | a rdf:Property, owl:ObjectProperty ;
65 | rdfs:label "advisement"@en ;
66 | rdfs:range spec:Advisement .
67 |
68 | spec:Advisement
69 | a rdfs:Class ;
70 | rdfs:label "Advisement"@en .
71 |
72 | spec:advisementLevel
73 | a rdf:Property, owl:ObjectProperty ;
74 | rdfs:label "advisement level"@en ;
75 | rdfs:domain spec:Advisement .
76 |
77 | spec:testScript
78 | a rdf:Property, owl:ObjectProperty ;
79 | rdfs:label "test script"@en ;
80 | rdfs:domain test-description:TestCase .
81 |
82 | spec:testSuite
83 | a rdf:Property, owl:ObjectProperty ;
84 | rdfs:label "test suite"@en .
85 |
86 | spec:testCase
87 | a rdf:Property, owl:ObjectProperty ;
88 | rdfs:label "test case"@en ;
89 | rdfs:range test-description:TestCase .
90 |
91 | spec:implementationReport
92 | a rdf:Property, owl:ObjectProperty ;
93 | rdfs:label "implementation report"@en .
94 |
95 | spec:statement
96 | a rdf:Property, owl:DatatypeProperty ;
97 | rdfs:label "statement"@en ;
98 | rdfs:range rdfs:Literal .
99 |
100 | spec:violatesAdvice
101 | a rdf:Property, owl:DatatypeProperty ;
102 | rdfs:label "violates advice"@en ;
103 | rdfs:range rdfs:Literal .
104 |
105 | spec:basedOnConsensus
106 | a rdf:Property, owl:ObjectProperty ;
107 | rdfs:label "based on consensus"@en .
108 |
109 | spec:reviewProcess
110 | a rdf:Property, owl:ObjectProperty ;
111 | rdfs:label "review process"@en .
112 |
113 | spec:publicationRules
114 | a rdf:Property, owl:ObjectProperty ;
115 | rdfs:label "publication rules"@en .
116 |
117 | spec:operativeProcess
118 | a rdf:Property, owl:ObjectProperty ;
119 | rdfs:label "operative process"@en .
120 |
121 | spec:scope
122 | a rdf:Property, owl:ObjectProperty ;
123 | rdfs:label "scope"@en .
124 |
125 | spec:intellectualPropertyRights
126 | a rdf:Property, owl:ObjectProperty ;
127 | rdfs:label "intellectual property rights"@en .
128 |
129 | spec:acknowledgements
130 | a rdf:Property, owl:ObjectProperty ;
131 | rdfs:label "acknowledgements"@en .
132 |
133 |
134 | # Requirement Level
135 | spec:RequirementLevel
136 | a skos:ConceptScheme ;
137 | skos:prefLabel "Requirement Level"@en ;
138 | skos:hasTopConcept spec:MUST, spec:MUSTNOT, spec:REQUIRED, spec:SHALL, spec:SHALLNOT, spec:SHOULD, spec:SHOULDNOT, spec:RECOMMENDED, spec:NOTRECOMMENDED, spec:MAY, spec:OPTIONAL ;
139 | rdfs:isDefinedBy
140 | ,
141 | ,
142 | .
143 |
144 | spec:MUST
145 | a skos:Concept ;
146 | skos:topConceptOf spec:RequirementLevel ;
147 | skos:prefLabel "MUST"@en ;
148 | skos:exactMatch spec:REQUIRED, spec:SHALL .
149 |
150 | spec:MUSTNOT
151 | a skos:Concept ;
152 | skos:topConceptOf spec:RequirementLevel ;
153 | skos:prefLabel "MUST NOT"@en ;
154 | skos:exactMatch spec:SHALLNOT .
155 |
156 | spec:REQUIRED
157 | a skos:Concept ;
158 | skos:topConceptOf spec:RequirementLevel ;
159 | skos:prefLabel "REQUIRED"@en ;
160 | skos:exactMatch spec:MUST, spec:SHALL .
161 |
162 | spec:SHALL
163 | a skos:Concept ;
164 | skos:topConceptOf spec:RequirementLevel ;
165 | skos:prefLabel "SHALL"@en ;
166 | skos:exactMatch spec:MUST, spec:REQUIRED .
167 |
168 | spec:SHALLNOT
169 | a skos:Concept ;
170 | skos:topConceptOf spec:RequirementLevel ;
171 | skos:prefLabel "SHALL NOT"@en ;
172 | skos:exactMatch spec:MUSTNOT .
173 |
174 | spec:SHOULD
175 | a skos:Concept ;
176 | skos:topConceptOf spec:RequirementLevel ;
177 | skos:prefLabel "SHOULD"@en ;
178 | skos:exactMatch spec:RECOMMENDED .
179 |
180 | spec:SHOULDNOT
181 | a skos:Concept ;
182 | skos:topConceptOf spec:RequirementLevel ;
183 | skos:prefLabel "SHOULD NOT"@en ;
184 | skos:exactMatch spec:NOTRECOMMENDED .
185 |
186 | spec:RECOMMENDED
187 | a skos:Concept ;
188 | skos:topConceptOf spec:RequirementLevel ;
189 | skos:prefLabel "RECOMMENDED"@en ;
190 | skos:exactMatch spec:SHOULD .
191 |
192 | spec:NOTRECOMMENDED
193 | a skos:Concept ;
194 | skos:topConceptOf spec:RequirementLevel ;
195 | skos:prefLabel "NOT RECOMMENDED"@en ;
196 | skos:exactMatch spec:SHOULDNOT .
197 |
198 | spec:MAY
199 | a skos:Concept ;
200 | skos:topConceptOf spec:RequirementLevel ;
201 | skos:prefLabel "MAY"@en ;
202 | skos:exactMatch spec:OPTIONAL .
203 |
204 | spec:OPTIONAL
205 | a skos:Concept ;
206 | skos:topConceptOf spec:RequirementLevel ;
207 | skos:prefLabel "OPTIONAL"@en ;
208 | skos:exactMatch spec:MAY .
209 |
210 |
211 | ## Advisement Level
212 | spec:AdvisementLevel
213 | a skos:ConceptScheme ;
214 | skos:prefLabel "Advisement Level"@en .
215 |
216 | spec:StronglyEncouraged
217 | a skos:Concept ;
218 | skos:topConceptOf spec:AdvisementLevel ;
219 | skos:prefLabel "strongly encouraged"@en .
220 |
221 | spec:StronglyDiscouraged
222 | a skos:Concept ;
223 | skos:topConceptOf spec:AdvisementLevel ;
224 | skos:prefLabel "strongly discouraged"@en .
225 |
226 | spec:Encouraged
227 | a skos:Concept ;
228 | skos:topConceptOf spec:AdvisementLevel ;
229 | skos:prefLabel "encouraged"@en .
230 |
231 | spec:Discouraged
232 | a skos:Concept ;
233 | skos:topConceptOf spec:AdvisementLevel ;
234 | skos:prefLabel "discouraged"@en .
235 |
236 | spec:Can
237 | a skos:Concept ;
238 | skos:topConceptOf spec:AdvisementLevel ;
239 | skos:prefLabel "can"@en .
240 |
241 | spec:Cannot
242 | a skos:Concept ;
243 | skos:topConceptOf spec:AdvisementLevel ;
244 | skos:prefLabel "cannot"@en .
245 |
246 | spec:Could
247 | a skos:Concept ;
248 | skos:topConceptOf spec:AdvisementLevel ;
249 | skos:prefLabel "could"@en .
250 |
251 | spec:CouldNot
252 | a skos:Concept ;
253 | skos:topConceptOf spec:AdvisementLevel ;
254 | skos:prefLabel "could not"@en .
255 |
256 | spec:Might
257 | a skos:Concept ;
258 | skos:topConceptOf spec:AdvisementLevel ;
259 | skos:prefLabel "might"@en .
260 |
261 | spec:MightNot
262 | a skos:Concept ;
263 | skos:topConceptOf spec:AdvisementLevel ;
264 | skos:prefLabel "might not"@en .
265 |
266 |
267 |
268 | spec:documentStatus
269 | a rdf:Property, owl:ObjectProperty ;
270 | rdfs:label "document status"@en .
271 |
272 | spec:terminology
273 | a rdf:Property, owl:ObjectProperty ;
274 | rdfs:label "terminology"@en ;
275 | rdfs:range skos:ConceptScheme .
276 |
277 | spec:conventions
278 | a rdf:Property, owl:ObjectProperty ;
279 | rdfs:label "conventions"@en .
280 |
281 | spec:complianceWithOtherSpecifications
282 | a rdf:Property, owl:ObjectProperty ;
283 | rdfs:label "compliance with other specifications"@en .
284 |
285 | spec:example
286 | a rdf:Property, owl:ObjectProperty ;
287 | rdfs:label "example"@en .
288 |
289 | spec:note
290 | a rdf:Property, owl:ObjectProperty ;
291 | rdfs:label "note"@en .
292 |
293 | spec:issue
294 | a rdf:Property, owl:ObjectProperty ;
295 | rdfs:label "issue"@en .
296 |
297 | spec:exitCriteria
298 | a rdf:Property, owl:ObjectProperty ;
299 | rdfs:label "exit criteria"@en .
300 |
301 | spec:successCriteria
302 | a rdf:Property, owl:ObjectProperty ;
303 | rdfs:label "success criteria"@en .
304 |
305 |
306 | # Considerations
307 | spec:consideration
308 | a rdf:Property, owl:ObjectProperty ;
309 | rdfs:label "consideration"@en ;
310 | rdfs:range spec:Considerations .
311 |
312 | spec:Considerations
313 | a rdfs:Class ;
314 | rdfs:label "Considerations"@en .
315 |
316 | spec:SecurityConsiderations
317 | a rdfs:Class ;
318 | rdfs:subClassOf spec:Considerations ;
319 | rdfs:label "Security Considerations"@en .
320 |
321 | spec:PrivacyConsiderations
322 | a rdfs:Class ;
323 | rdfs:subClassOf spec:Considerations ;
324 | rdfs:label "Privacy Considerations"@en .
325 |
326 | spec:AccessibilityConsiderations
327 | a rdfs:Class ;
328 | rdfs:subClassOf spec:Considerations ;
329 | rdfs:label "Accessibility Considerations"@en .
330 |
331 | spec:InternationalizationConsiderations
332 | a rdfs:Class ;
333 | rdfs:subClassOf spec:Considerations ;
334 | rdfs:label "Internationalization Considerations"@en .
335 |
336 | spec:RegistrationConsiderations
337 | a rdfs:Class ;
338 | rdfs:subClassOf spec:Considerations ;
339 | rdfs:label "Registration Considerations"@en ;
340 | rdfs:comment "Registration considerations for collection of values or data at standards organisations, e.g., IANA, W3C."@en .
341 |
342 | spec:SelfReviewQuestionnaire
343 | a rdfs:Class ;
344 | rdfs:subClassOf spec:Considerations ;
345 | rdfs:label "Self-Review Questionnaire"@en .
346 |
347 | spec:SelfReviewQuestionnaireSecurityPrivacy
348 | a rdfs:Class ;
349 | rdfs:subClassOf spec:SelfReviewQuestionnaire ;
350 | rdfs:label "Self-Review Questionnaire: Security and Privacy"@en ;
351 | rdfs:seeAlso .
352 |
353 |
354 | # Changelog
355 | spec:Changelog
356 | a rdfs:Class ;
357 | rdfs:label "Changelog"@en .
358 |
359 | spec:Change
360 | a rdfs:Class ;
361 | rdfs:label "Change"@en .
362 |
363 | spec:change
364 | a rdf:Property, owl:ObjectProperty ;
365 | rdfs:label "change"@en .
366 |
367 | spec:changelog
368 | a rdf:Property, owl:ObjectProperty ;
369 | rdfs:label "changelog"@en .
370 |
371 | spec:changeClass
372 | a rdf:Property, owl:ObjectProperty ;
373 | rdfs:label "change class"@en .
374 |
375 | spec:changeSubject
376 | a rdf:Property, owl:ObjectProperty ;
377 | rdfs:label "change subject"@en .
378 |
379 |
380 | # Variability in Specifications
381 | spec:Variability
382 | a rdfs:Class ;
383 | rdfs:seeAlso .
384 |
385 | spec:classesOfProducts
386 | a rdf:Property .
387 | spec:specificationCategory
388 | a rdf:Property .
389 | spec:profile
390 | a rdf:Property .
391 | spec:module
392 | a rdf:Property .
393 | spec:level
394 | a rdf:Property .
395 | spec:discretionaryItem
396 | a rdf:Property .
397 | spec:deprecation
398 | a rdf:Property .
399 | spec:extensibility
400 | a rdf:Property, owl:ObjectProperty ;
401 | rdfs:label "extensibility"@en ;
402 | rdfs:range spec:Extensibility .
403 | spec:errorHandling
404 | a rdf:Property, owl:ObjectProperty ;
405 | rdfs:label "error handling"@en .
406 |
407 | spec:Extensibility
408 | a rdfs:Class ;
409 | rdfs:label "Extensibility"@en .
410 |
411 | spec:defines
412 | a rdf:Property, owl:ObjectProperty ;
413 | rdfs:label "defines"@en .
414 |
415 |
416 | #Conformance
417 | spec:conformance
418 | a rdf:Property, owl:ObjectProperty ;
419 | rdfs:label "conformance"@en .
420 |
421 | spec:Conformance
422 | a rdfs:Class ;
423 | rdfs:label "Conformance"@en .
424 |
425 |
426 | #Classes of products
427 | spec:ClassesOfProducts
428 | a skos:ConceptScheme ;
429 | skos:prefLabel "Classes of Products"@en ;
430 | skos:hasTopConcept spec:Content, spec:ProducerOfContent, spec:Player, spec:Consumer, spec:RespondingAgent, spec:Processor, spec:Module, spec:ProducerOfInstructions, spec:Profile, spec:SpecificationGuidelines ;
431 | rdfs:isDefinedBy .
432 |
433 | spec:Content
434 | a skos:Concept ;
435 | skos:prefLabel "Content"@en ;
436 | skos:definition "Content (of type, meaning, and format as defined in the specification)."@en .
437 |
438 | spec:ProducerOfContent
439 | a skos:Concept ;
440 | skos:prefLabel "Producer of content"@en ;
441 | skos:definition "Producer of content (may be divided into initiators and modifiers)."@en .
442 |
443 | spec:Player
444 | a skos:Concept ;
445 | skos:prefLabel "Player"@en ;
446 | skos:definition "Player (read-only consumer, conveys content in non- XML way)."@en .
447 |
448 | spec:Consumer
449 | a skos:Concept ;
450 | skos:prefLabel "Consumer"@en ;
451 | skos:definition "Consumer in a one-way pipeline."@en .
452 |
453 | spec:RespondingAgent
454 | a skos:Concept ;
455 | skos:prefLabel "Responding agent"@en ;
456 | skos:definition "Responding agent (e.g., server) of API (consumer and producer)."@en .
457 |
458 | spec:Processor
459 | a skos:Concept ;
460 | skos:prefLabel "Processor"@en ;
461 | skos:definition "Processor (consumer of its vocabulary/instructions)."@en .
462 |
463 | spec:Module
464 | a skos:Concept ;
465 | skos:prefLabel "Module"@en ;
466 | skos:definition "Module that hosts the processor."@en .
467 |
468 | spec:ProducerOfInstructions
469 | a skos:Concept ;
470 | skos:prefLabel "Producer of instructions"@en ;
471 | skos:definition "Producer of instructions/commands to processor."@en .
472 |
473 | spec:Profile
474 | a skos:Concept ;
475 | skos:prefLabel "Profile"@en ;
476 | skos:definition "Profile derived from the specification's Rules for Profiles."@en .
477 |
478 | spec:SpecificationGuidelines
479 | a skos:Concept ;
480 | skos:prefLabel "Specification guidelines"@en ;
481 | skos:definition "Specification (guidelines)."@en .
482 |
483 |
484 | spec:Server
485 | a skos:Concept ;
486 | skos:prefLabel "Server"@en .
487 |
488 | spec:Client
489 | a skos:Concept ;
490 | skos:prefLabel "Client"@en .
491 |
492 |
493 | #Specification category
494 | spec:SpecificationCategory
495 | a skos:ConceptScheme ;
496 | skos:prefLabel "Specification Categories"@en ;
497 | skos:hasTopConcept spec:SetOfGuidelines, spec:FoundationOrAbstract, spec:NotationSyntax, spec:ContentData, spec:SetOfEvents, spec:Protocol, spec:ProcessorBehavior, spec:API, spec:RulesForDerivingProfiles ;
498 | rdfs:isDefinedBy .
499 |
500 | spec:SetOfGuidelines
501 | a skos:Concept ;
502 | skos:prefLabel "Set of guidelines"@en ;
503 | skos:definition "Describes desirable attributes of content intended for human consumption. Examples: QA Specification Guidelines, Web Content Accessibility Guidelines."@en .
504 |
505 | spec:FoundationOrAbstract
506 | a skos:Concept ;
507 | skos:prefLabel "Foundation or abstract"@en ;
508 | skos:definition """Describes an abstraction around which several other specs will synchronize, but which is not implemented in code. Example: XML InfoSet is a foundation for various specs that have a "data model" of the usable content of an XML document. However, there is no "InfoSet API" or "InfoSet Parser" specified."""@en .
509 |
510 | spec:NotationSyntax
511 | a skos:Concept ;
512 | skos:prefLabel "Notation/syntax"@en ;
513 | skos:definition "Describes a language that will be expressed as an actual character stream in XML or Web content and whose semantics will be understood by other W3C-specified technologies. Example: XPath is a non-XML-based notation for expressions that is used as the W3C-standard expression language for XSLT, XPointer, and XForms. The specifications of those other technologies do not treat XPath as a black box, but rather impose limits, add extensions, and/or recognize the range of potential values of an XPath expression. By doing so, the other technologies require a certain level of precision in the XPath specification, including precision about its variability, to use the hooks and impose their limits."@en .
514 |
515 | spec:ContentData
516 | a skos:Concept ;
517 | skos:prefLabel "Content/data"@en ;
518 | skos:definition "Describes a markup language whose downstream usage is to express meaning to an end user or to applications specific to a discipline other than the Web itself. Example: MathML is a markup language for the math discipline, and may be used to express mathematical ideas to a person or to math software. SVG is a language for expressing graphical ideas."@en .
519 |
520 | spec:SetOfEvents
521 | a skos:Concept ;
522 | skos:prefLabel "Set of events"@en ;
523 | skos:definition "Describes a coherent set of events that software may need to raise or listen for. Example: one part of XForms is a set of form-related events."@en .
524 |
525 | spec:Protocol
526 | a skos:Concept ;
527 | skos:prefLabel "Protocol"@en ;
528 | skos:definition "Describes the interaction between two parties. Example: SOAP."@en .
529 |
530 | spec:ProcessorBehavior
531 | a skos:Concept ;
532 | skos:prefLabel "Processor behavior"@en ;
533 | skos:definition "Describes the behavior of a piece of software that takes well-defined inputs and operates on them to produce specified output. Example: the XSL Transformations language specifies the behavior of an XSLT processor. The specification describes an XML-based style sheet language that directs the operations of a processor, but it clearly states that conformance determinations apply to the processor, not the style sheets. Example: XML Query specifies the behavior of a processor that takes the query language and fetches data, typically arranging that data in a convenient form for XML/Web use. It allows flexibility of the storage system from which data is fetched."@en .
534 |
535 | spec:API
536 | a skos:Concept ;
537 | skos:prefLabel "API"@en ;
538 | skos:definition "APIs - describes a programmatic interface, allowing independent implementation of software that occupies the roles on either side of the interface. Example: DOM specifies an interface that can be implemented by a parser or other processor that intends to offer an XML document in navigable form. Other software that wishes to navigate an XML document (e.g., an XSLT processor) can be written to use the DOM interface."@en .
539 |
540 | spec:RulesForDerivingProfiles
541 | a skos:Concept ;
542 | skos:prefLabel "Rules for deriving profiles"@en ;
543 | skos:definition "Describes how implementers, or any parties other than the WG itself, may produce a profile for a particular situation that cannot be anticipated in complete detail at the time the WG is writing its specification. Example: part of SMIL."@en .
544 |
545 |
546 | #Subdivisions by profiles
547 | spec:suitedFor
548 | a rdf:Property, owl:ObjectProperty ;
549 | rdfs:label "suited for"@en .
550 |
551 | spec:profile
552 | a rdf:Property, owl:ObjectProperty ;
553 | rdfs:label "profile"@en ;
554 | rdfs:subPropertyOf spec:defines .
555 | # rdfs:range spec:ConformanceProfile ;
556 |
557 | spec:ConformanceProfile
558 | a rdfs:Class ;
559 | rdfs:label "Profile"@en ;
560 | rdfs:comment "A profile is a subset of the technology that supports a particular functional objective or a subset of a set of technologies defining how they are required to operate together (e.g., XHTML plus MathML plus SVG)."@en ;
561 | rdfs:isDefinedBy .
562 |
563 |
564 | #Subdivision by modules
565 | spec:composedOf
566 | a rdf:Property, owl:ObjectProperty ;
567 | rdfs:label "composed of"@en ;
568 | rdfs:subPropertyOf spec:defines .
569 |
570 | spec:module
571 | a rdf:Property, owl:ObjectProperty ;
572 | rdfs:label "module"@en ;
573 | rdfs:subPropertyOf spec:composedOf .
574 | # rdfs:range spec:ConformanceModule ;
575 |
576 | spec:ConformanceModule
577 | a rdfs:Class ;
578 | rdfs:label "Module"@en ;
579 | rdfs:comment "Modules are discrete divisions or functional groupings of the technology and do not necessarily fit in a simple hierarchical structure."@en ;
580 | rdfs:isDefinedBy .
581 |
582 |
583 | #Subdivision by levels
584 | spec:functionalLevel
585 | a rdf:Property, owl:ObjectProperty ;
586 | rdfs:label "functional level"@en ;
587 | rdfs:subPropertyOf spec:defines .
588 | # rdfs:range spec:ConformanceFunctionalLevel ;
589 |
590 | spec:buildUpon
591 | a rdf:Property, owl:ObjectProperty ;
592 | rdfs:label "build upon"@en ;
593 | rdfs:subPropertyOf spec:defines .
594 |
595 | spec:ConformanceFunctionalLevel
596 | a rdfs:Class ;
597 | rdfs:label "Functional level"@en ;
598 | rdfs:comment "Functional levels — or in common usage simply levels — are used to group functionality into nested subsets, ranging from minimal or core functionality to full or complete functionally. Level 1 is the minimum or core of the technology. Level 2 includes all of level 1 plus additional functionality. This nesting continues until level n, which consists of the entire technology."@en ;
599 | rdfs:isDefinedBy .
600 |
601 |
602 | # XXX: Already covered by other vocabs. Reuse existing or check for subProperty/equivalentProperty possibility.
603 | spec:thisVersion
604 | a rdf:Property .
605 | spec:latestVersion
606 | a rdf:Property .
607 | spec:previousVersion
608 | a rdf:Property .
609 | # or editorList authorList contributorList
610 | spec:editor
611 | a rdf:Property .
612 | spec:author
613 | a rdf:Property .
614 | spec:contributor
615 | a rdf:Property .
616 | # doap-ish.
617 | spec:repository
618 | a rdf:Property .
619 | spec:issueTracker
620 | a rdf:Property .
621 | spec:implementation
622 | a rdf:Property .
623 | # Citations / References. Use CiTO
624 | spec:citation
625 | a rdf:Property .
626 | #Social
627 | #as:inReplyTo
628 | #ldp:inbox
629 | #oa:annotationService
630 |
--------------------------------------------------------------------------------