PREFIX co: <http://purl.org/co/>
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#>

<http://www.w3.org/2003/11/swrl#Variable> a rdfs:Class .

co:Collection a rdfs:Class ;
  rdfs:label "collection"@en ;
  rdfs:comment "A group of objects that can be considered as a whole."@en .

co:size a rdf:Property ;
  rdfs:label "has size"@en ;
  rdfs:comment "The number of items belonging to a collection."@en ;
  rdfs:domain co:Collection ;
  rdfs:range xsd:nonNegativeInteger .

co:element a rdf:Property ;
  rdfs:label "has element"@en ;
  rdfs:comment "The relation between a collection and the members of a collection"@en ;
  rdfs:domain co:Collection ;
  rdfs:range <https://w3id.org/linkml/Any> .

co:Bag a rdfs:Class ;
  rdfs:label "bag"@en ;
  rdfs:comment "Collection that can have a number of copies of each object"@en ;
  rdfs:subClassOf co:Collection .

co:item a rdf:Property ;
  rdfs:label "has item"@en ;
  rdfs:comment "The relation between a bag and every item of the bag"@en ;
  rdfs:domain co:Bag ;
  rdfs:range co:Item , co:ListItem .

co:Item a rdfs:Class ;
  rdfs:label "item"@en ;
  rdfs:comment "An element belonging to a bag."@en .

co:itemContent a rdf:Property ;
  rdfs:label "has item content"@en ;
  rdfs:comment "The relation between an item and the actual resource to which the item refers."@en ;
  rdfs:domain co:Item ;
  rdfs:range <https://w3id.org/linkml/Any> .

co:List a rdfs:Class ;
  rdfs:label "list"@en ;
  rdfs:comment "An ordered array of items, that can be present in multiple copies"@en .

co:firstItem a rdf:Property ;
  rdfs:label "has first item"@en ;
  rdfs:comment "The relation between a list and the first item of the list."@en ;
  rdfs:domain co:List ;
  rdfs:range co:Item ;
  rdfs:subPropertyOf co:item .

co:lastItem a rdf:Property ;
  rdfs:label "has last item"@en ;
  rdfs:comment "The relation between an item and the last item of the list."@en ;
  rdfs:domain co:List ;
  rdfs:range co:Item ;
  rdfs:subPropertyOf co:item .

<https://w3id.org/linkml/Any> a rdfs:Class ;
  rdfs:comment "An unconstrained type or object"@en .

co:Set a rdfs:Class ;
  rdfs:label "set"@en ;
  rdfs:comment "A collection that cannot contain duplicate elements."@en ;
  rdfs:subClassOf co:Collection .

co:ListItem a rdfs:Class ;
  rdfs:label "list item"@en ;
  rdfs:comment "An element belonging to a list."@en ;
  rdfs:subClassOf co:Item .

co:followedBy a rdf:Property ;
  rdfs:label "is followed by"@en ;
  rdfs:comment "The relation between an item and the following item in a list."@en ;
  rdfs:domain co:ListItem ;
  rdfs:range co:ListItem .

co:index a rdf:Property ;
  rdfs:label "has index"@en ;
  rdfs:comment "A number identifying the position, starting from 1, of a particular list item within a list."@en ;
  rdfs:domain co:ListItem ;
  rdfs:range xsd:positiveInteger .

co:elementOf a rdf:Property ;
  rdfs:label "is element of"@en ;
  rdfs:comment "The relation between an object and a collection in which the object is member."@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

co:firstItemOf a rdf:Property ;
  rdfs:label "is first item of"@en ;
  rdfs:comment "The relation between an object and a list in which the object is first item."@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf co:itemOf .

co:itemContentOf a rdf:Property ;
  rdfs:label "is item content of"@en ;
  rdfs:comment "The relation between an object and the item that refers to the object."@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

co:itemOf a rdf:Property ;
  rdfs:label "is item of"@en ;
  rdfs:comment "The relation between an item and a bag in which the item is member."@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

co:lastItemOf a rdf:Property ;
  rdfs:label "is last item of"@en ;
  rdfs:comment "The relation between an object and a list in which the object is last item."@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf co:itemOf .

co:nextItem a rdf:Property ;
  rdfs:label "has next item"@en ;
  rdfs:comment "The relation between an item and the next item in a list."@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf co:followedBy .

co:precededBy a rdf:Property ;
  rdfs:label "is preceded by"@en ;
  rdfs:comment "The relation between an item and the preceding item in a list."@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

co:previousItem a rdf:Property ;
  rdfs:label "has previous item"@en ;
  rdfs:comment "The relation between an item and the previous item in a list."@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf co:precededBy .

<http://www.essepuntato.it/2009/10/error/hasError> a rdf:Property ;
  rdfs:label "has error"@en ;
  rdfs:comment "A description, usually in natural language, of which kind of error results from a resource."@en ;
  rdfs:range xsd:string .
