view onto/doc/programmes.n3 @ 19:1e79ce3ff5f5 tip

Simplify and cut some non-working resource paths
author Chris Cannam
date Wed, 08 Nov 2017 15:27:23 +0000
parents 1e44d666ced1
children
line wrap: on
line source
@prefix owl: <http://www.w3.org/2002/07/owl#>.
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix foaf: <http://xmlns.com/foaf/0.1/>.
@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
@prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#>.
@prefix mo: <http://purl.org/ontology/mo/>.
@prefix tl: <http://purl.org/NET/c4dm/timeline.owl#>.
@prefix event: <http://purl.org/NET/c4dm/event.owl#>.
@prefix dc: <http://purl.org/dc/elements/1.1/>.
@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>.
@prefix tags: <http://www.holygoat.co.uk/owl/redwood/0.1/tags/>.
@prefix skos: <http://www.w3.org/2004/02/skos/core#>.
@prefix dcterms: <http://purl.org/dc/terms/>.
@prefix frbr: <http://purl.org/vocab/frbr/core#>.
@prefix : <http://purl.org/ontology/po/>.



<> 
	a owl:Ontology;
	rdfs:label "Programmes ontology";
	rdfs:comment """
		A vocabulary for programme data.
		It defines concepts such as brands, series, episodes, but
		also defined broadcasting events.
	""";
	foaf:maker <http://moustaki.org/foaf.rdf#moustaki>;
	dc:date "$Date: 2007/11/19 15:25:11 $";
	.


# I'll use this to capture the status of the terms
# defined in this ontology
vs:term_status a owl:AnnotationProperty.


# Concepts

# Content

:Programme
	a owl:Class;
	rdfs:label "programme";
	rdfs:comment """
		A programme, can either be a brand, a series or an episode
	""";
	vs:term_status "testing";
	.

:Brand
	a owl:Class;
	rdfs:label "brand";
	rdfs:comment """
		A brand, eg. `Flight of the Conchords'
	""";
	rdfs:subClassOf :Programme;
	owl:disjointWith :Episode;
	owl:disjointWith :Series;
	vs:term_status "testing";
	.

:Episode
	a owl:Class;
	rdfs:label "episode";
	rdfs:comment """
		A particular episode, eg. `Flight of the Conchords, first episode of the first season'
	""";
	rdfs:subClassOf :Programme;
	owl:disjointWith :Series;
	vs:term_status "testing";
	.

:Series
	a owl:Class;
	rdfs:label "serie";
	rdfs:comment """
		A serie, eg. `Flight of the Conchors, first season'
	""";
	rdfs:subClassOf :Programme;
	vs:term_status "testing";
	.

:Genre
	a skos:ConceptScheme;
	rdfs:label "genre";
	rdfs:comment """
		A concept scheme for a genre taxonomy for programmes,
		organised using SKOS (Simple Knowledge Organisation System).
	""";
	vs:term_status "testing";
	.

# Publishing

:Version 
	a owl:Class;
	rdfs:label "version";
	rdfs:comment """
		A particular version of an episode.
		Such versions include shortened ones, audio described ones
		or ones that holds sign language.
	""";
	vs:term_status "testing";
	.

:OriginalVersion
	a owl:Class;
	rdfs:label "original version";
	rdfs:comment """
		An `original' version, the legacy version of
		a particular episode.
	""";
	rdfs:subClassOf :Version;
	vs:term_status "testing";
	.
:AudioDescribedVersion
	a owl:Class;
	rdfs:label "audio description";
	rdfs:comment """
		A version holding an audio description.
	""";
	rdfs:subClassOf :Version;
	vs:term_status "testing";
	.
:SignedVersion
	a owl:Class;
	rdfs:label "sign language";
	rdfs:comment """
		A version holding sign language.
	""";
	rdfs:subClassOf :Version;
	vs:term_status "testing";
	.
:ShortenedVersion
	a owl:Class;
	rdfs:label "shortened version";
	rdfs:comment """
		A shortened version.
	""";
	rdfs:subClassOf :Version;
	owl:disjointWith :OriginalVersion;
	vs:term_status "testing";
	.

# modularised in a BCO?

:Broadcast
	a owl:Class;
	rdfs:label "broadcast";
	rdfs:comment """
		A broadcast event.
		Subsumes the event concept defined in
		the event ontology.
		A broadcast is associated to a service, and to a
		particular version of an episode.
	""";
	rdfs:subClassOf event:Event;
	vs:term_status "testing";
	.
