Chord Ontology (ChordOntology)¶
The Chord Ontology is a formal representation for describing and classifying chords and chord sequences in musical resources. It provides a structured vocabulary for representing harmonic concepts and chord structures, enabling semantic annotation and analysis of music data. The ontology captures core chord properties including chord type (for example major, minor, diminished, and augmented), root note, constituent intervals, and bass note. It supports the annotation of audio files, musical scores, and symbolic music files by linking chord events to temporal structures and music resources. The ontology was developed within the OMRAS2 project and is designed to interoperate with related Semantic Web resources such as the Music Ontology, Timeline Ontology, and Event Ontology. By formalizing chord relationships and structures, the Chord Ontology supports computational music analysis, harmonic annotation, music information retrieval, and digital musicology applications. It provides a common framework for music annotation across datasets and tools, supporting harmonic analysis, corpus annotation, and music information systems development [1] [2] [3].
Example Usage: Annotate the harmonic timeline of an audio recording, musical score, or symbolic music file with Chord Ontology terms for chord events, root notes, intervals, and bass notes to enable semantic search, computational harmonic analysis, and integration with music information retrieval datasets and tools [1] [2].
Metrics & Statistics¶
Total Nodes |
196 |
Total Edges |
456 |
Root Nodes |
11 |
Leaf Nodes |
66 |
Classes |
9 |
Individuals |
108 |
Properties |
0 |
Maximum Depth |
4 |
Minimum Depth |
0 |
Average Depth |
1.19 |
Depth Variance |
0.77 |
Maximum Breadth |
31 |
Minimum Breadth |
1 |
Average Breadth |
11.60 |
Breadth Variance |
109.44 |
Term Types |
42 |
Taxonomic Relations |
4 |
Non-taxonomic Relations |
0 |
Average Terms per Type |
10.50 |
Usage Example¶
Use the following code to import this ontology programmatically:
from ontolearner.ontology import ChordOntology
ontology = ChordOntology()
ontology.load("path/to/ChordOntology-ontology.rdf")
# Extract datasets
data = ontology.extract()
# Access specific relations
term_types = data.term_typings
taxonomic_relations = data.type_taxonomies
non_taxonomic_relations = data.type_non_taxonomic_relations