PREFIX core: <https://w3id.org/ogc/stac/core/>
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#>

core:Collection a rdfs:Class ;
  rdfs:label "STAC Collection" ;
  rdfs:comment "A Collection extends Catalog with additional metadata and describes a group of related STAC Items." ;
  rdfs:subClassOf core:Catalog .

core:extent a rdf:Property ;
  rdfs:label "extent" ;
  rdfs:comment "The spatiotemporal extent of a Collection." ;
  rdfs:domain core:Collection ;
  rdfs:range <https://w3id.org/linkml/Any> .

core:description a rdf:Property ;
  rdfs:label "description" ;
  rdfs:range xsd:string .

core:license a rdf:Property ;
  rdfs:label "license" ;
  rdfs:comment "Collection-wide license applying to Items unless overridden by an Item." ;
  rdfs:domain core:Collection ;
  rdfs:range xsd:string .

core:links a rdf:Property ;
  rdfs:label "links" ;
  rdfs:comment "Associates a STAC entity with its links." ;
  rdfs:range core:Link .

core:id a rdf:Property ;
  rdfs:label "id" ;
  rdfs:comment "Unique identifier for a STAC entity." ;
  rdfs:range xsd:string .

core:Asset a rdfs:Class ;
  rdfs:label "STAC Asset" ;
  rdfs:comment "An Asset represents a file associated with a STAC Item, such as an image, data file, or metadata file." .

core:mediaType a rdf:Property ;
  rdfs:label "media type" ;
  rdfs:comment "The media type of an Asset." ;
  rdfs:domain core:Asset ;
  rdfs:range xsd:string .

core:Item a rdfs:Class ;
  rdfs:label "STAC Item" ;
  rdfs:comment "A STAC Item is a GeoJSON Feature augmented with STAC metadata fields and links." ;
  rdfs:subClassOf <http://www.opengis.net/ont/geosparql#Feature> .

core:hasAsset a rdf:Property ;
  rdfs:label "has asset" ;
  rdfs:comment "Links an Item to one of its Assets." ;
  rdfs:domain core:Item ;
  rdfs:range core:Asset .

core:datetime a rdf:Property ;
  rdfs:label "datetime" ;
  rdfs:comment "Datetime associated with the Item (typically acquisition time)." ;
  rdfs:domain core:Item ;
  rdfs:range xsd:dateTime .

core:start_datetime a rdf:Property ;
  rdfs:label "start datetime" ;
  rdfs:domain core:Item ;
  rdfs:range xsd:dateTime .

core:end_datetime a rdf:Property ;
  rdfs:label "end datetime" ;
  rdfs:domain core:Item ;
  rdfs:range xsd:dateTime .

<http://www.opengis.net/ont/geosparql#Feature> a rdfs:Class .

core:Link a rdfs:Class ;
  rdfs:label "STAC Link" ;
  rdfs:comment "A Link describes a relationship between STAC entities using rel values and hrefs." .

core:href a rdf:Property ;
  rdfs:label "href" ;
  rdfs:comment "The link reference (URL)." ;
  rdfs:domain core:Link ;
  rdfs:range xsd:anyURI .

core:rel a rdf:Property ;
  rdfs:label "rel" ;
  rdfs:comment "The relationship type of the link." ;
  rdfs:domain core:Link ;
  rdfs:range xsd:string .

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

core:Catalog a rdfs:Class ;
  rdfs:label "STAC Catalog" ;
  rdfs:comment "A STAC Catalog is a JSON object that provides links to other STAC entities." .