:FirstBroadcast
	 a owl:Class;
	 rdfs:label "first broadcast";
	 rdfs:comment """
		Specifies a broadcast as being the 
		first one of a particular version.
	 """;
	 rdfs:subClassOf :Broadcast;
	 owl:disjointWith :RepeatBroadcast;
	 vs:term_status "unstable";
	 .
:RepeatBroadcast
	a owl:Class;
	rdfs:label "repeat";
	rdfs:comment """
		Specifies a broadcast as being a 
		repeat.
	""";
	rdfs:subClassOf :Broadcast;
	owl:disjointWith :FirstBroadcast;
	vs:term_status "unstable";
	.

:Format
	a owl:Class;
	rdfs:label "format";
	rdfs:comment """
		The format of a particular version (should be of the episode, btw).
		Instances of this concept include documentaries, talk shows, animation, etc.
	""";
	vs:term_status "testing";
	.

:Service
	a owl:Class;
	rdfs:label "service";
	rdfs:comment """
		A service is a particular channel on which a broadcast occurrs.
		Instances of this concept include BBC Radio Wales, BBC Radio 4, BBC News, etc.
	""";
	vs:term_status "testing";
	.

# Hierarchies

:Radio # I should perhaps SKOS this
	a owl:Class;
	rdfs:label "radio";
	rdfs:comment """
		Services that use a radio medium.
	""";
	rdfs:subClassOf :Service;
	vs:term_status "testing";
	owl:disjointWith :TV;
	owl:disjointWith :Web;
	.
:LocalRadio
	a owl:Class;
	rdfs:label "radio";
	rdfs:comment """
		Radio services aiming at a local coverage.
	""";
	rdfs:subClassOf :Radio;
	vs:term_status "testing";
	owl:disjointWith :RegionalRadio;
	owl:disjointWith :NationalRadio;
	.
:RegionalRadio
	a owl:Class;
	rdfs:label "regional radio";
	rdfs:comment """
		Radio services aiming at a regional coverage.
	""";
	rdfs:subClassOf :Radio;
	vs:term_status "testing";
	owl:disjointWith :NationalRadio;
	.
:NationalRadio
	a owl:Class;
	rdfs:label "national radio";
	rdfs:comment """
		Radio services aiming at a national coverage.
	""";
	rdfs:subClassOf :Radio;
	vs:term_status "testing";
	.
:TV
	a owl:Class;
	rdfs:label "tv";
	rdfs:comment """
		Services that use a television medium.
	""";
	rdfs:subClassOf :Service;
	vs:term_status "testing";
	owl:disjointWith :Web;
	.
:Web
	a owl:Class;
	rdfs:label "web";
	rdfs:comment """
		Services that use a Web medium.
	""";
	rdfs:subClassOf :Service;
	vs:term_status "testing";
	.

:Subtitle
	a owl:Class;
	rdfs:label "subtitle";
	rdfs:comment """
		Subtitles associated to a particular version.
	""";
	vs:term_status "testing";
	.

# Properties

# Object properties

:location
	a owl:ObjectProperty;
	rdfs:label "location";
	rdfs:subPropertyOf foaf:based_near;
	rdfs:comment """
		Associates a radio service to a geographic location, 
		aiming at capturing what this service aims at covering.
	""";
	rdfs:domain :Radio;
	rdfs:range geo:SpatialThing;
	vs:term_status "testing";
	.

:episode
	a owl:InverseFunctionalProperty; # oh, really
	a owl:ObjectProperty;
	rdfs:label "episode";
	rdfs:comment """
		Associates a brand or a series to an episode constituting it.
	""";
	rdfs:domain [
		a owl:Class;
		owl:unionOf (:Brand :Serie);
	];
	rdfs:subPropertyOf dcterms:hasPart;
	rdfs:range :Episode;
	vs:term_status "testing";
	.

:series
	a owl:ObjectProperty;
	a owl:InverseFunctionalProperty; # oh, really
	a owl:TransitiveProperty;
	rdfs:label "series";
	rdfs:comment """
		Associates a brand or a series to a series constituting it.
	""";
	rdfs:domain [
		a owl:Class;
		owl:unionOf (:Brand :Serie);
	];
	rdfs:subPropertyOf dcterms:hasPart;
	rdfs:range :Series;
	vs:term_status "testing";
	.

:parent_series
	a owl:ObjectProperty;
	a owl:TransitiveProperty;
	rdfs:subPropertyOf dcterms:isPartOf;
	rdfs:label "parent serie";
	rdfs:comment """
		Relates a series to a series constituting it (eg. `Waking the dead').
	""";
	rdfs:domain :Serie;
	rdfs:range :Serie;
	vs:term_status "testing";
	.

