PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX solid: <http://www.w3.org/ns/solid/terms#>
PREFIX linkml: <https://w3id.org/linkml/>
PREFIX connect: <http://openid.net/specs/connect/1.0/>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX ns: <http://rdfs.org/sioc/ns#>
PREFIX log: <http://www.w3.org/2000/10/swap/log#>
PREFIX ldp: <http://www.w3.org/ns/ldp#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX pav: <http://purl.org/pav/>
PREFIX schema: <http://schema.org/>
PREFIX sh: <http://www.w3.org/ns/shacl#>
PREFIX vann: <http://purl.org/vocab/vann/>

solid: a owl:Ontology ;
  rdfs:label "Solid Terms"@en ;
  rdfs:comment "The Solid Terms vocabulary defines terms referenced in Solid specifications."@en ;
  pav:createdOn "2015-11-16"^^xsd:dateTime ;
  schema:inLanguage "en" ;
  dcterms:license <https://creativecommons.org/publicdomain/zero/1.0/> ;
  rdfs:isDefinedBy solid: ;
  vann:preferredNamespacePrefix "solid" ;
  vann:preferredNamespaceUri "http://www.w3.org/ns/solid/terms#"^^xsd:anyURI ;
  sh:declare [
    sh:prefix "solid" ;
    sh:namespace "http://www.w3.org/ns/solid/terms#"^^xsd:anyURI
  ] , [
    sh:prefix "linkml" ;
    sh:namespace "https://w3id.org/linkml/"^^xsd:anyURI
  ] , [
    sh:prefix "connect" ;
    sh:namespace "http://openid.net/specs/connect/1.0/"^^xsd:anyURI
  ] , [
    sh:prefix "dcterms" ;
    sh:namespace "http://purl.org/dc/terms/"^^xsd:anyURI
  ] , [
    sh:prefix "ns" ;
    sh:namespace "http://rdfs.org/sioc/ns#"^^xsd:anyURI
  ] , [
    sh:prefix "rdfs" ;
    sh:namespace "http://www.w3.org/2000/01/rdf-schema#"^^xsd:anyURI
  ] , [
    sh:prefix "log" ;
    sh:namespace "http://www.w3.org/2000/10/swap/log#"^^xsd:anyURI
  ] , [
    sh:prefix "owl" ;
    sh:namespace "http://www.w3.org/2002/07/owl#"^^xsd:anyURI
  ] , [
    sh:prefix "ldp" ;
    sh:namespace "http://www.w3.org/ns/ldp#"^^xsd:anyURI
  ] , [
    sh:prefix "foaf" ;
    sh:namespace "http://xmlns.com/foaf/0.1/"^^xsd:anyURI
  ] .

solid:Timeline a owl:Class ;
  rdfs:label "Timeline"@en ;
  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 ;
  pav:createdOn "2016-01-04"^^xsd:dateTime ;
  rdfs:isDefinedBy solid: .

solid:Notification a owl:Class ;
  rdfs:label "Notification"@en ;
  rdfs:comment "A notification resource."@en ;
  pav:createdOn "2015-12-18"^^xsd:dateTime ;
  pav:lastUpdatedOn "2015-12-20"^^xsd:dateTime ;
  dcterms:modified "2018-10-25"@en ;
  rdfs:isDefinedBy solid: .

solid:UnlistedDocument a owl:Class ;
  rdfs:label "Unlisted Type Index"@en ;
  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 ;
  pav:createdOn "2018-01-24"^^xsd:dateTime ;
  rdfs:isDefinedBy solid: .

solid:TypeRegistration a owl:Class ;
  rdfs:label "Type Registration"@en ;
  rdfs:comment "The registered types that map a RDF classes/types to their locations using either `instance` or `instanceContainer` property."@en ;
  pav:createdOn "2018-01-24"^^xsd:dateTime ;
  rdfs:isDefinedBy solid: .

solid:InsertDeletePatch a owl:Class ;
  rdfs:label "Insert/delete patch"@en ;
  rdfs:comment "A class of patch expressing insertions, deletions, and conditional modifications to a resource that has an RDF-based representation."@en ;
  rdfs:seeAlso <https://solidproject.org/TR/2021/protocol-20211217#server-patch-n3-type> ;
  pav:createdOn "2022-05-03"^^xsd:dateTime ;
  rdfs:isDefinedBy solid: ;
  rdfs:subClassOf solid:Patch .

solid:ListedDocument a owl:Class ;
  rdfs:label "Listed Type Index"@en ;
  rdfs:comment "Listed Type Index is a registry of resources that are publicly discoverable by outside users and applications."@en ;
  pav:createdOn "2015-11-16"^^xsd:dateTime ;
  pav:lastUpdatedOn "2018-01-24"^^xsd:dateTime ;
  rdfs:isDefinedBy solid: .

solid:Inbox a owl:Class ;
  rdfs:label "Inbox"@en ;
  rdfs:comment "A resource containing notifications."@en ;
  pav:createdOn "2015-11-16"^^xsd:dateTime ;
  pav:lastUpdatedOn "2018-10-24"^^xsd:dateTime ;
  rdfs:isDefinedBy solid: .

solid:Patch a owl:Class ;
  rdfs:label "Patch"@en ;
  rdfs:comment "A patch expresses conditional modifications to a resource that has an RDF-based representation."@en ;
  pav:createdOn "2017-08-17"^^xsd:dateTime ;
  rdfs:isDefinedBy solid: ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty solid:patches ;
    owl:allValuesFrom owl:Thing
  ] , [
    a owl:Restriction ;
    owl:onProperty solid:where ;
    owl:allValuesFrom log:Formula
  ] , [
    a owl:Restriction ;
    owl:onProperty solid:where ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty solid:deletes ;
    owl:allValuesFrom log:Formula
  ] , [
    a owl:Restriction ;
    owl:onProperty solid:deletes ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty solid:inserts ;
    owl:allValuesFrom log:Formula
  ] , [
    a owl:Restriction ;
    owl:onProperty solid:inserts ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

solid:TypeIndex a owl:Class ;
  rdfs:label "Type index"@en ;
  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 ;
  pav:createdOn "2016-02-05"^^xsd:dateTime ;
  rdfs:isDefinedBy solid: .

solid:Account a owl:Class ;
  rdfs:label "Account"@en ;
  rdfs:comment "A Solid account."@en ;
  pav:createdOn "2016-05-17"^^xsd:dateTime ;
  rdfs:isDefinedBy solid: ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty solid:storageQuota ;
    owl:allValuesFrom rdfs:Literal
  ] , [
    a owl:Restriction ;
    owl:onProperty solid:storageUsage ;
    owl:allValuesFrom rdfs:Literal
  ] .

ns:Post a owl:Class ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty solid:read ;
    owl:allValuesFrom owl:Thing
  ] .

foaf:Agent a owl:Class .

log:Formula a owl:Class .

solid:account a owl:ObjectProperty ;
  rdfs:label "account"@en ;
  rdfs:comment "A solid account belonging to an Agent."@en ;
  pav:createdOn "2016-05-17"^^xsd:dateTime ;
  pav:lastUpdatedOn "2018-01-24"^^xsd:dateTime ;
  rdfs:isDefinedBy solid: .

solid:timeline a owl:ObjectProperty ;
  rdfs:label "timeline"@en ;
  rdfs:comment "Timeline for a given resource."@en ;
  pav:createdOn "2016-01-04"^^xsd:dateTime ;
  rdfs:isDefinedBy solid: .

solid:notification a owl:ObjectProperty ;
  rdfs:label "notification"@en ;
  rdfs:comment "Notification resource for an inbox."@en ;
  pav:createdOn "2016-03-11"^^xsd:dateTime ;
  pav:lastUpdatedOn "2018-10-25"^^xsd:dateTime ;
  rdfs:isDefinedBy solid: .

