@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix ldp: <http://www.w3.org/ns/ldp#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix vann: <http://purl.org/vocab/vann/> .
@prefix vcard: <http://www.w3.org/2006/vcard/> .
@prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#> .
@prefix : <http://www.trellisldp.org/ns/trellis#> .

: a owl:Ontology ;
    rdfs:label "Trellis Linked Data Server Vocabulary"@en ;
    rdfs:comment "Trellis is an implementation of the Linked Data Platform. This vocabulary defines Classes, Properties and IRIs that are used in Trellis."@en ;
    rdfs:seeAlso <http://www.w3.org/TR/ldp/> ;
    owl:versionInfo "0.17" ;
    vann:preferredNamespaceUri "http://www.trellisldp.org/ns/trellis#" ;
    vann:preferredNamespacePrefix "trellis" .

# ------------
#   Classes
# ------------
:ConstraintViolation a rdfs:Class ;
    rdfs:label "constraint violation"@en ;
    rdfs:comment "A defined constraint was violated with the provided RDF graph"@en ;
    rdfs:isDefinedBy : ;
    vs:term_status "working-draft" .

:DeletedResource a rdfs:Class ;
    rdfs:label "deleted resource"@en ;
    rdfs:comment "A resource that has been removed from a server."@en ;
    rdfs:isDefinedBy : ;
    vs:term_status "working-draft" .

# --------------
#   Properties
# --------------
:effectiveAcl a rdf:Property ;
    rdfs:label "effective ACL"@en ;
    rdfs:comment "The ACL that currently controls the resource in question."@en ;
    rdfs:isDefinedBy : ;
    vs:term_status "working-draft" .

# ----------------------
#   Named Individuals
# ----------------------
:AdministratorAgent a vcard:Agent ;
    rdfs:label "administrator agent"@en ;
    rdfs:comment "An agent representing an administrator"@en ;
    rdfs:isDefinedBy : ;
    vs:term_status "working-draft" .

:AnonymousAgent a vcard:Agent ;
    rdfs:label "anonymous agent"@en ;
    rdfs:comment "An agent representing an anonymous user"@en ;
    rdfs:isDefinedBy : ;
    vs:terms_status "working-draft" .

:InvalidCardinality a :ConstraintViolation ;
    rdfs:label "invalid cardinality"@en ;
    rdfs:comment "For properties with cardinality restrictions, the supplied graph did not correspond to the defined rules regarding cardinality."@en ;
    rdfs:isDefinedBy : ;
    vs:term_status "working-draft" .

:InvalidProperty a :ConstraintViolation ;
    rdfs:label "invalid property"@en ;
    rdfs:comment "LDP interaction models permit certain valid properties; the supplied graph did not conform to the defined rules for an allowable property."@en ;
    rdfs:isDefinedBy : ;
    vs:term_status "working-draft" .

:InvalidRange a :ConstraintViolation ;
    rdfs:label "invalid range"@en ;
    rdfs:comment "For properties with range constraints (e.g. IRI or in-domain ranges), the supplied graph violated these constraints."@en ;
    rdfs:isDefinedBy : ;
    vs:term_status "working-draft" .

:InvalidType a :ConstraintViolation ;
    rdfs:label "invalid type"@en ;
    rdfs:comment "An invalid rdf:type was included in the supplied graph, such as an invalid LDP resource type or a server-managed type."@en ;
    rdfs:isDefinedBy : ;
    vs:term_status "working-draft" .

:ReadOnlyResource a :ConstraintViolation ;
    rdfs:label "read only resource"@en ;
    rdfs:comment "This resource is read-only. Any mutating operation (PUT, POST, PATCH, DELETE) will therefore fail."@en ;
    rdfs:isDefinedBy : ;
    vs:term_status "working-draft" .

:PreferAccessControl a rdfs:Resource ;
    rdfs:label "prefer access control"@en ;
    rdfs:comment "IRI identifying a LDPR's access control triples"@en ;
    rdfs:isDefinedBy : ;
    vs:term_status "working-draft" .

:PreferAudit a rdfs:Resource ;
    rdfs:label "prefer audit"@en ;
    rdfs:comment "IRI identifying a LDPR's audit triples"@en ;
    rdfs:isDefinedBy : ;
    vs:term_status "working-draft" .

:PreferServerManaged a rdfs:Resource ;
    rdfs:label "prefer server managed"@en ;
    rdfs:comment "IRI identifying a LDPR's server-managed triples"@en ;
    rdfs:isDefinedBy : ;
    vs:term_status "working-draft" .

:PreferUserManaged a rdfs:Resource ;
    rdfs:label "prefer user managed"@en ;
    rdfs:comment "IRI identifying a LDP-RS's user-managed resource triples"@en ;
    rdfs:isDefinedBy : ;
    vs:term_status "working-draft" .

:SerializationAbsolute a rdfs:Resource ;
    rdfs:label "serialization absolute"@en ;
    rdfs:comment "IRI hint for a server to produce absolute IRIs, if the serialization supports it."@en ;
    rdfs:isDefinedBy : ;
    vs:term_status "working-draft" .

:SerializationRelative a rdfs:Resource ;
    rdfs:label "serialization relative"@en ;
    rdfs:comment "IRI hint for a server to produce relative IRIs, if the serialization supports it."@en ;
    rdfs:isDefinedBy : ;
    vs:term_status "working-draft" .

:UnsupportedInteractionModel a :ConstraintViolation ;
    rdfs:label "unsupported interaction model"@en ;
    rdfs:comment "The supplied interaction model is not supported by the server."@en ;
    rdfs:isDefinedBy : ;
    vs:terms_stability "working-draft" .
