@prefix ec: <http://www.ebu.ch/metadata/ontologies/ebucoreplus#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix time: <http://www.w3.org/2006/time#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .

ec:MediaResource
  a owl:Class ;
  rdfs:subClassOf ec:Resource, [
    a owl:Restriction ;
    owl:onProperty ec:hasAudioTrack ;
    owl:allValuesFrom ec:AudioTrack
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasCaptioningSource ;
    owl:allValuesFrom ec:Agent
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasClone ;
    owl:allValuesFrom ec:MediaResource
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasCodec ;
    owl:allValuesFrom ec:Codec
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasDataTrack ;
    owl:allValuesFrom ec:DataTrack
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasDub ;
    owl:allValuesFrom ec:MediaResource
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasEncodingFormat ;
    owl:allValuesFrom ec:EncodingFormat
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasGeneration ;
    owl:allValuesFrom ec:MediaResource
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasMediaFragment ;
    owl:allValuesFrom ec:MediaFragment
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasMedium ;
    owl:allValuesFrom ec:Medium
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasMetadataTrack ;
    owl:allValuesFrom ec:MetadataTrack
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasProductionDevice ;
    owl:allValuesFrom ec:ProductionDevice
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasRelatedAudioObject ;
    owl:allValuesFrom ec:AudioObject
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasRelatedAudioTrack ;
    owl:allValuesFrom ec:AudioTrack
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasRelatedEssence ;
    owl:allValuesFrom ec:Essence
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasStandard ;
    owl:allValuesFrom ec:Standard
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasStorageType ;
    owl:allValuesFrom ec:StorageType
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasSubtitlingFormat ;
    owl:allValuesFrom ec:SubtitlingFormat
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasTimecodeTrack ;
    owl:allValuesFrom ec:TimecodeTrack
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasTrack ;
    owl:allValuesFrom ec:Track
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasVideoTrack ;
    owl:allValuesFrom ec:VideoTrack
  ], [
    a owl:Restriction ;
    owl:onProperty ec:isMasterOf ;
    owl:allValuesFrom ec:MediaResource
  ], [
    a owl:Restriction ;
    owl:onProperty ec:isRequiredBy ;
    owl:allValuesFrom ec:MediaResource
  ], [
    a owl:Restriction ;
    owl:onProperty ec:requires ;
    owl:allValuesFrom ec:MediaResource
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasAncillaryDataFormat ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onClass ec:AncillaryDataFormat
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasAudioCodec ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onClass ec:AudioCodec
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasAudioEncodingFormat ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onClass ec:AudioEncodingFormat
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasCaptioningFormat ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onClass ec:CaptioningFormat
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasColourSpace ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onClass ec:ColourSpace
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasContainerCodec ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onClass ec:ContainerCodec
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasContainerEncodingFormat ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onClass ec:ContainerEncodingFormat
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasContainerMimeType ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onClass ec:MimeType
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasDateDigitised ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onClass time:Instant
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasDateIngested ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onClass time:Instant
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasDateMigrated ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onClass time:Instant
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasDateNormalized ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onClass time:Instant
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasDateTransferred ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onClass time:Instant
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasDisplayAspectRatio ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onClass ec:ActiveFormatDescriptorCode
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasFileFormat ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onClass ec:FileFormat
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasImageCodec ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onClass ec:ImageCodec
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasImageFormat ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onClass ec:ImageFormat
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasLocation ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onClass ec:Location
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasMaster ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onClass ec:MediaResource
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasMimeType ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onClass ec:MimeType
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasParentMediaResource ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onClass ec:MediaResource
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasSource ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onClass ec:MediaResource
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasVideoCodec ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onClass ec:VideoCodec
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hasVideoEncodingFormat ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onClass ec:VideoEncodingFormat
  ], [
    a owl:Restriction ;
    owl:onProperty ec:instantiates ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onClass ec:EditorialObject
  ], [
    a owl:Restriction ;
    owl:onProperty ec:isCloneOf ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onClass ec:MediaResource
  ], [
    a owl:Restriction ;
    owl:onProperty ec:isDubOf ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onClass ec:MediaResource
  ], [
    a owl:Restriction ;
    owl:onProperty ec:isTrackPartOf ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onClass ec:Track
  ], [
    a owl:Restriction ;
    owl:onProperty ec:encodingLevel ;
    owl:allValuesFrom rdfs:Literal
  ], [
    a owl:Restriction ;
    owl:onProperty ec:encodingProfile ;
    owl:allValuesFrom rdfs:Literal
  ], [
    a owl:Restriction ;
    owl:onProperty dc:source ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ], [
    a owl:Restriction ;
    owl:onProperty ec:aspectRatio ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onDataRange xsd:string
  ], [
    a owl:Restriction ;
    owl:onProperty ec:audioBitRate ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onDataRange xsd:nonNegativeInteger
  ], [
    a owl:Restriction ;
    owl:onProperty ec:audioBitRateMax ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onDataRange xsd:nonNegativeInteger
  ], [
    a owl:Restriction ;
    owl:onProperty ec:audioBitRateMode ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ], [
    a owl:Restriction ;
    owl:onProperty ec:audioEncodingLevel ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ], [
    a owl:Restriction ;
    owl:onProperty ec:audioEncodingProfile ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ], [
    a owl:Restriction ;
    owl:onProperty ec:audioTrackConfiguration ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ], [
    a owl:Restriction ;
    owl:onProperty ec:audioTrackNumber ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onDataRange xsd:nonNegativeInteger
  ], [
    a owl:Restriction ;
    owl:onProperty ec:bitDepth ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onDataRange xsd:nonNegativeInteger
  ], [
    a owl:Restriction ;
    owl:onProperty ec:bitRate ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onDataRange xsd:nonNegativeInteger
  ], [
    a owl:Restriction ;
    owl:onProperty ec:bitRateMax ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onDataRange xsd:nonNegativeInteger
  ], [
    a owl:Restriction ;
    owl:onProperty ec:bitRateMode ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ], [
    a owl:Restriction ;
    owl:onProperty ec:bitRateOverall ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onDataRange xsd:nonNegativeInteger
  ], [
    a owl:Restriction ;
    owl:onProperty ec:dimensions ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ], [
    a owl:Restriction ;
    owl:onProperty ec:frameHeight ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onDataRange xsd:integer
  ], [
    a owl:Restriction ;
    owl:onProperty ec:frameHeightUnit ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ], [
    a owl:Restriction ;
    owl:onProperty ec:frameRate ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ], [
    a owl:Restriction ;
    owl:onProperty ec:frameSizeUnit ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ], [
    a owl:Restriction ;
    owl:onProperty ec:frameWidth ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onDataRange xsd:integer
  ], [
    a owl:Restriction ;
    owl:onProperty ec:frameWidthUnit ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ], [
    a owl:Restriction ;
    owl:onProperty ec:hashValue ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onDataRange xsd:string
  ], [
    a owl:Restriction ;
    owl:onProperty ec:iFrameSize ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onDataRange xsd:integer
  ], [
    a owl:Restriction ;
    owl:onProperty ec:inchesPerSecond ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onDataRange xsd:double
  ], [
    a owl:Restriction ;
    owl:onProperty ec:noiseFilter ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onDataRange xsd:boolean
  ], [
    a owl:Restriction ;
    owl:onProperty ec:packageByteSize ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onDataRange xsd:long
  ], [
    a owl:Restriction ;
    owl:onProperty ec:packageName ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ], [
    a owl:Restriction ;
    owl:onProperty ec:playbackSpeed ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onDataRange xsd:double
  ], [
    a owl:Restriction ;
    owl:onProperty ec:regionDelimX ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onDataRange xsd:integer
  ], [
    a owl:Restriction ;
    owl:onProperty ec:regionDelimY ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onDataRange xsd:integer
  ], [
    a owl:Restriction ;
    owl:onProperty ec:sampleRate ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onDataRange xsd:integer
  ], [
    a owl:Restriction ;
    owl:onProperty ec:sampleSize ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onDataRange xsd:integer
  ], [
    a owl:Restriction ;
    owl:onProperty ec:sampleType ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ], [
    a owl:Restriction ;
    owl:onProperty ec:scanningFormat ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ], [
    a owl:Restriction ;
    owl:onProperty ec:totalNumberOfAudioChannels ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onDataRange xsd:nonNegativeInteger
  ], [
    a owl:Restriction ;
    owl:onProperty ec:totalNumberOfAudioTracks ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onDataRange xsd:integer
  ], [
    a owl:Restriction ;
    owl:onProperty ec:totalNumberOfVideoTracks ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onDataRange xsd:integer
  ], [
    a owl:Restriction ;
    owl:onProperty ec:videoBitRate ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onDataRange xsd:nonNegativeInteger
  ], [
    a owl:Restriction ;
    owl:onProperty ec:videoBitRateMax ;
    owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onDataRange xsd:nonNegativeInteger
  ], [
    a owl:Restriction ;
    owl:onProperty ec:videoBitRateMode ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ], [
    a owl:Restriction ;
    owl:onProperty ec:videoEncodingLevel ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ], [
    a owl:Restriction ;
    owl:onProperty ec:videoEncodingProfile ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] ;
  owl:disjointWith ec:Rating ;
  dcterms:description "An audiovisual MediaResource, which can be composed of one or more Tracks. A MediaResource is defined by an EditorialObject (Editorial Domain), which can be realised in Essences in one or more Formats for different delivery medias or platforms."@en ;
  rdfs:label "Media resource"@en ;
  skos:definition "a Resource that comprises encoded audio, video, graphics, data or text"@en ;
  skos:example """- an audio CD
- an audio track on a CD
- an audio file
- a video file
- a video DVD"""@en .