solid:read a owl:ObjectProperty ;
  rdfs:label "read"@en ;
  rdfs:comment "Indicates if a message has been read or not. This property should have a boolean datatype."@en ;
  pav:createdOn "2015-12-18"^^xsd:dateTime ;
  rdfs:isDefinedBy solid: ;
  rdfs:domain ns:Post .

solid:loginEndpoint a owl:ObjectProperty ;
  rdfs:label "loginEndpoint"@en ;
  rdfs:comment "The login URI of a given server."@en ;
  pav:createdOn "2015-11-16"^^xsd:dateTime ;
  rdfs:isDefinedBy solid: .

solid:inbox a owl:ObjectProperty ;
  rdfs:label "inbox (deprecated)"@en ;
  rdfs:comment "Deprecated pointer to a Linked Data Notifications inbox; please use http://www.w3.org/ns/ldp#inbox instead."@en ;
  pav:createdOn "2015-11-16"^^xsd:dateTime ;
  pav:lastUpdatedOn "2016-02-05"^^xsd:dateTime ;
  owl:deprecated "true" ;
  dcterms:modified "2018-10-25"@en ;
  rdfs:isDefinedBy solid: ;
  owl:equivalentProperty ldp:inbox ;
  rdfs:subPropertyOf ldp:inbox .

solid:owner a owl:ObjectProperty ;
  rdfs:label "owner"@en ;
  rdfs:comment "A person or social entity that is considered to have control, rights, and responsibilities over a data storage."@en ;
  pav:createdOn "2021-05-19"^^xsd:dateTime ;
  rdfs:isDefinedBy solid: ;
  rdfs:range foaf:Agent .

solid:oidcIssuer a owl:ObjectProperty ;
  rdfs:label "OIDC issuer"@en ;
  rdfs:comment "The preferred OpenID Connect issuer URI for a given WebID."@en ;
  pav:createdOn "2017-08-15"^^xsd:dateTime ;
  pav:lastUpdatedOn "2017-08-16"^^xsd:dateTime ;
  rdfs:isDefinedBy solid: ;
  rdfs:subPropertyOf connect:issuer .

solid:privateLabelIndex a owl:ObjectProperty ;
  rdfs:label "private label index"@en ;
  rdfs:comment "Points to an unlisted label index resource."@en ;
  pav:createdOn "2023-10-04"^^xsd:dateTime ;
  rdfs:isDefinedBy solid: ;
  rdfs:range solid:UnlistedDocument .

solid:logoutEndpoint a owl:ObjectProperty ;
  rdfs:label "logoutEndpoint"@en ;
  rdfs:comment "The logout URI of a given server."@en ;
  pav:createdOn "2015-11-16"^^xsd:dateTime ;
  rdfs:isDefinedBy solid: .

solid:forClass a owl:ObjectProperty ;
  rdfs:label "registry class"@en ;
  rdfs:comment "A class that is used to map an listed or unlisted type index."@en ;
  pav:createdOn "2018-01-24"^^xsd:dateTime ;
  rdfs:isDefinedBy solid: .

solid:instance a owl:ObjectProperty ;
  rdfs:label "instance"@en ;
  rdfs:comment "Maps a type to an individual resource, typically an index or a directory listing resource."@en ;
  pav:createdOn "2018-01-24"^^xsd:dateTime ;
  rdfs:isDefinedBy solid: .

solid:privateTypeIndex a owl:ObjectProperty ;
  rdfs:label "private type index"@en ;
  rdfs:comment "Points to an unlisted type index resource."@en ;
  pav:createdOn "2018-01-24"^^xsd:dateTime ;
  rdfs:isDefinedBy solid: ;
  rdfs:range solid:UnlistedDocument .

solid:instanceContainer a owl:ObjectProperty ;
  rdfs:label "instance container"@en ;
  rdfs:comment "Maps a type to a container which the client would have to list to get the instances of that type."@en ;
  pav:createdOn "2018-01-24"^^xsd:dateTime ;
  rdfs:isDefinedBy solid: .

