PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX storyline: <http://purl.org/ontology/storyline/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

storyline:StorylineSlot a rdfs:Class ;
  rdfs:label "StorylineSlot"@en-gb ;
  rdfs:comment "A storyline slot, used as a container for storyline components."@en-gb .

storyline:time a rdf:Property ;
  rdfs:label "time"@en-gb ;
  rdfs:comment "The time of a slot. A Temporal entity, an interval. Allows slots to be ordered temporally."@en-gb ;
  rdfs:domain storyline:StorylineSlot ;
  rdfs:range <http://www.w3.org/2006/time#TemporalEntity> .

storyline:follows a rdf:Property ;
  rdfs:label "follows"@en-gb ;
  rdfs:comment "Allows one or more slots to be sequenced. Slot A follows Slot B."@en-gb ;
  rdfs:domain storyline:StorylineSlot ;
  rdfs:range storyline:StorylineSlot .

storyline:contains a rdf:Property ;
  rdfs:label "contains"@en-gb ;
  rdfs:comment "Associates a Slot to a StorylineComponent contained therein. Can be a news event or another storyline"@en-gb ;
  rdfs:domain storyline:StorylineSlot ;
  rdfs:range storyline:StorylineComponent .

storyline:index a rdf:Property ;
  rdfs:label "index"@en-gb ;
  rdfs:comment "A slot index. Allows slots to be ordered numerically"@en-gb ;
  rdfs:domain storyline:StorylineSlot ;
  rdfs:range xsd:integer .

storyline:Event a rdfs:Class ;
  rdfs:label "Event"@en-gb ;
  rdfs:comment "A newsworthy event. An un-disputable real world event."@en-gb ;
  rdfs:subClassOf storyline:StorylineComponent .

storyline:dateCreated a rdf:Property ;
  rdfs:label "dateCreated"@en-gb ;
  rdfs:comment "The date a storyline was created"@en-gb ;
  rdfs:domain storyline:StorylineComponent ;
  rdfs:range xsd:dateTime .

storyline:Topic a rdfs:Class ;
  rdfs:label "Topic"@en-gb ;
  rdfs:comment "The topic of a storyline. An interface to some concept in a knowledge domain."@en-gb .

storyline:Storyline a rdfs:Class ;
  rdfs:label "Storyline"@en-gb ;
  rdfs:comment "A news storyline."@en-gb ;
  rdfs:subClassOf storyline:StorylineComponent .

storyline:synopsis a rdf:Property ;
  rdfs:label "synopsis"@en-gb ;
  rdfs:comment "The synopsis of a storyline"@en-gb ;
  rdfs:domain storyline:Storyline ;
  rdfs:range <https://w3id.org/linkml/Any> .

storyline:hasChapter a rdf:Property ;
  rdfs:label "hasChapter"@en-gb ;
  rdfs:comment "Associates a slot to a storyline as a chapter of an existing storyline."@en-gb ;
  rdfs:domain storyline:Storyline ;
  rdfs:range storyline:StorylineSlot ;
  rdfs:subPropertyOf storyline:hasSlot .

storyline:comment a rdf:Property ;
  rdfs:label "comment"@en-gb ;
  rdfs:comment "An editorial comment on a storyline"@en-gb ;
  rdfs:domain storyline:Storyline ;
  rdfs:range xsd:string .

storyline:topic a rdf:Property ;
  rdfs:label "topic"@en-gb ;
  rdfs:comment "Associates a slot to a topic"@en-gb ;
  rdfs:domain storyline:Storyline ;
  rdfs:range storyline:Topic .

storyline:title a rdf:Property ;
  rdfs:label "title"@en-gb ;
  rdfs:comment "A title of a storyline"@en-gb ;
  rdfs:domain storyline:Storyline ;
  rdfs:range xsd:string .

storyline:hasDevelopment a rdf:Property ;
  rdfs:label "hasDevelopment"@en-gb ;
  rdfs:comment "Associates a slot to a storyline as a development of an existing storyline."@en-gb ;
  rdfs:domain storyline:Storyline ;
  rdfs:range storyline:StorylineSlot ;
  rdfs:subPropertyOf storyline:hasSlot .

storyline:hasSlot a rdf:Property ;
  rdfs:label "hasSlot"@en-gb ;
  rdfs:comment "Associates a slot to a storyline. A storyline can have many slots"@en-gb ;
  rdfs:domain storyline:Storyline ;
  rdfs:range storyline:StorylineSlot .

storyline:hasUpdate a rdf:Property ;
  rdfs:label "hasUpdate"@en-gb ;
  rdfs:comment "Associates a slot to a storyline as an update to an existing storyline."@en-gb ;
  rdfs:domain storyline:Storyline ;
  rdfs:range storyline:StorylineSlot ;
  rdfs:subPropertyOf storyline:hasSlot .

storyline:attributedTo a rdf:Property ;
  rdfs:label "attributedTo"@en-gb ;
  rdfs:comment "Associates a storyline to its attribution. Provides for interpretation provenance through attribution"@en-gb ;
  rdfs:domain storyline:Storyline ;
  rdfs:range storyline:Attribution .

<http://www.w3.org/2006/time#TemporalEntity> a rdfs:Class .

storyline:StorylineComponent a rdfs:Class ;
  rdfs:label "StorylineComponent"@en-gb ;
  rdfs:comment "An abstract parent class of storyline components."@en-gb .

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

storyline:Attribution a rdfs:Class ;
  rdfs:label "Attribution"@en-gb ;
  rdfs:comment "Attribution of a storyline used for attributing the interpretation of the storyline to some agent. An interface class, that doesn't restrict the implementation of an attribution."@en-gb .
