@prefix : <http://purl.org/theatre#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix ev: <http://purl.org/NET/c4dm/event.owl#> .
@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> .
@prefix mo: <http://purl.org/ontology/mo/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix frbr: <http://purl.org/vocab/frbr/core#> .
@prefix omb: <http://purl.org/ontomedia/ext/common/being#> .
@prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix time: <http://www.w3.org/2006/time#> .
@prefix participation: <http://purl.org/vocab/participation/schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix po: <http://purl.org/ontology/po/> .

<http://purl.org/theatre#> a owl:Ontology ;
	rdfs:comment "A vocabulary for theatrical data.  It defines concepts such as shows, productions, seasons etc." ;
	dc:creator <http://lukeblaney.co.uk/#me> ;
	owl:priorVersion <http://bedlamtheatre.co.uk/schema#> .

:Production a owl:Class ;
	rdfs:comment "The realisation of a theatrical work." ;
	rdfs:label "Production" ;
	rdfs:subClassOf frbr:Expression .

:Season a owl:Class ;
	rdfs:comment "A collection of Productions and/or Performances" ;
	rdfs:label "Season" .

:Position a owl:Class ;
	rdfs:comment "A set of responibilities." ;
	rdfs:label "Position" .

participation:Role a owl:Class ;
	rdfs:comment "The occupation of a Position by an Agent for a particular Project." ;
	rdfs:label "Role" .

:Venue a owl:Class ;
	rdfs:comment "A Nestable Spatial Thing used for Theatrical Events." ;
	rdfs:label "Venue" ;
	rdfs:subClassOf geo:SpatialThing .

:Workshop a owl:Class ;
	rdfs:comment "An event which involves participation, mainly with an educational focus." ;
	rdfs:label "Workshop" ;
	rdfs:subClassOf ev:Event .

:Meeting a owl:Class ;
	rdfs:comment "An event which involves discussion/planning, often with a formal tone." ;
	rdfs:label "Meeting" ;
	rdfs:subClassOf ev:Event .

:Rehersal a owl:Class ;
	rdfs:comment "An event which involves preparatory work for a Performance." ;
	rdfs:label "Rehersal" ;
	rdfs:subClassOf ev:Event ;
	vs:term_status "archaic" .

:Rehearsal a owl:Class ;
	rdfs:comment "An event which involves preparatory work for a Performance." ;
	rdfs:label "Rehearsal" ;
	rdfs:subClassOf ev:Event .

:PressNight a owl:Class ;
	rdfs:comment "A performance which reviewers are encouraged to attend." ;
	rdfs:label "PressNight" ;
	rdfs:subClassOf mo:Performance .

:RehersalReading a owl:Class ;
	rdfs:comment "An unpolished performance in which the cast read from scripts." ;
	rdfs:label "RehersalReading" ;
	rdfs:subClassOf mo:Performance ;
	vs:term_status "archaic" .

:RehearsalReading a owl:Class ;
	rdfs:comment "An unpolished performance in which the cast read from scripts." ;
	rdfs:label "RehearsalReading" ;
	rdfs:subClassOf mo:Performance .

:Portrayal a owl:Class ;
	rdfs:comment "A Position which involes portraying a Character." ;
	rdfs:label "Portrayal" ;
	rdfs:subClassOf :Position .

:AccessibilityProvision a owl:Class ;
	rdfs:comment "A Provision which makes an ev:Event more accessible" ;
	rdfs:label "AccessibilityProvision" .

:Voice a owl:Class ;
	rdfs:comment "The voice classification for a Singer or singing part." ;
	rdfs:label "Voice" ;
	rdfs:subClassOf mo:Instrument .

:ProductionCompany a owl:Class ;
	rdfs:comment "An Organisation which puts on Productions." ;
	rdfs:label "ProductionCompany" ;
	rdfs:subClassOf foaf:Organization .

:Show a owl:Class ;
	rdfs:comment "The writing/devising which may enable a Production." ;
	rdfs:label "Show" ;
	rdfs:subClassOf frbr:Work ;
	vs:term_status "archaic" .

:PerformableProject a owl:Class ;
	rdfs:comment "A Project which intends to evoke a response from an Audience." ;
	rdfs:label "PerformableProject" ;
	rdfs:subClassOf foaf:Project ;
	vs:term_status "archaic" .

:part_of_season a owl:TransitiveProperty ;
	rdfs:comment "Indicates that something is part of a season" ;
	rdfs:label "part_of_season" ;
	owl:unionOf _:node17oe0qklmx35 .

_:node17oe0qklmx35 rdf:first _:node17oe0qklmx36 .

_:node17oe0qklmx36 a rdfs:domain .

_:node17oe0qklmx35 rdf:rest _:node17oe0qklmx37 .

_:node17oe0qklmx37 rdf:first _:node17oe0qklmx38 .

_:node17oe0qklmx38 a rdfs:domain .

_:node17oe0qklmx37 rdf:rest _:node17oe0qklmx39 .