:parent_service
	a owl:ObjectProperty;
	a owl:TransitiveProperty;
	rdfs:subPropertyOf dcterms:isPartOf;
	rdfs:label "parent service";
	rdfs:comment """
		Relates a service to another service encapsulating it (eg. `BBC One' and `BBC One South')
	""";
	rdfs:domain :Service;
	rdfs:range :Service;
	vs:term_status "testing";
	.

:service #master brand?
	a owl:ObjectProperty;
	a owl:FunctionalProperty;
	rdfs:label "service";
	rdfs:comment """
		Associate a brand, series or episode to the master brand service.
	""";
	rdfs:domain :Programme;
	rdfs:range :Service;
	vs:term_status "testing";
	.

:version
	a owl:ObjectProperty;
	a owl:InverseFunctionalProperty; # oh, really
	rdfs:label "version";
	rdfs:comment """
		Associate an episode to a version of it.
		Different versions of a same episode can exist (shortened version, version
		designed for the hearing impaired, etc.). 
	""";
	rdfs:domain :Episode;
	rdfs:range :Version;
	vs:term_status "testing";
	.

:broadcasted_on
	a owl:ObjectProperty;
	rdfs:subPropertyOf event:factor;
	rdfs:label "broadcasted on";
	rdfs:comment """
		Relates a particular broadcast to the service on which it was on.
		Sub-property of the event:factor one.
	""";
	rdfs:domain :Broadcast;
	rdfs:range :Service;
	vs:term_status "testing";
	.

:broadcast_of
	a owl:ObjectProperty;
	rdfs:subPropertyOf event:factor;
	rdfs:label "broadcast of";
	rdfs:comment """
		Relates a particular broadcast to the version being broadcasted.
		Sub-property of the event:factor one.
	""";
	rdfs:domain :Broadcast;
	rdfs:range :Version;
	vs:term_status "testing";
	.

:genre
	a owl:ObjectProperty;
	rdfs:label "genre";
	rdfs:comment """
		Relates an episode to a corresponding genre in a SKOS taxonomy.
	""";
	rdfs:domain :Programme;
	rdfs:range :Genre;
	vs:term_status "testing";
	.

:format
	a owl:ObjectProperty;
	rdfs:label "format";
	rdfs:comment """
		Relates a version to a particular format (eg. `Animation', `Documentary', etc.).
	""";
	rdfs:domain :Version;
	rdfs:range :Format;
	vs:term_status "testing";
	.

:subtitle
	a owl:ObjectProperty;
	rdfs:label "subtitle";
	rdfs:comment "Relates a version to a subtitle";
	rdfs:domain :Version;
	rdfs:range :Subtitle;
	vs:term_status "testing";
	.


# Datatype properties

:pid_imi
	a owl:DatatypeProperty;
	rdfs:label "pid imi";
	rdfs:comment "Just a BBC internal identifier - should be removed";
	rdfs:domain :Broadcast;
	rdfs:range xsd:string;
	vs:term_status "unstable";
	.

:pid 
	a owl:DatatypeProperty;
	rdfs:comment "Just a BBC internal identifier - should be removed";
	rdfs:label "pid";
	rdfs:domain :Brand;
	rdfs:range xsd:string;
	vs:term_status "unstable";
	.

:position # should perhaps be changed
	a owl:DatatypeProperty;
	rdfs:label "position";
	rdfs:comment "The position of a particular series or episode within its containing programme";
	rdfs:domain [
		a owl:Class;
		owl:unionOf (:Episode :Serie);
	];
	rdfs:range xsd:int;
	vs:term_status "testing";
	.

:subtitle_type # Not sure about this one
	a owl:DatatypeProperty;
	rdfs:label "subtitle type";
	rdfs:comment "The type of a subtitle (open or closed)";
	rdfs:domain :Subtitle;
	rdfs:range xsd:string;
	vs:term_status "unstable";
	.

:subtitle_supplemental # Not sure about this one
	a owl:DatatypeProperty;
	rdfs:label "subtitle supplemental";
	rdfs:comment "Supplemental of a subtitle";
	rdfs:domain :Subtitle;
	rdfs:range xsd:string;
	vs:term_status "unstable";
	.

:subtitle_language 
	a owl:DatatypeProperty;
	rdfs:label "subtitle language";
	rdfs:comment "Language of a subtitle";
	rdfs:domain :Subtitle;
	rdfs:range xsd:string;
	vs:term_status "testing";
	.

