# SPDX-License-Identifier: Apache-2.0
#
# Copyright 2024-2026 The Enola <https://enola.dev> Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .

<http://www.w3.org/1999/02/22-rdf-syntax-ns#> a owl:Ontology ;
  dc:title "The RDF Concepts Vocabulary (RDF)" ;
  dc:date "2019-12-16" ;
  dc:description "This is the RDF Schema for the RDF vocabulary terms in the RDF Namespace, defined in RDF 1.1 Concepts." .

rdf:HTML a rdfs:Datatype ;
  rdfs:subClassOf rdfs:Literal ;
  rdfs:isDefinedBy <http://www.w3.org/1999/02/22-rdf-syntax-ns#> ;
  rdfs:seeAlso <http://www.w3.org/TR/rdf11-concepts/#section-html> ;
  rdfs:label "HTML" ;
  rdfs:comment "The datatype of RDF literals storing fragments of HTML content" .

rdf:langString a rdfs:Datatype ;
  rdfs:subClassOf rdfs:Literal ;
  rdfs:isDefinedBy <http://www.w3.org/1999/02/22-rdf-syntax-ns#> ;
  rdfs:seeAlso <http://www.w3.org/TR/rdf11-concepts/#section-Graph-Literal> ;
  rdfs:label "langString" ;
  rdfs:comment "The datatype of language-tagged string values" .

rdf:PlainLiteral a rdfs:Datatype ;
  rdfs:isDefinedBy <http://www.w3.org/1999/02/22-rdf-syntax-ns#> ;
  rdfs:subClassOf rdfs:Literal ;
  rdfs:seeAlso <http://www.w3.org/TR/rdf-plain-literal/> ;
  rdfs:label "PlainLiteral" ;
  rdfs:comment "The class of plain (i.e. untyped) literal values, as used in RIF and OWL 2" .

rdf:type a rdf:Property ;
  rdfs:isDefinedBy <http://www.w3.org/1999/02/22-rdf-syntax-ns#> ;
  rdfs:label "type" ;
  rdfs:comment "The subject is an instance of a class." ;
  rdfs:range rdfs:Class ;
  rdfs:domain rdfs:Resource .

rdf:Property a rdfs:Class ;
  rdfs:isDefinedBy <http://www.w3.org/1999/02/22-rdf-syntax-ns#> ;
  rdfs:label "Property" ;
  rdfs:comment "The class of RDF properties." ;
  rdfs:subClassOf rdfs:Resource .

rdf:Statement a rdfs:Class ;
  rdfs:isDefinedBy <http://www.w3.org/1999/02/22-rdf-syntax-ns#> ;
  rdfs:label "Statement" ;
  rdfs:subClassOf rdfs:Resource ;
  rdfs:comment "The class of RDF statements." .

rdf:subject a rdf:Property ;
  rdfs:isDefinedBy <http://www.w3.org/1999/02/22-rdf-syntax-ns#> ;
  rdfs:label "subject" ;
  rdfs:comment "The subject of the subject RDF statement." ;
  rdfs:domain rdf:Statement ;
  rdfs:range rdfs:Resource .

rdf:predicate a rdf:Property ;
  rdfs:isDefinedBy <http://www.w3.org/1999/02/22-rdf-syntax-ns#> ;
  rdfs:label "predicate" ;
  rdfs:comment "The predicate of the subject RDF statement." ;
  rdfs:domain rdf:Statement ;
  rdfs:range rdfs:Resource .

rdf:object a rdf:Property ;
  rdfs:isDefinedBy <http://www.w3.org/1999/02/22-rdf-syntax-ns#> ;
  rdfs:label "object" ;
  rdfs:comment "The object of the subject RDF statement." ;
  rdfs:domain rdf:Statement ;
  rdfs:range rdfs:Resource .

rdf:Bag a rdfs:Class ;
  rdfs:isDefinedBy <http://www.w3.org/1999/02/22-rdf-syntax-ns#> ;
  rdfs:label "Bag" ;
  rdfs:comment "The class of unordered containers." ;
  rdfs:subClassOf rdfs:Container .

rdf:Seq a rdfs:Class ;
  rdfs:isDefinedBy <http://www.w3.org/1999/02/22-rdf-syntax-ns#> ;
  rdfs:label "Seq" ;
  rdfs:comment "The class of ordered containers." ;
  rdfs:subClassOf rdfs:Container .

