Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat!: create Ratio and use it for aspectRatio and displayAspectRatio and frameRate #336

Open
wants to merge 4 commits into
base: dev
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 31 additions & 22 deletions ontology/EBUCorePlus/ebucoreplus.owl
Original file line number Diff line number Diff line change
Expand Up @@ -59,15 +59,15 @@
"Valerie J. Miller, PBS"@en-us ,
"Vincent Dabouineau"@fr ;
dc:creator "Jean Pierre Evain, EBU"@ch ;
dc:description """EBUCorePlus is an ontology for media enterprises, developed as an open source project. It follows-up on two long-standing EBU ontologies: EBUCore and CCDM (Class Conceptual Data Model). The two were merged and thoroughly revisioned. The result is EBUCorePlus, the new standard that can fully replace its predecessors. It inherits both the long-lasting reliability of EBUCore and the end-to-end coverage of the media value chain of CCDM.
dc:description """EBUCorePlus is an ontology for media enterprises, developed as an open source project. It follows-up on two long-standing EBU ontologies: EBUCore and CCDM (Class Conceptual Data Model). The two were merged and thoroughly revisioned. The result is EBUCorePlus, the new standard that can fully replace its predecessors. It inherits both the long-lasting reliability of EBUCore and the end-to-end coverage of the media value chain of CCDM.

EBUCorePlus is strictly semantic. It avoids ambiguities that were introduced when using EBUCore and CCDM classes in one graph. It has its own, new name space therefore it is not backward compatible, but can be mapped to its predecessors. It provides complete documentation of all entities in English, French and German (English being normative).

One major problem of EBUCore and CCDM was the use of ranges: semantically similar object properties needed to be defined in parallel for each class that the property referred to. Another case was the use of multi-range properties, leading to insufficient type safety. EBUCorePlus now uses class restrictions instead, leading to less and more coherent properties.
One major problem of EBUCore and CCDM was the use of ranges: semantically similar object properties needed to be defined in parallel for each class that the property referred to. Another case was the use of multi-range properties, leading to insufficient type safety. EBUCorePlus now uses class restrictions instead, leading to less and more coherent properties.

EBUCorePlus aims to serve as a plug and play framework. It can be used out of the box, either in its entirety or just a subset of its elements. But it may also be adapted and extended to enterprise-specific needs. Especially for system integration tasks and defining requirements, projects benefit from EBUCorePlus as a business – not technology – oriented language.
EBUCorePlus aims to serve as a plug and play framework. It can be used out of the box, either in its entirety or just a subset of its elements. But it may also be adapted and extended to enterprise-specific needs. Especially for system integration tasks and defining requirements, projects benefit from EBUCorePlus as a business – not technology – oriented language.

The ontology is developed by the EBU Metadata Modelling Working Group as an open source project on github. Requests for changes and improvements can be submitted by EBU Members, media organizations or anybody else from the media community. The EBUCorePlus Editorial Committee reviews requests and implements changes.
The ontology is developed by the EBU Metadata Modelling Working Group as an open source project on github. Requests for changes and improvements can be submitted by EBU Members, media organizations or anybody else from the media community. The EBUCorePlus Editorial Committee reviews requests and implements changes.

The EBU Metadata Modelling Working Group provides access, upon request, to a cloud hosted demonstration kit to explore and better understand the whole EBUCorePlus model."""@en ;
dc:publisher "European Broadcasting Union (EBU)"@ch ;
Expand Down Expand Up @@ -812,7 +812,7 @@ ec:derivedTo rdf:type owl:ObjectProperty ;

### http://www.ebu.ch/metadata/ontologies/ebucoreplus#displayAspectRatio
ec:displayAspectRatio rdf:type owl:ObjectProperty ;
rdfs:range ec:ActiveFormatDescriptorCode ;
rdfs:range ec:Ratio ;
dcterms:description "Das Seitenverhältnis bei der Anzeige."@de ,
"Le rapport d'aspect lors de l'affichage."@fr ,
"The aspect ratio when displayed."@en ;
Expand Down Expand Up @@ -5078,7 +5078,7 @@ ec:artefactWebsite rdf:type owl:DatatypeProperty ;

### http://www.ebu.ch/metadata/ontologies/ebucoreplus#aspectRatio
ec:aspectRatio rdf:type owl:DatatypeProperty ;
rdfs:range xsd:string ;
rdfs:range ec:Ratio ;
dcterms:description "Pour spécifier le rapport d'aspect."@fr ,
"To specify the aspect ratio."@en ,
"Um das Seitenverhältnis festzulegen."@de ;
Expand Down Expand Up @@ -5753,7 +5753,7 @@ ec:frameHeightUnit rdf:type owl:DatatypeProperty ;

### http://www.ebu.ch/metadata/ontologies/ebucoreplus#frameRate
ec:frameRate rdf:type owl:DatatypeProperty ;
rdfs:range rdfs:Literal ;
rdfs:range ec:Ratio ;
dcterms:description "Die Einheit, mit der die Bildrate einer MediaResource in Bildern/Sekunde ausgedrückt wird."@de ,
"L'unité utilisée pour exprimer la fréquence d'images d'une MediaResource en images/seconde."@fr ,
"The unit used to express the frame rate of a MediaResource in frames/second."@en ;
Expand Down Expand Up @@ -7466,17 +7466,6 @@ ec:Action_Type rdf:type owl:Class ;
"Type d'action"@fr .


### http://www.ebu.ch/metadata/ontologies/ebucoreplus#ActiveFormatDescriptorCode
ec:ActiveFormatDescriptorCode rdf:type owl:Class ;
rdfs:subClassOf ec:Format ;
dcterms:description "Pour définir un code de format actif."@fr ,
"So definieren Sie einen aktiven Formatcode."@de ,
"To define an active format code."@en ;
rdfs:label "Active format descriptor code"@en ,
"Aktiver Format-Deskriptor-Code"@de ,
"Code du descripteur de format actif"@fr .


### http://www.ebu.ch/metadata/ontologies/ebucoreplus#Affiliation
ec:Affiliation rdf:type owl:Class ;
rdfs:subClassOf [ rdf:type owl:Restriction ;
Expand Down Expand Up @@ -11776,7 +11765,7 @@ ec:MediaResource rdf:type owl:Class ;
[ rdf:type owl:Restriction ;
owl:onProperty ec:displayAspectRatio ;
owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
owl:onClass ec:ActiveFormatDescriptorCode
owl:onClass ec:Ratio
] ,
[ rdf:type owl:Restriction ;
owl:onProperty ec:hasAncillaryDataFormat ;
Expand Down Expand Up @@ -11903,7 +11892,7 @@ ec:MediaResource rdf:type owl:Class ;
[ rdf:type owl:Restriction ;
owl:onProperty ec:aspectRatio ;
owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
owl:onDataRange xsd:string
owl:onClass ec:Ratio
] ,
[ rdf:type owl:Restriction ;
owl:onProperty ec:audioBitRate ;
Expand Down Expand Up @@ -11981,6 +11970,7 @@ ec:MediaResource rdf:type owl:Class ;
[ rdf:type owl:Restriction ;
owl:onProperty ec:frameRate ;
owl:maxCardinality "1"^^xsd:nonNegativeInteger
owl:onClass ec:Ratio
] ,
[ rdf:type owl:Restriction ;
owl:onProperty ec:frameSizeUnit ;
Expand Down Expand Up @@ -12575,8 +12565,7 @@ ec:Picture rdf:type owl:Class ;
] ,
[ rdf:type owl:Restriction ;
owl:onProperty ec:aspectRatio ;
owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
owl:onDataRange xsd:string
owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger
] ,
[ rdf:type owl:Restriction ;
owl:onProperty ec:frameHeight ;
Expand Down Expand Up @@ -13707,6 +13696,26 @@ ec:Rating rdf:type owl:Class ;
"Classement"@fr ,
"Rating"@en .

### http://www.ebu.ch/metadata/ontologies/ebucoreplus#Ratio
ec:Ratio rdf:type owl:Class ;
rdfs:subClassOf [ rdf:type owl:Restriction ;
owl:onProperty ec:numerator ;
owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
owl:onDataRange xsd:integer
] ,
[ rdf:type owl:Restriction ;
owl:onProperty ec:denominator ;
owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
owl:onDataRange xsd:integer ;
xsd:minInclusive 1
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Question about the restriction : xsd:minInclusive 1
Don't you think you should encapsulate this restriction within a datatype definition ? To be OWL 2 compliant ?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for the long review time! During our last Editorial Committee meeting we have concluded to pack this into a new issue and use a new class Ratio for two of the three attributes mentioned above. I have now re-analysed the comments and would also use it for the Attribute frameRate.
But as I am starting to do this, I am stumbling across this question of aro-max. What do you think, @MarcAntoine-Arnaud ? Should you encapsulate the restriction within a datatype definitrion as proposed by @aro-max ? If we can resolve this question quickly, I might be able to review, merge and commit your pull request quickly as well.

] ;
dcterms:description "Represent a ratio of values."@en ,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo : Represents

"Représente un rapport de valeurs."@fr ;
rdfs:label "Verhältnis"@de ,
"Rapport"@fr ,
"Ratio"@en .

### http://www.ebu.ch/metadata/ontologies/ebucoreplus#Record
ec:Record rdf:type owl:Class ;
Expand Down