@base <http://www.w3.org/ns/solid/terms> .
@prefix rdf: <../../1999/02/22-rdf-syntax-ns#> .
@prefix : <#> .
@prefix xsd: <../../2001/XMLSchema#> .
@prefix rdfs: <../../2000/01/rdf-schema#> .
@prefix owl: <../../2002/07/owl#> .
@prefix cc: <https://creativecommons.org/ns#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix log: <../../2000/10/swap/log#> .
@prefix ldp: <../ldp#> .

<>
    dcterms:issued "2015-11-16"^^xsd:date ;
    dcterms:modified "2018-01-24"^^xsd:date ;
    a owl:Ontology ;
    rdfs:label "Solid terms"@en ;
    cc:attributionURL <> ;
    cc:license <https://creativecommons.org/publicdomain/zero/1.0/> .

:Account
    a rdfs:Class ;
    rdfs:comment "A Solid account."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Account"@en .

:Inbox
    a rdfs:Class ;
    rdfs:comment "A resource containing notifications."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Inbox"@en .

:ListedDocument
    a rdfs:Class ;
    rdfs:comment "Listed Type Index is a registry of resources that are publicly discoverable by outside users and applications."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Listed Type Index"@en .

:Notification
    a rdfs:Class ;
    rdfs:comment "A notification resource."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Notification"@en .

:Patch
    a rdfs:Class ;
    rdfs:comment "A patch expresses conditional modifications to a resource that has an RDF-based representation."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Patch"@en .

:Timeline
    a rdfs:Class ;
    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 ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Timeline"@en .

:TypeIndex
    a rdfs:Class ;
    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 ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Type index"@en .

:TypeRegistration
    a rdfs:Class ;
    rdfs:comment "The registered types that map a RDF classes/types to their locations using either `instance` or `instanceContainer` property."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Type Registration"@en .

:UnlistedDocument
    a rdfs:Class ;
    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 ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Unlisted Type Index"@en .

:account
    a rdf:Property ;
    rdfs:comment "A solid account belonging to an Agent."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "account"@en .

:deletes
    a rdf:Property, owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:comment "The triple patterns this patch removes from the document."@en ;
    rdfs:domain :Patch ;
    rdfs:isDefinedBy <> ;
    rdfs:label "deletes"@en ;
    rdfs:range log:Formula .

:forClass
    a rdf:Property ;
    rdfs:comment "A class that is used to map an listed or unlisted type index."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "registry class"@en .

:inbox
    a rdf:Property ;
    rdfs:comment "Deprecated pointer to a Linked Data Notifications inbox; please use http://www.w3.org/ns/ldp#inbox instead."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "inbox (deprecated)"@en ;
    rdfs:subPropertyOf ldp:inbox ;
    owl:deprecated true ;
    owl:equivalentProperty ldp:inbox .

:inserts
    a rdf:Property, owl:FunctionalProperty, owl:ObjectProperty ;
    rdfs:comment "The triple patterns this patch adds to the document."@en ;
    rdfs:domain :Patch ;
    rdfs:isDefinedBy <> ;
    rdfs:label "inserts"@en ;
    rdfs:range log:Formula .

:instance
    a rdf:Property ;
    rdfs:comment "Maps a type to an individual resource, typically an index or a directory listing resource."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "instance"@en .

:instanceContainer
    a rdf:Property ;
    rdfs:comment "Maps a type to a container which the client would have to list to get the instances of that type."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "instance container"@en .

:loginEndpoint
    a rdf:Property ;
    rdfs:comment "The login URI of a given server."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "loginEndpoint"@en .

:logoutEndpoint
    a rdf:Property ;
    rdfs:comment "The logout URI of a given server."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "logoutEndpoint"@en .

:notification
    a rdf:Property ;
    rdfs:comment "Notification resource for an inbox."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "notification"@en .

:oidcIssuer
    a rdf:Property ;
    rdfs:comment "The preferred OpenID Connect issuer URI for a given Web ID."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "oidcIssuer"@en ;
    rdfs:subPropertyOf <http://openid.net/specs/connect/1.0/issuer> .

:patches
    a rdf:Property, owl:ObjectProperty ;
    rdfs:comment "The document to which this patch applies."@en ;
    rdfs:domain :Patch ;
    rdfs:isDefinedBy <> ;
    rdfs:label "patches"@en ;
    rdfs:range rdfs:Resource .

:privateTypeIndex
    a rdf:Property ;
    rdfs:comment "Points to an unlisted type index resource."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "private type index"@en ;
    rdfs:range :UnlistedDocument .

:publicTypeIndex
    a rdf:Property ;
    rdfs:comment "Points to a listed type index resource."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "public type index"@en ;
    rdfs:range :ListedDocument ;
    rdfs:subPropertyOf :typeIndex .

:read
    a rdf:Property ;
    rdfs:comment "Indicates if a message has been read or not. This property should have a boolean datatype."@en ;
    rdfs:domain <http://rdfs.org/sioc/ns#Post> ;
    rdfs:isDefinedBy <> ;
    rdfs:label "read"@en .

:storageQuota
    a rdf:Property, owl:DatatypeProperty ;
    rdfs:comment "The quota of non-volatile memory that is available for the account (in bytes)"@en ;
    rdfs:domain :Account ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Non-volatile memory quota"@en .

:storageUsage
    a rdf:Property, owl:DatatypeProperty ;
    rdfs:comment "The amount of non-volatile memory that the account have used (in bytes)"@en ;
    rdfs:domain :Account ;
    rdfs:isDefinedBy <> ;
    rdfs:label "Non-volatile memory usage"@en .

:timeline
    a rdf:Property ;
    rdfs:comment "Timeline for a given resource."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "timeline"@en .

:typeIndex
    a rdf:Property ;
    rdfs:comment "Points to a TypeIndex resource."@en ;
    rdfs:isDefinedBy <> ;
    rdfs:label "type index"@en ;
    rdfs:range :TypeIndex .

:where
    a rdf:Property, owl:FunctionalProperty, owl:ObjectProperty ;
    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 ;
    rdfs:domain :Patch ;
    rdfs:isDefinedBy <> ;
    rdfs:label "where"@en ;
    rdfs:range log:Formula .