rdf:Alt a rdfs:Class ;
  rdfs:isDefinedBy <http://www.w3.org/1999/02/22-rdf-syntax-ns#> ;
  rdfs:label "Alt" ;
  rdfs:comment "The class of containers of alternatives." ;
  rdfs:subClassOf rdfs:Container .

rdf:value a rdf:Property ;
  rdfs:isDefinedBy <http://www.w3.org/1999/02/22-rdf-syntax-ns#> ;
  rdfs:label "value" ;
  rdfs:comment "Idiomatic property used for structured values." ;
  rdfs:domain rdfs:Resource ;
  rdfs:range rdfs:Resource .

rdf:List a rdfs:Class ;
  rdfs:isDefinedBy <http://www.w3.org/1999/02/22-rdf-syntax-ns#> ;
  rdfs:label "List" ;
  rdfs:comment "The class of RDF Lists." ;
  rdfs:subClassOf rdfs:Resource .

rdf:nil a rdf:List ;
  rdfs:isDefinedBy <http://www.w3.org/1999/02/22-rdf-syntax-ns#> ;
  rdfs:label "nil" ;
  rdfs:comment "The empty list, with no items in it. If the rest of a list is nil then the list has no more items in it." .

rdf:first a rdf:Property ;
  rdfs:isDefinedBy <http://www.w3.org/1999/02/22-rdf-syntax-ns#> ;
  rdfs:label "first" ;
  rdfs:comment "The first item in the subject RDF list." ;
  rdfs:domain rdf:List ;
  rdfs:range rdfs:Resource .

rdf:rest a rdf:Property ;
  rdfs:isDefinedBy <http://www.w3.org/1999/02/22-rdf-syntax-ns#> ;
  rdfs:label "rest" ;
  rdfs:comment "The rest of the subject RDF list after the first item." ;
  rdfs:domain rdf:List ;
  rdfs:range rdf:List .

rdf:XMLLiteral a rdfs:Datatype ;
  rdfs:subClassOf rdfs:Literal ;
  rdfs:isDefinedBy <http://www.w3.org/1999/02/22-rdf-syntax-ns#> ;
  rdfs:label "XMLLiteral" ;
  rdfs:comment "The datatype of XML literal values." .

rdf:JSON a rdfs:Datatype ;
  rdfs:label "JSON" ;
  rdfs:comment "The datatype of RDF literals storing JSON content." ;
  rdfs:subClassOf rdfs:Literal ;
  rdfs:isDefinedBy <http://www.w3.org/1999/02/22-rdf-syntax-ns#> ;
  rdfs:seeAlso <https://www.w3.org/TR/json-ld11/#the-rdf-json-datatype> .

rdf:CompoundLiteral a rdfs:Class ;
  rdfs:label "CompoundLiteral" ;
  rdfs:comment "A class representing a compound literal." ;
  rdfs:subClassOf rdfs:Resource ;
  rdfs:isDefinedBy <http://www.w3.org/1999/02/22-rdf-syntax-ns#> ;
  rdfs:seeAlso <https://www.w3.org/TR/json-ld11/#the-rdf-compoundliteral-class-and-the-rdf-language-and-rdf-direction-properties> .

rdf:language a rdf:Property ;
  rdfs:label "language" ;
  rdfs:comment "The language component of a CompoundLiteral." ;
  rdfs:domain rdf:CompoundLiteral ;
  rdfs:isDefinedBy <http://www.w3.org/1999/02/22-rdf-syntax-ns#> ;
  rdfs:seeAlso <https://www.w3.org/TR/json-ld11/#the-rdf-compoundliteral-class-and-the-rdf-language-and-rdf-direction-properties> .

rdf:direction a rdf:Property ;
  rdfs:label "direction" ;
  rdfs:comment "The base direction component of a CompoundLiteral." ;
  rdfs:domain rdf:CompoundLiteral ;
  rdfs:isDefinedBy <http://www.w3.org/1999/02/22-rdf-syntax-ns#> ;
  rdfs:seeAlso <https://www.w3.org/TR/json-ld11/#the-rdf-compoundliteral-class-and-the-rdf-language-and-rdf-direction-properties> .