_:node17oe0qklmx39 rdf:first _:node17oe0qklmx40 .

_:node17oe0qklmx40 a rdfs:domain .

_:node17oe0qklmx39 rdf:rest rdf:nil .

:part_of_season rdfs:range :Season .

:production_of a owl:ObjectProperty ;
	rdfs:comment "Indicates that a Production is an expression of a given work or production." ;
	rdfs:label "production_of" ;
	rdfs:domain :Production ;
	owl:unionOf _:node17oe0qklmx41 .

_:node17oe0qklmx41 rdf:first _:node17oe0qklmx42 .

_:node17oe0qklmx42 a rdfs:range .

_:node17oe0qklmx41 rdf:rest _:node17oe0qklmx43 .

_:node17oe0qklmx43 rdf:first _:node17oe0qklmx44 .

_:node17oe0qklmx44 a rdfs:range .

_:node17oe0qklmx43 rdf:rest rdf:nil .

:position a owl:ObjectProperty ;
	rdfs:comment "Associates a Role with a Position." ;
	rdfs:label "position" ;
	rdfs:domain participation:Role ;
	rdfs:range :Position .

:venue a owl:ObjectProperty ;
	rdfs:comment "Associates an Event with the Venue it is held in." ;
	rdfs:label "venue" ;
	rdfs:subPropertyOf ev:place ;
	rdfs:domain :Event ;
	rdfs:range :Venue .

:parent_venue a owl:ObjectProperty ;
	rdfs:comment "Associates a Venue with its containing Venue." ;
	rdfs:label "parent_venue" ;
	rdfs:domain :Venue ;
	rdfs:range :Venue .

:event a owl:ObjectProperty ;
	rdfs:comment "Associates a Project with an Event." ;
	rdfs:label "event" ;
	rdfs:domain foaf:Project ;
	rdfs:range ev:Event .

:project a owl:ObjectProperty ;
	rdfs:comment "Associates a Role with a Project." ;
	rdfs:label "project" ;
	rdfs:domain participation:Role ;
	owl:unionOf _:node17oe0qklmx45 .

_:node17oe0qklmx45 rdf:first _:node17oe0qklmx46 .

_:node17oe0qklmx46 a rdfs:range .

_:node17oe0qklmx45 rdf:rest _:node17oe0qklmx47 .

_:node17oe0qklmx47 rdf:first _:node17oe0qklmx48 .

_:node17oe0qklmx48 a rdfs:range .

_:node17oe0qklmx47 rdf:rest _:node17oe0qklmx49 .

_:node17oe0qklmx49 rdf:first _:node17oe0qklmx50 .

_:node17oe0qklmx50 a rdfs:range .

_:node17oe0qklmx49 rdf:rest _:node17oe0qklmx51 .

_:node17oe0qklmx51 rdf:first _:node17oe0qklmx52 .

_:node17oe0qklmx52 a rdfs:range .

_:node17oe0qklmx51 rdf:rest rdf:nil .

:project owl:inverseOf :credit .

:credit a owl:ObjectProperty ;
	rdfs:comment "Associates a Project with a Role." ;
	rdfs:label "credit" ;
	owl:unionOf _:node17oe0qklmx53 .

_:node17oe0qklmx53 rdf:first _:node17oe0qklmx54 .

_:node17oe0qklmx54 a rdfs:domain .

_:node17oe0qklmx53 rdf:rest _:node17oe0qklmx55 .

_:node17oe0qklmx55 rdf:first _:node17oe0qklmx56 .

_:node17oe0qklmx56 a rdfs:domain .

_:node17oe0qklmx55 rdf:rest _:node17oe0qklmx57 .

_:node17oe0qklmx57 rdf:first _:node17oe0qklmx58 .

_:node17oe0qklmx58 a rdfs:domain .

_:node17oe0qklmx57 rdf:rest _:node17oe0qklmx59 .

_:node17oe0qklmx59 rdf:first _:node17oe0qklmx60 .

_:node17oe0qklmx60 a rdfs:domain .

_:node17oe0qklmx59 rdf:rest rdf:nil .

:credit rdfs:range participation:Role ;
	vs:term_status "unstable" ;
	owl:inverseOf :project .

:portrays a owl:ObjectProperty ;
	rdfs:comment "Associates a Portrayal with a Character." ;
	rdfs:label "portrays" ;
	rdfs:domain :Portrayal ;
	rdfs:range omb:Character .

:performance a owl:ObjectProperty ;
	rdfs:comment "Associates a Production with a Performance." ;
	rdfs:label "performance" ;
	rdfs:subPropertyOf :event ;
	rdfs:domain :Production ;
	rdfs:range :Performance ;
	owl:inverseOf :performance_of .

:performance_of a owl:ObjectProperty ;
	rdfs:comment "Associates a Production with a Performance." ;
	rdfs:label "performance_of" ;
	rdfs:domain :Performance ;
	rdfs:range :Production ;
	owl:inverseOf :performance .