# Sub-properties of dc:format

:aspect_ratio # Should perhaps be an object property?
	a owl:DatatypeProperty;
	rdfs:subPropertyOf dc:format;
	rdfs:label "aspect ratio";
	rdfs:comment """
		The aspect ration of a particular version.
	""";
	rdfs:domain :Version;
	rdfs:range xsd:string;
	vs:term_status "testing";
	.

:sound_format # Should perhaps be an object property?
	a owl:DatatypeProperty;
	rdfs:subPropertyOf dc:format;
	rdfs:label "sound format";
	rdfs:comment """
		The sound format of a particular version.
	""";
	rdfs:domain :Version;
	rdfs:range xsd:string;
	vs:term_status "testing";
	.

# Sub-properties of dc:description
:synopsis
	rdfs:subPropertyOf dc:description;
	rdfs:label "synopsis";
	rdfs:comment """
		The synopsis of a serie, brand or episode.
		This is a subproperty of dc:description.
	""";
	a owl:DatatypeProperty;
	rdfs:domain :Programme;
	rdfs:range xsd:string;
	vs:term_status "testing";
	.
:short_synopsis
	rdfs:subPropertyOf :synopsis;
	rdfs:label "short synopsis";
	rdfs:comment """
		A short synopsis of a serie, brand or episode.
		Sub-property of po:synopsis.
	""";
	a owl:DatatypeProperty;
	vs:term_status "testing";
	.
:medium_synopsis
	rdfs:subPropertyOf :synopsis;
	rdfs:label "medium synopsis";
	rdfs:comment """
		A medium synopsis of a serie, brand or episode.
		Sub-property of po:synopsis.
	""";
	a owl:DatatypeProperty;
	vs:term_status "testing";
	.
:long_synopsis
	rdfs:subPropertyOf :synopsis;
	rdfs:label "long synopsis";
	rdfs:comment """
		A long synopsis of a serie, brand or episode.
		Sub-property of po:synopsis.
	""";
	a owl:DatatypeProperty;
	vs:term_status "testing";
	.

# Sub-properties of dc:title

:sort_title
	a owl:DatatypeProperty;
	rdfs:label "sort title";
	rdfs:comment "A literal title, aiming at being sorted on";
	rdfs:subPropertyOf dc:title;
	rdfs:range xsd:string;
	vs:term_status "testing";
	.
:slice_title
	a owl:DatatypeProperty;
	rdfs:label "A sliced literal title";
	rdfs:subPropertyOf dc:title;
	rdfs:range xsd:string;
	vs:term_status "testing";
	.
:letter 
	a owl:DatatypeProperty;
	rdfs:range xsd:string;
	rdfs:label "sort letter";
	rdfs:comment "Just a letter, aiming at sorting a set of resources";
	vs:term_status "testing";
	.

# Sub-properties of dc:date
:creation_date
        a owl:DatatypeProperty;
        rdfs:label "creation date";
        rdfs:comment """
                The creation date of a thing.
                Sub-property of dc:date.
        """;
        rdfs:subPropertyOf dc:date;
        rdfs:range xsd:dateTime;
	vs:term_status "testing";
        .

:update_date
	a owl:DatatypeProperty;
	rdfs:label "update date";
	rdfs:comment """
		The update date of a thing (last update).
		Sub-property of dc:date
	""";
	rdfs:subPropertyOf dc:date;
	rdfs:range xsd:dateTime;
	vs:term_status "testing";
	.

:schedule_date
	a owl:DatatypeProperty;
	rdfs:label "schedule date";
	rdfs:comment """
		The schedule date of a broadcast event.
		Sub-property of dc:date.
	""";
	rdfs:domain :Broadcast;
	rdfs:subPropertyOf dc:date;
	rdfs:range xsd:date;
	vs:term_status "testing";
	.

# Sub-properties of mo:duration
:duration 
	a owl:DatatypeProperty;
	rdfs:subPropertyOf mo:duration;
	rdfs:label "duration";
	rdfs:comment "The duration, in seconds. Sub-property of mo:duration.";
	rdfs:range xsd:int;
	vs:term_status "testing";
	.

# External vocabularies (for documentation purposes)


tags:tag 
	a owl:ObjectProperty;
	rdfs:label "tag";
	rdfs:comment "Associates an episode to a particular tag";
	rdfs:domain :Episode;
	rdfs:range tags:Tagging;
	vs:term_status "stable";
	.