solid:publicTypeIndex a owl:ObjectProperty ;
  rdfs:label "public type index"@en ;
  rdfs:comment "Points to a listed type index resource."@en ;
  pav:createdOn "2018-01-24"^^xsd:dateTime ;
  rdfs:isDefinedBy solid: ;
  rdfs:range solid:ListedDocument ;
  rdfs:subPropertyOf solid:typeIndex .

solid:typeIndex a owl:ObjectProperty ;
  rdfs:label "type index"@en ;
  rdfs:comment "Points to a TypeIndex resource."@en ;
  pav:createdOn "2016-02-05"^^xsd:dateTime ;
  rdfs:isDefinedBy solid: ;
  rdfs:range solid:TypeIndex .

solid:patches a owl:ObjectProperty ;
  rdfs:label "patches"@en ;
  rdfs:comment "The document to which this patch applies."@en ;
  pav:createdOn "2017-08-17"^^xsd:dateTime ;
  rdfs:isDefinedBy solid: ;
  rdfs:domain solid:Patch .

solid:storageQuota a owl:DatatypeProperty ;
  rdfs:label "Non-volatile memory quota"@en ;
  rdfs:comment "The quota of non-volatile memory that is available for the account (in bytes)"@en ;
  pav:createdOn "2018-10-26"^^xsd:dateTime ;
  pav:lastUpdatedOn "2018-11-07"^^xsd:dateTime ;
  dcterms:modified "2019-01-22"@en ;
  rdfs:isDefinedBy solid: ;
  rdfs:domain solid:Account .

solid:storageUsage a owl:DatatypeProperty ;
  rdfs:label "Non-volatile memory usage"@en ;
  rdfs:comment "The amount of non-volatile memory that the account have used (in bytes)"@en ;
  pav:createdOn "2019-01-22"^^xsd:dateTime ;
  rdfs:isDefinedBy solid: ;
  rdfs:domain solid:Account .

solid:where a owl:ObjectProperty ;
  rdfs:label "where"@en ;
  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 ;
  pav:createdOn "2017-08-17"^^xsd:dateTime ;
  rdfs:isDefinedBy solid: ;
  rdfs:range log:Formula ;
  rdfs:domain solid:Patch ;
  a owl:FunctionalProperty .

solid:storageDescription a owl:ObjectProperty ;
  rdfs:label "storage description"@en ;
  rdfs:comment "Refers to the resource that provides a description of the storage containing this resource."@en ;
  rdfs:seeAlso <https://solidproject.org/TR/2024/protocol-20240512#server-storage-description> ;
  pav:createdOn "2024-12-28"^^xsd:dateTime ;
  rdfs:isDefinedBy solid: .

solid:deletes a owl:ObjectProperty ;
  rdfs:label "deletes"@en ;
  rdfs:comment "The triple patterns this patch removes from the document."@en ;
  pav:createdOn "2017-08-17"^^xsd:dateTime ;
  rdfs:isDefinedBy solid: ;
  rdfs:range log:Formula ;
  rdfs:domain solid:Patch ;
  a owl:FunctionalProperty .

solid:inserts a owl:ObjectProperty ;
  rdfs:label "inserts"@en ;
  rdfs:comment "The triple patterns this patch adds to the document."@en ;
  pav:createdOn "2017-08-17"^^xsd:dateTime ;
  rdfs:isDefinedBy solid: ;
  rdfs:range log:Formula ;
  rdfs:domain solid:Patch ;
  a owl:FunctionalProperty .

ldp:inbox a owl:ObjectProperty .

connect:issuer a owl:ObjectProperty .

pav:createdOn a owl:AnnotationProperty .

schema:inLanguage a owl:AnnotationProperty .

dcterms:license a owl:AnnotationProperty .

vann:preferredNamespacePrefix a owl:AnnotationProperty .

vann:preferredNamespaceUri a owl:AnnotationProperty .

pav:lastUpdatedOn a owl:AnnotationProperty .

dcterms:modified a owl:AnnotationProperty .

sh:declare a owl:AnnotationProperty .

sh:prefix a owl:AnnotationProperty .

sh:namespace a owl:AnnotationProperty .