:put_on_by a owl:ObjectProperty ;
	rdfs:comment "The Company which puts on a Production" ;
	rdfs:label "put_on_by" ;
	rdfs:domain :Production ;
	rdfs:range :ProductionCompany .

:sponsor a owl:ObjectProperty ;
	rdfs:comment "The Person or Organisation who sponsors a given production or performance" ;
	rdfs:label "sponsor" ;
	owl:unionOf _:node17oe0qklmx61 .

_:node17oe0qklmx61 rdf:first _:node17oe0qklmx62 .

_:node17oe0qklmx62 a rdfs:domain .

_:node17oe0qklmx61 rdf:rest _:node17oe0qklmx63 .

_:node17oe0qklmx63 rdf:first _:node17oe0qklmx64 .

_:node17oe0qklmx64 a rdfs:domain .

_:node17oe0qklmx63 rdf:rest rdf:nil .

:sponsor rdfs:range foaf:Agent .

:audience_restriction a owl:ObjectProperty ;
	rdfs:comment "A restriction on who can attend a particular performance" ;
	rdfs:label "audience_restriction" ;
	rdfs:domain :Performance ;
	rdfs:range xsd:string .

:time_of_day a owl:ObjectProperty ;
	rdfs:comment "A human readable indication of when in the day a performance occurs" ;
	rdfs:label "time_of_day" ;
	rdfs:domain :Performance ;
	rdfs:range xsd:string .

:accessibility_provision a owl:ObjectProperty ;
	rdfs:comment "Associates an Accessibility Provision with an Event" ;
	rdfs:label "accessibility_provision" ;
	rdfs:domain ev:Event ;
	rdfs:range :AccessibilityProvision .

:recorded_for a owl:ObjectProperty ;
	rdfs:comment "A performance recorded for either Simulcast or later broadcast." ;
	rdfs:label "recorded_for" ;
	rdfs:domain mo:Performance ;
	rdfs:range po:Broadcast .

:genre a owl:ObjectProperty ;
	rdfs:comment "Associates a Genre with a Work." ;
	rdfs:label "genre" ;
	rdfs:domain frbr:Work ;
	rdfs:range mo:Genre .

:based_on a owl:ObjectProperty ;
	rdfs:comment "Indicates a Work that another Work was based on ." ;
	rdfs:label "based_on" ;
	rdfs:domain frbr:Work ;
	rdfs:range frbr:Work .

:scored_voice a owl:ObjectProperty ;
	rdfs:comment "Indicates the voice classification that a particular Operatic character has been written for." ;
	rdfs:label "scored_voice" ;
	rdfs:domain omb:Character ;
	rdfs:range :Voice .

:premiere a owl:ObjectProperty ;
	rdfs:comment "Indicates the first performance of a Show or Production in a particular area." ;
	rdfs:label "premiere" ;
	owl:unionOf _:node17oe0qklmx65 .

_:node17oe0qklmx65 rdf:first _:node17oe0qklmx66 .

_:node17oe0qklmx66 a rdfs:domain .

_:node17oe0qklmx65 rdf:rest rdf:nil .

:premiere rdfs:range mo:Performance ;
	vs:term_status "unstable" .

:worldPremiere a owl:ObjectProperty ;
	rdfs:comment "Indicates the first performance of a Show or Production on a particular planet." ;
	rdfs:label "worldPremiere" ;
	rdfs:subPropertyOf :premiere ;
	owl:unionOf _:node17oe0qklmx67 .

_:node17oe0qklmx67 rdf:first _:node17oe0qklmx68 .

_:node17oe0qklmx68 a rdfs:domain .

_:node17oe0qklmx67 rdf:rest rdf:nil .

:worldPremiere rdfs:range mo:Performance ;
	vs:term_status "unstable" .

:production a owl:ObjectProperty ;
	rdfs:comment "Associates a Season with a Production." ;
	rdfs:label "production" ;
	rdfs:domain :Season ;
	rdfs:range :Production ;
	vs:term_status "archaic" .

:manifestation a owl:ObjectProperty ;
	rdfs:comment "Associates a Performableproject with a Production." ;
	rdfs:label "manifestation" ;
	rdfs:domain :Performableproject ;
	rdfs:range :Production ;
	vs:term_status "archaic" .

:primary_season a owl:ObjectProperty ;
	rdfs:comment "Associates a production with its commissioning season." ;
	rdfs:label "primary_season" ;
	rdfs:domain :Production ;
	rdfs:range :Season ;
	vs:term_status "archaic" .

:parent_season a owl:ObjectProperty ;
	rdfs:comment "Associates a season with its commissioning season." ;
	rdfs:label "parent_season" ;
	rdfs:domain :Season ;
	rdfs:range :Season ;
	vs:term_status "archaic" .

:agent a owl:ObjectProperty ;
	rdfs:comment "Associates a Role with an Agent." ;
	rdfs:label "agent" ;
	rdfs:domain participation:Role ;
	rdfs:range foaf:Agent ;
	owl:sameAs participation:holder ;
	vs:term_status "archaic" .
