Chris@0: @prefix owl: . Chris@0: @prefix rdf: . Chris@0: @prefix rdfs: . Chris@0: @prefix foaf: . Chris@0: @prefix xsd: . Chris@0: @prefix vs: . Chris@0: @prefix mo: . Chris@0: @prefix tl: . Chris@0: @prefix event: . Chris@0: @prefix dc: . Chris@0: @prefix geo: . Chris@0: @prefix tags: . Chris@0: @prefix skos: . Chris@0: @prefix dcterms: . Chris@0: @prefix frbr: . Chris@0: @prefix : . Chris@0: Chris@0: Chris@0: Chris@0: <> Chris@0: a owl:Ontology; Chris@0: rdfs:label "Programmes ontology"; Chris@0: rdfs:comment """ Chris@0: A vocabulary for programme data. Chris@0: It defines concepts such as brands, series, episodes, but Chris@0: also defined broadcasting events. Chris@0: """; Chris@0: foaf:maker ; Chris@0: dc:date "$Date: 2007/11/19 15:25:11 $"; Chris@0: . Chris@0: Chris@0: Chris@0: # I'll use this to capture the status of the terms Chris@0: # defined in this ontology Chris@0: vs:term_status a owl:AnnotationProperty. Chris@0: Chris@0: Chris@0: # Concepts Chris@0: Chris@0: # Content Chris@0: Chris@0: :Programme Chris@0: a owl:Class; Chris@0: rdfs:label "programme"; Chris@0: rdfs:comment """ Chris@0: A programme, can either be a brand, a series or an episode Chris@0: """; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: Chris@0: :Brand Chris@0: a owl:Class; Chris@0: rdfs:label "brand"; Chris@0: rdfs:comment """ Chris@0: A brand, eg. `Flight of the Conchords' Chris@0: """; Chris@0: rdfs:subClassOf :Programme; Chris@0: owl:disjointWith :Episode; Chris@0: owl:disjointWith :Series; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: Chris@0: :Episode Chris@0: a owl:Class; Chris@0: rdfs:label "episode"; Chris@0: rdfs:comment """ Chris@0: A particular episode, eg. `Flight of the Conchords, first episode of the first season' Chris@0: """; Chris@0: rdfs:subClassOf :Programme; Chris@0: owl:disjointWith :Series; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: Chris@0: :Series Chris@0: a owl:Class; Chris@0: rdfs:label "serie"; Chris@0: rdfs:comment """ Chris@0: A serie, eg. `Flight of the Conchors, first season' Chris@0: """; Chris@0: rdfs:subClassOf :Programme; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: Chris@0: :Genre Chris@0: a skos:ConceptScheme; Chris@0: rdfs:label "genre"; Chris@0: rdfs:comment """ Chris@0: A concept scheme for a genre taxonomy for programmes, Chris@0: organised using SKOS (Simple Knowledge Organisation System). Chris@0: """; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: Chris@0: # Publishing Chris@0: Chris@0: :Version Chris@0: a owl:Class; Chris@0: rdfs:label "version"; Chris@0: rdfs:comment """ Chris@0: A particular version of an episode. Chris@0: Such versions include shortened ones, audio described ones Chris@0: or ones that holds sign language. Chris@0: """; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: Chris@0: :OriginalVersion Chris@0: a owl:Class; Chris@0: rdfs:label "original version"; Chris@0: rdfs:comment """ Chris@0: An `original' version, the legacy version of Chris@0: a particular episode. Chris@0: """; Chris@0: rdfs:subClassOf :Version; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: :AudioDescribedVersion Chris@0: a owl:Class; Chris@0: rdfs:label "audio description"; Chris@0: rdfs:comment """ Chris@0: A version holding an audio description. Chris@0: """; Chris@0: rdfs:subClassOf :Version; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: :SignedVersion Chris@0: a owl:Class; Chris@0: rdfs:label "sign language"; Chris@0: rdfs:comment """ Chris@0: A version holding sign language. Chris@0: """; Chris@0: rdfs:subClassOf :Version; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: :ShortenedVersion Chris@0: a owl:Class; Chris@0: rdfs:label "shortened version"; Chris@0: rdfs:comment """ Chris@0: A shortened version. Chris@0: """; Chris@0: rdfs:subClassOf :Version; Chris@0: owl:disjointWith :OriginalVersion; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: Chris@0: # modularised in a BCO? Chris@0: Chris@0: :Broadcast Chris@0: a owl:Class; Chris@0: rdfs:label "broadcast"; Chris@0: rdfs:comment """ Chris@0: A broadcast event. Chris@0: Subsumes the event concept defined in Chris@0: the event ontology. Chris@0: A broadcast is associated to a service, and to a Chris@0: particular version of an episode. Chris@0: """; Chris@0: rdfs:subClassOf event:Event; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: :FirstBroadcast Chris@0: a owl:Class; Chris@0: rdfs:label "first broadcast"; Chris@0: rdfs:comment """ Chris@0: Specifies a broadcast as being the Chris@0: first one of a particular version. Chris@0: """; Chris@0: rdfs:subClassOf :Broadcast; Chris@0: owl:disjointWith :RepeatBroadcast; Chris@0: vs:term_status "unstable"; Chris@0: . Chris@0: :RepeatBroadcast Chris@0: a owl:Class; Chris@0: rdfs:label "repeat"; Chris@0: rdfs:comment """ Chris@0: Specifies a broadcast as being a Chris@0: repeat. Chris@0: """; Chris@0: rdfs:subClassOf :Broadcast; Chris@0: owl:disjointWith :FirstBroadcast; Chris@0: vs:term_status "unstable"; Chris@0: . Chris@0: Chris@0: :Format Chris@0: a owl:Class; Chris@0: rdfs:label "format"; Chris@0: rdfs:comment """ Chris@0: The format of a particular version (should be of the episode, btw). Chris@0: Instances of this concept include documentaries, talk shows, animation, etc. Chris@0: """; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: Chris@0: :Service Chris@0: a owl:Class; Chris@0: rdfs:label "service"; Chris@0: rdfs:comment """ Chris@0: A service is a particular channel on which a broadcast occurrs. Chris@0: Instances of this concept include BBC Radio Wales, BBC Radio 4, BBC News, etc. Chris@0: """; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: Chris@0: # Hierarchies Chris@0: Chris@0: :Radio # I should perhaps SKOS this Chris@0: a owl:Class; Chris@0: rdfs:label "radio"; Chris@0: rdfs:comment """ Chris@0: Services that use a radio medium. Chris@0: """; Chris@0: rdfs:subClassOf :Service; Chris@0: vs:term_status "testing"; Chris@0: owl:disjointWith :TV; Chris@0: owl:disjointWith :Web; Chris@0: . Chris@0: :LocalRadio Chris@0: a owl:Class; Chris@0: rdfs:label "radio"; Chris@0: rdfs:comment """ Chris@0: Radio services aiming at a local coverage. Chris@0: """; Chris@0: rdfs:subClassOf :Radio; Chris@0: vs:term_status "testing"; Chris@0: owl:disjointWith :RegionalRadio; Chris@0: owl:disjointWith :NationalRadio; Chris@0: . Chris@0: :RegionalRadio Chris@0: a owl:Class; Chris@0: rdfs:label "regional radio"; Chris@0: rdfs:comment """ Chris@0: Radio services aiming at a regional coverage. Chris@0: """; Chris@0: rdfs:subClassOf :Radio; Chris@0: vs:term_status "testing"; Chris@0: owl:disjointWith :NationalRadio; Chris@0: . Chris@0: :NationalRadio Chris@0: a owl:Class; Chris@0: rdfs:label "national radio"; Chris@0: rdfs:comment """ Chris@0: Radio services aiming at a national coverage. Chris@0: """; Chris@0: rdfs:subClassOf :Radio; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: :TV Chris@0: a owl:Class; Chris@0: rdfs:label "tv"; Chris@0: rdfs:comment """ Chris@0: Services that use a television medium. Chris@0: """; Chris@0: rdfs:subClassOf :Service; Chris@0: vs:term_status "testing"; Chris@0: owl:disjointWith :Web; Chris@0: . Chris@0: :Web Chris@0: a owl:Class; Chris@0: rdfs:label "web"; Chris@0: rdfs:comment """ Chris@0: Services that use a Web medium. Chris@0: """; Chris@0: rdfs:subClassOf :Service; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: Chris@0: :Subtitle Chris@0: a owl:Class; Chris@0: rdfs:label "subtitle"; Chris@0: rdfs:comment """ Chris@0: Subtitles associated to a particular version. Chris@0: """; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: Chris@0: # Properties Chris@0: Chris@0: # Object properties Chris@0: Chris@0: :location Chris@0: a owl:ObjectProperty; Chris@0: rdfs:label "location"; Chris@0: rdfs:subPropertyOf foaf:based_near; Chris@0: rdfs:comment """ Chris@0: Associates a radio service to a geographic location, Chris@0: aiming at capturing what this service aims at covering. Chris@0: """; Chris@0: rdfs:domain :Radio; Chris@0: rdfs:range geo:SpatialThing; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: Chris@0: :episode Chris@0: a owl:InverseFunctionalProperty; # oh, really Chris@0: a owl:ObjectProperty; Chris@0: rdfs:label "episode"; Chris@0: rdfs:comment """ Chris@0: Associates a brand or a series to an episode constituting it. Chris@0: """; Chris@0: rdfs:domain [ Chris@0: a owl:Class; Chris@0: owl:unionOf (:Brand :Serie); Chris@0: ]; Chris@0: rdfs:subPropertyOf dcterms:hasPart; Chris@0: rdfs:range :Episode; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: Chris@0: :series Chris@0: a owl:ObjectProperty; Chris@0: a owl:InverseFunctionalProperty; # oh, really Chris@0: a owl:TransitiveProperty; Chris@0: rdfs:label "series"; Chris@0: rdfs:comment """ Chris@0: Associates a brand or a series to a series constituting it. Chris@0: """; Chris@0: rdfs:domain [ Chris@0: a owl:Class; Chris@0: owl:unionOf (:Brand :Serie); Chris@0: ]; Chris@0: rdfs:subPropertyOf dcterms:hasPart; Chris@0: rdfs:range :Series; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: Chris@0: :parent_series Chris@0: a owl:ObjectProperty; Chris@0: a owl:TransitiveProperty; Chris@0: rdfs:subPropertyOf dcterms:isPartOf; Chris@0: rdfs:label "parent serie"; Chris@0: rdfs:comment """ Chris@0: Relates a series to a series constituting it (eg. `Waking the dead'). Chris@0: """; Chris@0: rdfs:domain :Serie; Chris@0: rdfs:range :Serie; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: Chris@0: :parent_service Chris@0: a owl:ObjectProperty; Chris@0: a owl:TransitiveProperty; Chris@0: rdfs:subPropertyOf dcterms:isPartOf; Chris@0: rdfs:label "parent service"; Chris@0: rdfs:comment """ Chris@0: Relates a service to another service encapsulating it (eg. `BBC One' and `BBC One South') Chris@0: """; Chris@0: rdfs:domain :Service; Chris@0: rdfs:range :Service; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: Chris@0: :service #master brand? Chris@0: a owl:ObjectProperty; Chris@0: a owl:FunctionalProperty; Chris@0: rdfs:label "service"; Chris@0: rdfs:comment """ Chris@0: Associate a brand, series or episode to the master brand service. Chris@0: """; Chris@0: rdfs:domain :Programme; Chris@0: rdfs:range :Service; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: Chris@0: :version Chris@0: a owl:ObjectProperty; Chris@0: a owl:InverseFunctionalProperty; # oh, really Chris@0: rdfs:label "version"; Chris@0: rdfs:comment """ Chris@0: Associate an episode to a version of it. Chris@0: Different versions of a same episode can exist (shortened version, version Chris@0: designed for the hearing impaired, etc.). Chris@0: """; Chris@0: rdfs:domain :Episode; Chris@0: rdfs:range :Version; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: Chris@0: :broadcasted_on Chris@0: a owl:ObjectProperty; Chris@0: rdfs:subPropertyOf event:factor; Chris@0: rdfs:label "broadcasted on"; Chris@0: rdfs:comment """ Chris@0: Relates a particular broadcast to the service on which it was on. Chris@0: Sub-property of the event:factor one. Chris@0: """; Chris@0: rdfs:domain :Broadcast; Chris@0: rdfs:range :Service; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: Chris@0: :broadcast_of Chris@0: a owl:ObjectProperty; Chris@0: rdfs:subPropertyOf event:factor; Chris@0: rdfs:label "broadcast of"; Chris@0: rdfs:comment """ Chris@0: Relates a particular broadcast to the version being broadcasted. Chris@0: Sub-property of the event:factor one. Chris@0: """; Chris@0: rdfs:domain :Broadcast; Chris@0: rdfs:range :Version; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: Chris@0: :genre Chris@0: a owl:ObjectProperty; Chris@0: rdfs:label "genre"; Chris@0: rdfs:comment """ Chris@0: Relates an episode to a corresponding genre in a SKOS taxonomy. Chris@0: """; Chris@0: rdfs:domain :Programme; Chris@0: rdfs:range :Genre; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: Chris@0: :format Chris@0: a owl:ObjectProperty; Chris@0: rdfs:label "format"; Chris@0: rdfs:comment """ Chris@0: Relates a version to a particular format (eg. `Animation', `Documentary', etc.). Chris@0: """; Chris@0: rdfs:domain :Version; Chris@0: rdfs:range :Format; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: Chris@0: :subtitle Chris@0: a owl:ObjectProperty; Chris@0: rdfs:label "subtitle"; Chris@0: rdfs:comment "Relates a version to a subtitle"; Chris@0: rdfs:domain :Version; Chris@0: rdfs:range :Subtitle; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: Chris@0: Chris@0: # Datatype properties Chris@0: Chris@0: :pid_imi Chris@0: a owl:DatatypeProperty; Chris@0: rdfs:label "pid imi"; Chris@0: rdfs:comment "Just a BBC internal identifier - should be removed"; Chris@0: rdfs:domain :Broadcast; Chris@0: rdfs:range xsd:string; Chris@0: vs:term_status "unstable"; Chris@0: . Chris@0: Chris@0: :pid Chris@0: a owl:DatatypeProperty; Chris@0: rdfs:comment "Just a BBC internal identifier - should be removed"; Chris@0: rdfs:label "pid"; Chris@0: rdfs:domain :Brand; Chris@0: rdfs:range xsd:string; Chris@0: vs:term_status "unstable"; Chris@0: . Chris@0: Chris@0: :position # should perhaps be changed Chris@0: a owl:DatatypeProperty; Chris@0: rdfs:label "position"; Chris@0: rdfs:comment "The position of a particular series or episode within its containing programme"; Chris@0: rdfs:domain [ Chris@0: a owl:Class; Chris@0: owl:unionOf (:Episode :Serie); Chris@0: ]; Chris@0: rdfs:range xsd:int; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: Chris@0: :subtitle_type # Not sure about this one Chris@0: a owl:DatatypeProperty; Chris@0: rdfs:label "subtitle type"; Chris@0: rdfs:comment "The type of a subtitle (open or closed)"; Chris@0: rdfs:domain :Subtitle; Chris@0: rdfs:range xsd:string; Chris@0: vs:term_status "unstable"; Chris@0: . Chris@0: Chris@0: :subtitle_supplemental # Not sure about this one Chris@0: a owl:DatatypeProperty; Chris@0: rdfs:label "subtitle supplemental"; Chris@0: rdfs:comment "Supplemental of a subtitle"; Chris@0: rdfs:domain :Subtitle; Chris@0: rdfs:range xsd:string; Chris@0: vs:term_status "unstable"; Chris@0: . Chris@0: Chris@0: :subtitle_language Chris@0: a owl:DatatypeProperty; Chris@0: rdfs:label "subtitle language"; Chris@0: rdfs:comment "Language of a subtitle"; Chris@0: rdfs:domain :Subtitle; Chris@0: rdfs:range xsd:string; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: Chris@0: # Sub-properties of dc:format Chris@0: Chris@0: :aspect_ratio # Should perhaps be an object property? Chris@0: a owl:DatatypeProperty; Chris@0: rdfs:subPropertyOf dc:format; Chris@0: rdfs:label "aspect ratio"; Chris@0: rdfs:comment """ Chris@0: The aspect ration of a particular version. Chris@0: """; Chris@0: rdfs:domain :Version; Chris@0: rdfs:range xsd:string; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: Chris@0: :sound_format # Should perhaps be an object property? Chris@0: a owl:DatatypeProperty; Chris@0: rdfs:subPropertyOf dc:format; Chris@0: rdfs:label "sound format"; Chris@0: rdfs:comment """ Chris@0: The sound format of a particular version. Chris@0: """; Chris@0: rdfs:domain :Version; Chris@0: rdfs:range xsd:string; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: Chris@0: # Sub-properties of dc:description Chris@0: :synopsis Chris@0: rdfs:subPropertyOf dc:description; Chris@0: rdfs:label "synopsis"; Chris@0: rdfs:comment """ Chris@0: The synopsis of a serie, brand or episode. Chris@0: This is a subproperty of dc:description. Chris@0: """; Chris@0: a owl:DatatypeProperty; Chris@0: rdfs:domain :Programme; Chris@0: rdfs:range xsd:string; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: :short_synopsis Chris@0: rdfs:subPropertyOf :synopsis; Chris@0: rdfs:label "short synopsis"; Chris@0: rdfs:comment """ Chris@0: A short synopsis of a serie, brand or episode. Chris@0: Sub-property of po:synopsis. Chris@0: """; Chris@0: a owl:DatatypeProperty; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: :medium_synopsis Chris@0: rdfs:subPropertyOf :synopsis; Chris@0: rdfs:label "medium synopsis"; Chris@0: rdfs:comment """ Chris@0: A medium synopsis of a serie, brand or episode. Chris@0: Sub-property of po:synopsis. Chris@0: """; Chris@0: a owl:DatatypeProperty; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: :long_synopsis Chris@0: rdfs:subPropertyOf :synopsis; Chris@0: rdfs:label "long synopsis"; Chris@0: rdfs:comment """ Chris@0: A long synopsis of a serie, brand or episode. Chris@0: Sub-property of po:synopsis. Chris@0: """; Chris@0: a owl:DatatypeProperty; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: Chris@0: # Sub-properties of dc:title Chris@0: Chris@0: :sort_title Chris@0: a owl:DatatypeProperty; Chris@0: rdfs:label "sort title"; Chris@0: rdfs:comment "A literal title, aiming at being sorted on"; Chris@0: rdfs:subPropertyOf dc:title; Chris@0: rdfs:range xsd:string; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: :slice_title Chris@0: a owl:DatatypeProperty; Chris@0: rdfs:label "A sliced literal title"; Chris@0: rdfs:subPropertyOf dc:title; Chris@0: rdfs:range xsd:string; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: :letter Chris@0: a owl:DatatypeProperty; Chris@0: rdfs:range xsd:string; Chris@0: rdfs:label "sort letter"; Chris@0: rdfs:comment "Just a letter, aiming at sorting a set of resources"; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: Chris@0: # Sub-properties of dc:date Chris@0: :creation_date Chris@0: a owl:DatatypeProperty; Chris@0: rdfs:label "creation date"; Chris@0: rdfs:comment """ Chris@0: The creation date of a thing. Chris@0: Sub-property of dc:date. Chris@0: """; Chris@0: rdfs:subPropertyOf dc:date; Chris@0: rdfs:range xsd:dateTime; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: Chris@0: :update_date Chris@0: a owl:DatatypeProperty; Chris@0: rdfs:label "update date"; Chris@0: rdfs:comment """ Chris@0: The update date of a thing (last update). Chris@0: Sub-property of dc:date Chris@0: """; Chris@0: rdfs:subPropertyOf dc:date; Chris@0: rdfs:range xsd:dateTime; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: Chris@0: :schedule_date Chris@0: a owl:DatatypeProperty; Chris@0: rdfs:label "schedule date"; Chris@0: rdfs:comment """ Chris@0: The schedule date of a broadcast event. Chris@0: Sub-property of dc:date. Chris@0: """; Chris@0: rdfs:domain :Broadcast; Chris@0: rdfs:subPropertyOf dc:date; Chris@0: rdfs:range xsd:date; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: Chris@0: # Sub-properties of mo:duration Chris@0: :duration Chris@0: a owl:DatatypeProperty; Chris@0: rdfs:subPropertyOf mo:duration; Chris@0: rdfs:label "duration"; Chris@0: rdfs:comment "The duration, in seconds. Sub-property of mo:duration."; Chris@0: rdfs:range xsd:int; Chris@0: vs:term_status "testing"; Chris@0: . Chris@0: Chris@0: # External vocabularies (for documentation purposes) Chris@0: Chris@0: Chris@0: tags:tag Chris@0: a owl:ObjectProperty; Chris@0: rdfs:label "tag"; Chris@0: rdfs:comment "Associates an episode to a particular tag"; Chris@0: rdfs:domain :Episode; Chris@0: rdfs:range tags:Tagging; Chris@0: vs:term_status "stable"; Chris@0: . Chris@0: Chris@0: Chris@0: