@prefix dc: . @prefix dct: . @prefix foaf: . @prefix mo: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix xsd: . @prefix n0: . @prefix n1: . @prefix v: . @prefix core: . @prefix n2: . @prefix ebu: . @prefix cc: . @prefix eve: . @prefix schem: . mo:AnalogSignal rdfs:subClassOf n0:AnalogSignal. mo:AudioFile rdfs:subClassOf n0:AudioFile. mo:available_as rdfs:subPropertyOf n0:availableAs. mo:bitsPerSample rdfs:subPropertyOf n0:bitsPerSample. mo:channels rdfs:subPropertyOf n0:channels. mo:compiled rdfs:subPropertyOf n0:compiled. mo:DigitalSignal rdfs:subClassOf n0:DigitalSignal. mo:duration rdfs:subPropertyOf n0:duration. mo:encodes rdfs:subPropertyOf n0:encodes. mo:genre rdfs:subPropertyOf n0:audioCategory. mo:Genre rdfs:subClassOf n0:AudioCategory. mo:homepage rdfs:subPropertyOf n0:homepage. mo:image rdfs:subPropertyOf n0:image. mo:Instrument rdfs:subClassOf n0:AudioCategory. mo:MusicalExpression rdfs:subClassOf n0:AudioExpression. mo:MusicalItem rdfs:subClassOf n0:AudioItem. mo:MusicalManifestation rdfs:subClassOf n0:AudioManifestation. mo:produced_signal rdfs:subPropertyOf n0:producedSignal. mo:publication_of rdfs:subPropertyOf n0:publicationOf. mo:published rdfs:subPropertyOf n0:published. mo:published_as rdfs:subPropertyOf n0:publishedAs. mo:Record rdfs:subClassOf n0:AudioCollection. mo:Recording rdfs:subClassOf n0:Recording. mo:recording_of rdfs:subPropertyOf n0:recordingOf. mo:release rdfs:subPropertyOf n0:publishedAudioManifestation. mo:Release rdfs:subClassOf n0:AudioCollection. mo:ReleaseEvent rdfs:subClassOf n0:AudioPublication. mo:sample_rate rdfs:subPropertyOf n0:sampleRate. mo:Signal rdfs:subClassOf n0:Signal. mo:Sound rdfs:subClassOf n0:Sound. mo:Track rdfs:subClassOf n0:AudioClip. n1:aco a owl:Ontology; dc:description """The Audio Commons Ontology has been created in the context of the European project [Audio Commons](https://www.audiocommons.org/), which were aimed at favouring sharing and reuse of audio content (both of musical and non-musical nature), specially using [Creative Commons](https://creativecommons.org/) licenses. It is designed specifically to integrate access to multiple heterogeneously structured audio content providers. In particular the following ones have been considered in the project: - [Freesound](https://freesound.org/), a collaborative database of Creative Commons Licensed sounds; - [Jamendo](https://www.jamendo.com/), a music website for independent artists; - [Europeana Sounds](https://www.eusounds.eu/), a European project collecting and sharing data from several archives of sounds and sound-related media; - [Internet Archive](https://archive.org/), a non-profit library of millions of freely accessible media contents. ### The base model
![A diagram showing the entities Work, Expression, Manifestation, Item](./img/FRBR-Group-1-entities-and-basic-relations.svg.png)
The Audio Commons ontology is based on [Functional Requirements for Bibliographic Records (FRBR)](https://en.wikipedia.org/wiki/Functional_Requirements_for_Bibliographic_Records), a bibliographic model designed for user tasks of retrieval and access in online library catalogues and bibliographic databases. FRBR distinguish the products of intellectual or artistic endeavor in four main classes: work, expression, manifestation, item. It is available as RDF vocabulary at https://vocab.org/frbr/core. For further information on FRBR, check the [standard](https://repository.ifla.org/handle/123456789/811). Another important model related to audio is the [Music Ontology](http://musicontology.com/), which is also based on the FRBR model. Our ontology is more generic than the Music Ontology but is interoperable with it to support the specificities of music-related audio content. The Audio Commons ontology works also in conjunction with - [Dublin Core](https://www.dublincore.org/specifications/dublin-core/dcmi-terms/) for basic metadata, - [EBU Core](https://www.ebu.ch/metadata/ontologies/ebucore/) for technical properties of audio files, - [SKOS](https://www.w3.org/TR/skos-primer/) to support taxonomic classifications, - [Creative Commons Licensing schema](https://creativecommons.org/ns) to represent media licensing, - [Event ontology](http://motools.sf.net/event/event.html) for the formalisation of events, - [Audio Features Ontology](https://w3id.org/afo/onto/) for the characterisation of audio features. ### Ontology overview ![A diagram showing the main classes of the Audio Commons ontology](./img/AC-Ontology-Skeleton.png) The figure above shows the most general classes and properties of the Audio Commons ontology and their relationship with classes of the FRBR and the Music Ontology: - **`ac:AudioExpression`**, the specific intellectual or artistic form that a work takes each time it is _realised_, in the audio domain, e.g., the recording or synthesis of music or sounds; - **`ac:AudioManifestation`**, the physical embodiment of an audio expression, e.g., a musical track, a sound, an album; - **`ac:AudioItem`**, a single exemplar of an audio manifestation, e.g., a copy of a CD or a specific media file. The FRBR class Work, representing a distinct intellectual or artistic creation on a more conceptual level, has not been specialised in Audio Commons. The Audio Commons ontology provides a generic schema for audio classification through the property **`ac:audioCategory`** that associates any audio expression, manifestation, or item to some generic **`ac:AudioCategory`**. These two terms can be specialised to provide spefic categorisations. ### Manifestations: audio clips and collections ![A diagram showing the main classes of the Audio Commons ontology](./img/AC-Ontology-Manifestation.png) The figure above shows classes and properties related to audio manifestations. An instance of **`ac:AudioClip`**, a subclass of `ac:AudioManifestation`, is any audio segment that has been published in some form or uploaded for consumption, for example, a track in a music label's repository or a sound in an audio repository, library or archive. The class **`ac:AudioCollection`**, another subclass of `ac:AudioManifestation`, is used to represent collections of audio clips. The class **`ac:AudioCollectionNode`** is used to represent single nodes of a collection, offering local information like the index in the collection and pointers to previous and next nodes. The separation between the collection node and its actual content (e.g., an `ac:AudioClip`) permits the same content to be shared in multiple collections. The content of each node of a collection is not limited to an `ac:AudioClip`, but may contain any `ac:AudioManifestation`. Collections can thus contain other collections to support specific cases, e.g. a mapping to the Music Ontology model where an `mo:Release` can contain multiple `mo:Record`(s) that can in turn contain multiple `mo:Track`(s). ### Items: audio files ![A diagram showing ac:Item class and related class and properties](./img/AC-Ontology-Item.png) An `ac:AudioItem` is a concrete exemplar of an audio manifestation. In our domain, the main exemplars are the actual audio files. The corresponding class **`ac:AudioFile`** is a subclass of `ac:AudioItem`. It is subclass of `ebu:MediaResource` too and the corresponging properties of EBU Core can be used to describe the file (e.g., `ebu:hasEncodingFormat`, `ebu:fileSize`). ### Expressions: audio signals ![A diagram showing ac:Expression class and related class and properties](./img/AC-Ontology-Expression.png) While `ac:AudioFile` represents a concrete file encoded in a certain format, **`ac:DigitalSignal`** is the representation of the corresponding digital signal. `ac:DigitalSignal` is a subclass of `ac:MusicalExpression`. The data properties `ac:sampleRate`, `ac:bitsPerSample`, and `ac:channels`, associate a signal with its basic features specific to digital representations. The property `ac:publicationOf` can be used to associate an `ac:AudioClip` with the corresponding digital signal. The property `ac:encodes` instead, associates an `ac:AudioFile` with the encoded digital signal. ### Events: recording/syntesis ![A diagram showing ac:SignalProduction class and related class and properties!](./img/AC-Ontology-SignalProduction.png) The description of temporal events is crucial to formalise and document transitions in the workflow of audio production and publication. The class `event:Event` of the Event Ontology is thus specialised for specific actions that are interesting for the audio domain. Using the `event:Event` class, details of an event such as its location in time and space, its factor and its products may be explicitly described. Moreover, events can be composed using the property `event:sub_event`, to build complex events. The class `ac:SignalProduction` represents the act of producing a `ac:Signal`, which could be either an `ac:AnalogSignal` or a `ac:DigitalSignal`. This is complemented by **`ac:Recording`**, representing the process of recording a sound (`ac:Sound`) or the product of **`ac:Synthesis`**, in case of artificially generated sounds. ### Events (continued): publication ![A diagram showing ac:Publication class and related class and properties!](./img/AC-Ontology-Publication.png) The event **`ac:AudioPublication`** represents the public release of a piece of work, e.g., the release of a new album by a band. ### Usage Example ![A diagram showing an example of ontology usage!](./img/AC_Example-AudioClip.png) The figure above shows an example of use of the Audio Commons ontology to represent a sound from the Freesound database. For simplicity only the classes `ac:AudioClip`, `ac:AudioFile`, and `ac:AudioCategory` are used in this case. """; dct:created "2017/07/27 11:09:00"; dct:date "2017/07/27 11:09:00"; dct:description """The Audio Commons Ontology provides classes and properties for describing audio content, both musical and non-musical, on the Semantic Web. It is a specialisation of a bibliographic model called Functional Requirements for Bibliographic Records (FRBR). Furthermore, it contains the generalisation of some concepts from the Music Ontology. """; dct:title "The Audio Commons Ontology"; v:preferredNamespacePrefix "ac"; v:preferredNamespaceUri "https://w3id.org/ac-ontology/aco#"; rdfs:comment """The Audio Commons Ontology provides classes and properties for describing audio content, both musical and non-musical, on the Semantic Web. It is a specialisation of a bibliographic model called [Functional Requirements for Bibliographic Records (FRBR)](https://en.wikipedia.org/wiki/Functional_Requirements_for_Bibliographic_Records). Furthermore, it contains the generalisation of some concepts from the [Music Ontology](http://musicontology.com/). """; owl:versionInfo "Revision: 1.3.0"; foaf:maker , . n0:AnalogSignal a owl:Class; rdfs:comment "An analog signal."; rdfs:isDefinedBy n1:aco; rdfs:label "Analog signal"; rdfs:subClassOf n0:Signal; owl:disjointWith n0:DigitalSignal. n0:audioCategory a owl:ObjectProperty; rdfs:comment "Classify some audio-related thing in a category."; rdfs:domain owl:Thing; rdfs:isDefinedBy n1:aco; rdfs:label "is in audio category"; rdfs:range n0:AudioCategory. n0:AudioCategory a owl:Class; rdfs:comment "Any category that is used to classify audio content."; rdfs:isDefinedBy n1:aco; rdfs:label "Audio category"; rdfs:subClassOf core:Concept. n0:AudioClip a owl:Class; rdfs:comment """An audio segment that has been somehow published or uploaded for consumption (e.g., a track in a music label's repository or a sound in an audio repository, library or archive). """; rdfs:isDefinedBy n1:aco; rdfs:label "Audio clip"; rdfs:subClassOf n0:AudioManifestation. n0:AudioCollection a owl:Class; rdfs:comment """A collection of audio manifestations (e.g., a sound pack, an album, a result set of a search over a repository of audio content). As an audio collection is an audio manifestation too, collections may be nested. An audio collection is composed of nodes. """; rdfs:isDefinedBy n1:aco; rdfs:label "Audio collection"; rdfs:subClassOf n0:AudioManifestation, [ a owl:Restriction; owl:cardinality "1"^^xsd:nonNegativeInteger; owl:onProperty n0:firstNode ], [ a owl:Restriction; owl:cardinality "1"^^xsd:nonNegativeInteger; owl:onProperty n0:lastNode ]. n0:AudioCollectionFirstNode a owl:Class; rdfs:comment "A node that is the first in the containing audio collection"; rdfs:isDefinedBy n1:aco; rdfs:label "First node"; rdfs:subClassOf n0:AudioCollectionNode, [ a owl:Restriction; owl:cardinality "1"^^xsd:nonNegativeInteger; owl:onProperty [ owl:inverseOf n0:firstNode ] ]. n0:AudioCollectionLastNode a owl:Class; rdfs:comment "A node that is the last in the containing audio collection"; rdfs:isDefinedBy n1:aco; rdfs:label "Last node"; rdfs:subClassOf n0:AudioCollectionNode, [ a owl:Restriction; owl:cardinality "1"^^xsd:nonNegativeInteger; owl:onProperty [ owl:inverseOf n0:lastNode ] ], [ a owl:Restriction; owl:hasValue "rdf:nil"; owl:onProperty rdf:rest ]. n0:AudioCollectionNode a owl:Class; rdfs:comment """A node of an audio collection. It encapsulates the actual content (ac:nodeContent), the position in the collection (ac:nodeIndex), and links to the previous and following node in the collection (ac:previousNode and ac:nextNode). """; rdfs:isDefinedBy n1:aco; rdfs:label "Node"; rdfs:subClassOf rdf:List, [ a owl:Restriction; owl:allValuesFrom n0:AudioManifestation; owl:onProperty rdf:first ], [ a owl:Restriction; owl:cardinality "1"^^xsd:nonNegativeInteger; owl:onProperty rdf:first ], [ a owl:Restriction; owl:cardinality "1"^^xsd:nonNegativeInteger; owl:onProperty rdf:rest ], [ a owl:Restriction; owl:cardinality "1"^^xsd:nonNegativeInteger; owl:onProperty n0:nodeContent ], [ a owl:Restriction; owl:cardinality "1"^^xsd:nonNegativeInteger; owl:onProperty n0:nodeIndex ]; owl:disjointUnionOf [ rdf:first n0:AudioCollectionFirstNode; rdf:rest [ rdf:first n0:AudioCollectionNonFirstNode; rdf:rest rdf:nil ] ], [ rdf:first n0:AudioCollectionLastNode; rdf:rest [ rdf:first n0:AudioCollectionNonLastNode; rdf:rest rdf:nil ] ]; owl:disjointWith rdf:nil. n0:AudioCollectionNonFirstNode a owl:Class; rdfs:comment "A node that is not the first in the containing audio collection"; rdfs:isDefinedBy n1:aco; rdfs:label "Any node but the first"; rdfs:subClassOf n0:AudioCollectionNode, [ a owl:Restriction; owl:cardinality "1"^^xsd:nonNegativeInteger; owl:onProperty n0:previousNode ]. n0:AudioCollectionNonLastNode a owl:Class; rdfs:comment "A node that is not the last in the containing audio collection"; rdfs:isDefinedBy n1:aco; rdfs:label "Any node but the last"; rdfs:subClassOf n0:AudioCollectionNode, [ a owl:Restriction; owl:cardinality "1"^^xsd:nonNegativeInteger; owl:onProperty n0:nextNode ]. n0:AudioExpression a owl:Class; rdfs:comment """The specific intellectual or artistic form that a work takes each time it is \u201crealized\u201d, in the audio domain (e.g., the recording or synthesis of music or sounds). """; rdfs:isDefinedBy n1:aco; rdfs:label "Audio expression"; rdfs:subClassOf core:Expression. n0:audioFeature a owl:ObjectProperty; rdfs:comment "Associates a signal to an extracted audio feature."; rdfs:domain n0:Signal; rdfs:isDefinedBy n1:aco; rdfs:label "audio feature"; rdfs:range n2:AudioFeature; owl:propertyChainAxiom [ rdf:first n0:isEncodedBy; rdf:rest [ rdf:first n0:signalAudioFeature; rdf:rest rdf:nil ] ]. n0:AudioFile a owl:Class; rdfs:comment "A concrete audio file (encoded in some format)"; rdfs:isDefinedBy n1:aco; rdfs:label "Audio file"; rdfs:subClassOf ebu:MediaResource, n0:AudioItem. n0:AudioItem a owl:Class; rdfs:comment """A concrete exemplar of an audio manifestation (e.g., a copy of a CD or a specific media file). """; rdfs:isDefinedBy n1:aco; rdfs:label "Audio item"; rdfs:subClassOf core:Item. n0:AudioManifestation a owl:Class; rdfs:comment """The physical embodiment of an audio expression (e.g., a musical track, a sound, an album). """; rdfs:isDefinedBy n1:aco; rdfs:label "Audio manifestation"; rdfs:subClassOf core:Manifestation, cc:Work. n0:audioMd5 a owl:DatatypeProperty, owl:FunctionalProperty; rdfs:comment """MD5 checksum computed on the audio content of the file. """; rdfs:domain n0:AudioFile; rdfs:isDefinedBy n1:aco; rdfs:label "audio MD5 checksum"; rdfs:range xsd:string. n0:AudioPublication a owl:Class; rdfs:comment "The act of publishing some audio content as an audio manifestation."; rdfs:isDefinedBy n1:aco; rdfs:label "Audio publication"; rdfs:subClassOf eve:Event. n0:author a owl:ObjectProperty; rdfs:comment """Used to relate a person or a group of people who authored an audio manifestation. """; rdfs:domain foaf:Agent; rdfs:isDefinedBy n1:aco; rdfs:label "author"; rdfs:range n0:AudioManifestation. n0:availableAs a owl:ObjectProperty; rdfs:comment """Relates an audio manifestation to an audio item (e.g., a media file). """; rdfs:domain n0:AudioManifestation; rdfs:isDefinedBy n1:aco; rdfs:label "available as"; rdfs:range n0:AudioItem; rdfs:subPropertyOf core:exemplar. n0:availableItemOf a owl:ObjectProperty; rdfs:comment """Relates an audio item (e.g., a media file) to the corresponding audio manifestation. """; rdfs:domain n0:AudioItem; rdfs:isDefinedBy n1:aco; rdfs:label "available item of"; rdfs:range n0:AudioManifestation; rdfs:subPropertyOf core:exemplarOf; owl:inverseOf n0:availableAs. n0:bitsPerSample a owl:DatatypeProperty, owl:FunctionalProperty; rdfs:comment """Associates a digital signal to the number of bits used to encode one sample. """; rdfs:domain n0:DigitalSignal; rdfs:isDefinedBy n1:aco; rdfs:label "bits per sample"; rdfs:range xsd:int. n0:channels a owl:DatatypeProperty, owl:FunctionalProperty; rdfs:comment """Associates a signal to the number of channels it holds (mono \u2192 1, stereo \u2192 2). """; rdfs:domain n0:DigitalSignal; rdfs:isDefinedBy n1:aco; rdfs:label "channels"; rdfs:range xsd:int; owl:propertyChainAxiom [ rdf:first n0:isEncodedBy; rdf:rest [ rdf:first n0:signalChannels; rdf:rest rdf:nil ] ]. n0:collectionAsList a owl:FunctionalProperty, owl:ObjectProperty; rdfs:comment "Convenience alias of ac:firstNode to attache an ac:AudioCollection to an rdf:List that holds the members"; rdfs:domain n0:AudioCollection; rdfs:isDefinedBy n1:aco; rdfs:label "collection as list"; rdfs:range rdf:List; owl:equivalentProperty n0:firstNode. n0:compiled a owl:ObjectProperty; rdfs:comment """Used to relate a person or a group of people who compiled an audio manifestation. """; rdfs:domain foaf:Agent; rdfs:isDefinedBy n1:aco; rdfs:label "compiled"; rdfs:range n0:AudioManifestation. n0:containerNode a owl:ObjectProperty; rdfs:comment "Associates an audio manifestation with the collection nodes that contain it."; rdfs:domain n0:AudioManifestation; rdfs:isDefinedBy n1:aco; rdfs:label "container node"; rdfs:range n0:AudioCollectionNode; owl:inverseOf n0:nodeContent. n0:defaultContainerNode a owl:FunctionalProperty, owl:ObjectProperty; rdfs:comment "Associates an audio manifestation with a node in the default parent collection (e.g., a musical track to the album it has been published it), if there is such a thing."; rdfs:domain n0:AudioManifestation; rdfs:isDefinedBy n1:aco; rdfs:label "default container node"; rdfs:range n0:AudioCollectionNode; rdfs:subPropertyOf n0:containerNode. n0:DigitalSignal a owl:Class; rdfs:comment "A digital signal."; rdfs:isDefinedBy n1:aco; rdfs:label "Digital signal"; rdfs:subClassOf n0:Signal; owl:disjointWith n0:AnalogSignal. n0:duration a owl:DatatypeProperty, owl:FunctionalProperty; rdfs:comment "The duration of an audio clip or a signal in ms."; rdfs:domain [ a owl:Class; owl:unionOf [ rdf:first n0:AudioClip; rdf:rest [ rdf:first n0:Signal; rdf:rest rdf:nil ] ] ]; rdfs:isDefinedBy n1:aco; rdfs:label "duration"; rdfs:range xsd:float; owl:propertyChainAxiom [ rdf:first n0:isEncodedBy; rdf:rest [ rdf:first n0:signalDuration; rdf:rest rdf:nil ] ]. n0:encodes a owl:FunctionalProperty, owl:ObjectProperty; rdfs:comment """Associates a MusicalItem (a track on a particular CD, an audio file, a stream somewhere) to the signal it encodes. """; rdfs:domain n0:AudioItem; rdfs:isDefinedBy n1:aco; rdfs:label "encodes"; rdfs:range n0:DigitalSignal. n0:firstNode a owl:FunctionalProperty, owl:ObjectProperty; rdfs:comment "Associates an audio collection to its first node."; rdfs:domain n0:AudioCollection; rdfs:isDefinedBy n1:aco; rdfs:label "first node"; rdfs:range n0:AudioCollectionFirstNode; rdfs:subPropertyOf n0:memberNode. n0:homepage a owl:ObjectProperty; rdfs:comment """Links a sound, an artist, a record, etc. to a corresponding webpage. """; rdfs:domain owl:Thing; rdfs:isDefinedBy n1:aco; rdfs:label "homepage"; rdfs:range foaf:Document; rdfs:subPropertyOf foaf:isPrimaryTopicOf, schem:subjectOf. n0:image a owl:ObjectProperty; rdfs:comment """Indicates a pictorial image (JPEG, GIF, PNG, Etc.) associated to a sound, an artist, a record, etc. """; rdfs:domain owl:Thing; rdfs:isDefinedBy n1:aco; rdfs:label "image"; rdfs:range ebu:Picture, foaf:Image; rdfs:subPropertyOf ebu:hasRelatedPicture, foaf:depiction. n0:isEncodedBy a owl:ObjectProperty; rdfs:comment """Associates a signal to a MusicalItem (a track on a particular CD, an audio file, a stream somewhere) that encodes it. """; rdfs:domain n0:DigitalSignal; rdfs:isDefinedBy n1:aco; rdfs:label "is encoded by"; rdfs:range n0:AudioItem; owl:inverseOf n0:encodes. n0:lastNode a owl:FunctionalProperty, owl:ObjectProperty; rdfs:comment "Associates an audio collection to its last node."; rdfs:domain n0:AudioCollection; rdfs:isDefinedBy n1:aco; rdfs:label "last node"; rdfs:range n0:AudioCollectionLastNode; rdfs:subPropertyOf n0:memberNode. n0:memberNode a owl:InverseFunctionalProperty, owl:ObjectProperty; rdfs:comment "Associates an audio collection to its nodes."; rdfs:domain n0:AudioCollection; rdfs:isDefinedBy n1:aco; rdfs:label "member node"; rdfs:range n0:AudioCollectionNode; owl:propertyChainAxiom [ rdf:first n0:memberNode; rdf:rest [ rdf:first n0:nextNode; rdf:rest rdf:nil ] ]. n0:nextNode a owl:FunctionalProperty, owl:ObjectProperty; rdfs:comment "Associates a node with the next node in the collection."; rdfs:domain n0:AudioCollectionNonLastNode; rdfs:isDefinedBy n1:aco; rdfs:label "next node"; rdfs:range n0:AudioCollectionNonFirstNode; rdfs:subPropertyOf rdf:rest; owl:inverseOf n0:previousNode. n0:nodeContent a owl:FunctionalProperty, owl:ObjectProperty; rdfs:comment "Associates a node with the actual content (an audio manifestation)."; rdfs:domain n0:AudioCollectionNode; rdfs:isDefinedBy n1:aco; rdfs:label "node content"; rdfs:range n0:AudioManifestation; rdfs:subPropertyOf rdf:first. n0:nodeIndex a owl:DatatypeProperty, owl:FunctionalProperty; rdfs:comment "Associates a node with its position in the collection."; rdfs:domain n0:AudioCollectionNode; rdfs:isDefinedBy n1:aco; rdfs:label "node index"; rdfs:range xsd:int. n0:originalFile a owl:FunctionalProperty, owl:ObjectProperty; rdfs:comment """Relates an audio clip to the original published audio file (if there is such thing). """; rdfs:domain n0:AudioClip; rdfs:isDefinedBy n1:aco; rdfs:label "original file"; rdfs:range n0:AudioFile; rdfs:subPropertyOf n0:availableAs. n0:previousNode a owl:FunctionalProperty, owl:ObjectProperty; rdfs:comment "Associates a node with the previous node in the collection."; rdfs:domain n0:AudioCollectionNonFirstNode; rdfs:isDefinedBy n1:aco; rdfs:label "previous node"; rdfs:range n0:AudioCollectionNonLastNode; owl:inverseOf n0:nextNode. n0:producedSignal a owl:ObjectProperty; rdfs:comment "Associates a signal production event to the produced signal."; rdfs:domain n0:SignalProduction; rdfs:isDefinedBy n1:aco; rdfs:label "produced signal"; rdfs:range n0:Signal. n0:productionFrom a owl:ObjectProperty; rdfs:comment """Associates a signal production act to a sound from which the signal was produced (e.g., if recording, the recorded sound). """; rdfs:domain n0:SignalProduction; rdfs:isDefinedBy n1:aco; rdfs:label "production from"; rdfs:range n0:Sound. n0:publicationOf a owl:ObjectProperty; rdfs:comment """Link a particular manifestation to the related expression (e.g., a signal or a sound). """; rdfs:domain n0:AudioManifestation; rdfs:isDefinedBy n1:aco; rdfs:label "publication of"; rdfs:range n0:AudioExpression; rdfs:subPropertyOf core:embodimentOf. n0:published a owl:ObjectProperty; rdfs:comment """Used to relate a person or a group of people who published an audio manifestation. """; rdfs:domain foaf:Agent; rdfs:isDefinedBy n1:aco; rdfs:label "published"; rdfs:range n0:AudioManifestation. n0:publishedAs a owl:ObjectProperty; rdfs:comment """Link an expression to its publication as manifestation. """; rdfs:domain n0:AudioExpression; rdfs:isDefinedBy n1:aco; rdfs:label "published as"; rdfs:range n0:AudioManifestation; rdfs:subPropertyOf core:embodiment; owl:inverseOf n0:publicationOf. n0:publishedAudioManifestation a owl:ObjectProperty; rdfs:comment "Associates a publishing act to the audio manifestation."; rdfs:domain n0:AudioPublication; rdfs:isDefinedBy n1:aco; rdfs:label "published audio manifestation"; rdfs:range n0:AudioManifestation. n0:Recording a owl:Class; rdfs:comment "The act of recording some sound to produce a signal."; rdfs:isDefinedBy n1:aco; rdfs:label "Recording"; rdfs:subClassOf n0:SignalProduction. n0:recordingOf a owl:ObjectProperty; rdfs:comment "Associates a recording act to the recorded (physical) sound."; rdfs:domain n0:Recording; rdfs:isDefinedBy n1:aco; rdfs:label "recording of"; rdfs:range n0:Sound; rdfs:subPropertyOf n0:productionFrom. n0:sampleRate a owl:DatatypeProperty, owl:FunctionalProperty; rdfs:comment "Associates a digital signal to its sample rate."; rdfs:domain n0:DigitalSignal; rdfs:isDefinedBy n1:aco; rdfs:label "sample rate"; rdfs:range xsd:float; owl:propertyChainAxiom [ rdf:first n0:isEncodedBy; rdf:rest [ rdf:first n0:signalSampleRate; rdf:rest rdf:nil ] ]. n0:Signal a owl:Class; rdfs:comment """A subclass of AudioExpression, representing a signal, for example a master signal produced by a performance and a recording. """; rdfs:isDefinedBy n1:aco; rdfs:label "Signal"; rdfs:subClassOf n0:AudioExpression. n0:signalAudioFeature a owl:ObjectProperty; rdfs:comment """Associates the signal encoded by an audio item to an extracted audio feature. Shortcut for ac:encodes/ac:audioFeature """; rdfs:domain n0:AudioItem, [ a owl:Restriction; owl:cardinality "1"^^xsd:nonNegativeInteger; owl:onProperty n0:encodes ]; rdfs:isDefinedBy n1:aco; rdfs:label "signal audio feature"; rdfs:range n2:AudioFeature; owl:propertyChainAxiom [ rdf:first n0:encodes; rdf:rest [ rdf:first n0:audioFeature; rdf:rest rdf:nil ] ]. n0:signalChannels a owl:DatatypeProperty, owl:FunctionalProperty; rdfs:comment """The number of channels the digital signal holds (mono \u2192 1, stereo \u2192 2). Shortcut for ac:encodes/ac:channels """; rdfs:domain n0:AudioItem, [ a owl:Restriction; owl:cardinality "1"^^xsd:nonNegativeInteger; owl:onProperty n0:encodes ]; rdfs:isDefinedBy n1:aco; rdfs:label "signal channels"; rdfs:range xsd:int; owl:propertyChainAxiom [ rdf:first n0:encodes; rdf:rest [ rdf:first n0:channels; rdf:rest rdf:nil ] ]. n0:signalDuration a owl:DatatypeProperty, owl:FunctionalProperty; rdfs:comment """The duration of the signal in ms. Shortcut for ac:encodes/ac:duration """; rdfs:domain n0:AudioItem, [ a owl:Restriction; owl:cardinality "1"^^xsd:nonNegativeInteger; owl:onProperty n0:encodes ]; rdfs:isDefinedBy n1:aco; rdfs:label "signal duration"; rdfs:range xsd:float; owl:propertyChainAxiom [ rdf:first n0:encodes; rdf:rest [ rdf:first n0:duration; rdf:rest rdf:nil ] ]. n0:SignalProduction a owl:Class; rdfs:comment """The act of producing a signal (e.g., through a recording or a synthesis). """; rdfs:isDefinedBy n1:aco; rdfs:label "Signal production"; rdfs:subClassOf eve:Event. n0:signalSampleRate a owl:DatatypeProperty, owl:FunctionalProperty; rdfs:comment """The sample rate of the digital signal. Shortcut for ac:encodes/ac:sampleRate """; rdfs:domain n0:AudioItem, [ a owl:Restriction; owl:cardinality "1"^^xsd:nonNegativeInteger; owl:onProperty n0:encodes ]; rdfs:isDefinedBy n1:aco; rdfs:label "signal sample rate"; rdfs:range xsd:float; owl:propertyChainAxiom [ rdf:first n0:encodes; rdf:rest [ rdf:first n0:sampleRate; rdf:rest rdf:nil ] ]. n0:Sound a owl:Class; rdfs:comment "A subclass of AudioExpression, representing a (physical) sound."; rdfs:isDefinedBy n1:aco; rdfs:label "Physical sound"; rdfs:subClassOf n0:AudioExpression. n0:Syntesis a owl:Class; rdfs:comment "The act of synthesizing a signal."; rdfs:isDefinedBy n1:aco; rdfs:label "Syntesis"; rdfs:subClassOf n0:SignalProduction. rdfs:label "George Fazekas"; foaf:name "George Fazekas". rdfs:label "Miguel Ceriani"; foaf:name "Miguel Ceriani".