Nepomuk MultiMedia (NMM)

Description of multimedia objects like Music, Video and Images

@prefix nmm: <http://tracker.api.gnome.org/ontology/v3/nmm#>

The following classes are defined:

AnalogRadio, Artist, DigitalRadio, Flash, ImageList, MeteringMode, Movie, MusicAlbum, MusicAlbumDisc, MusicPiece, Photo, Playlist, RadioModulation, RadioStation, SynchronizedText, TVSeason, TVSeries, TVShow, Video, WhiteBalance

Overview

Introduction

This ontology extends NIE (Nepomuk Information Element ontology) and NFO (Nepomuk File Ontology) into the domains of multimedia, including Images, Videos, Music and Radio, and includes a couple of properties to support uPnP sharing.

This ontology replaces/complements NID3 and NEXIF. Those ontologies are a direct map of the respective metadata standards, which makes very difficult to map cleanly other standards (like gstreamer metadata, mp4, ogg, and so on). Besides, those ontologies contain a lot of very low level technical information that is useless to the average user of the desktop.

Our approach in NMM is to keep the minimum properties that make sense for the user, and are present in all (or almost all) specific metadata formats. A profesional photographer (or musician) who needs more fine-grained details for its documents, is free to add also nID3 information or other extensions to the ontology.

Images domain

The core of images in NMM ontology is the class nmm:Photo. It is (through a long hierarchy) a nie:InformationElement, an interpretation of some bytes. It has properties to store the basic information (camera, metering mode, white balance, flash), and inherits from nfo:Image orientation (nfo:orientation) and resolution (nfo:verticalResolution and nfo:horizontalResolution).

Note that for tags, nie:keywords (from nie:InformationElement) can be used, or the NAO ontology.

Radio domain

NMM includes classes and properties to represent analog and digital radio stations. There is a class nmm:RadioStation on the nie:InformationElement side of the ontology, representing what the user sees about that station (genre via PTY codes, icon, plus title inherited from nie:InformationElement)

A nmm:RadioStation can have one or more nmm:carrier properties representing the different frequencies (or links when it is digitial) it can be tuned. This property links the station with nfo:MediaStream, but usually it will point to one of the subclasses: nmm:DigitalRadio (if digital) or nmm:AnalogRadio (if analog). An analog station has properties as modulation and frequency, while the digial station has streaming bitrate, encoding or protocol.

Note that nfo:MediaStream refers to a flux of bytes/data, and it is on the nie:DataObject side of the ontology.

Classes

AnalogRadio

FM Radio carrier signal data. Basically the frequency

Class hierarchy

G nmm:AnalogRadio nmm:AnalogRadio nfo:MediaStream nfo:MediaStream nfo:MediaStream--nmm:AnalogRadio nie:DataObject nie:DataObject nie:DataObject--nfo:MediaStream rdfs:Resource rdfs:Resource rdfs:Resource--nie:DataObject

RDF Diagram

G nmm:AnalogRadio nmm:AnalogRadio nmm:RadioModulation nmm:RadioModulation nmm:AnalogRadio->nmm:RadioModulation nmm:modulation

Properties

Name Type Notes Description
frequency integer Frequency in the Radio spectrum in Khz (note that usually FM frequencies are in MHz)
modulation RadioModulation Modulation used in the frequency (AM or FM)

Artist

An artist.

Note: This class emits notifications about changes, and can be monitored using TrackerNotifier.

Class hierarchy

G nmm:Artist nmm:Artist nco:Role nco:Role nco:Role--nmm:Artist rdfs:Resource rdfs:Resource rdfs:Resource--nco:Role nie:InformationElement nie:InformationElement rdfs:Resource--nie:InformationElement nie:InformationElement--nmm:Artist

RDF Diagram

G nmm:Artist nmm:Artist nmm:MusicAlbum nmm:MusicAlbum nmm:MusicAlbum->nmm:Artist nmm:albumArtist nmm:MusicPiece nmm:MusicPiece nmm:MusicPiece->nmm:Artist nmm:artist nmm:MusicPiece->nmm:Artist nmm:composer nmm:MusicPiece->nmm:Artist nmm:lyricist nmm:MusicPiece->nmm:Artist nmm:performer nmm:Video nmm:Video nmm:Video->nmm:Artist nmm:director nmm:Video->nmm:Artist nmm:leadActor nmm:Video->nmm:Artist nmm:producedBy

Properties

Name Type Notes Description
artistName string Name of the artist

DigitalRadio

Online Radio Stream data object (i.e. as a raw flow of bytes)

Class hierarchy

G nmm:DigitalRadio nmm:DigitalRadio nfo:MediaStream nfo:MediaStream nfo:MediaStream--nmm:DigitalRadio nie:DataObject nie:DataObject nie:DataObject--nfo:MediaStream rdfs:Resource rdfs:Resource rdfs:Resource--nie:DataObject

Properties

Name Type Notes Description
encoding string Encoding of the radio. It is a property of the streaming, that it is known before hand, so the applications can choose the encoding they understand.
protocol string Protocol used for the streaming (HTTP, RTSP)
streamingBitrate integer Bitrate indicating the quality of the stream in Kbits (usual values 32, 64, 128…)

Flash

Enumeration of the possible values of flash property

Class hierarchy

G nmm:Flash nmm:Flash rdfs:Resource rdfs:Resource rdfs:Resource--nmm:Flash

RDF Diagram

G nmm:Flash nmm:Flash nmm:Photo nmm:Photo nmm:Photo->nmm:Flash nmm:flash

Predefined instances

nmm:Flash has the following predefined instances:

  • nmm:flash-off
  • nmm:flash-on

ImageList

An album of images

Note: This class emits notifications about changes, and can be monitored using TrackerNotifier.

Class hierarchy

G nmm:ImageList nmm:ImageList nfo:MediaList nfo:MediaList nfo:MediaList--nmm:ImageList nie:InformationElement nie:InformationElement nie:InformationElement--nfo:MediaList rdfs:Resource rdfs:Resource rdfs:Resource--nie:InformationElement

MeteringMode

Enumeration of different ways a camera determines exposure.

Class hierarchy

G nmm:MeteringMode nmm:MeteringMode rdfs:Resource rdfs:Resource rdfs:Resource--nmm:MeteringMode

RDF Diagram

G nmm:MeteringMode nmm:MeteringMode nmm:Photo nmm:Photo nmm:Photo->nmm:MeteringMode nmm:meteringMode

Predefined instances

nmm:MeteringMode has the following predefined instances:

  • nmm:metering-mode-average
  • nmm:metering-mode-center-weighted-average
  • nmm:metering-mode-multispot
  • nmm:metering-mode-other
  • nmm:metering-mode-partial
  • nmm:metering-mode-pattern
  • nmm:metering-mode-spot

Movie

A Movie

Class hierarchy

G nmm:Movie nmm:Movie nfo:Media nfo:Media nfo:Media--nmm:Movie nfo:Visual nfo:Visual nfo:Media--nfo:Visual nie:InformationElement nie:InformationElement nie:InformationElement--nmm:Movie nie:InformationElement--nfo:Media rdfs:Resource rdfs:Resource rdfs:Resource--nie:InformationElement nfo:Video nfo:Video nfo:Video--nmm:Movie nfo:Visual--nmm:Movie nfo:Visual--nfo:Video

MusicAlbum

The music album as provided by the publisher. Not to be confused with media lists or collections

Note: This class emits notifications about changes, and can be monitored using TrackerNotifier.

Class hierarchy

G nmm:MusicAlbum nmm:MusicAlbum nfo:MediaList nfo:MediaList nfo:MediaList--nmm:MusicAlbum nie:InformationElement nie:InformationElement nie:InformationElement--nfo:MediaList rdfs:Resource rdfs:Resource rdfs:Resource--nie:InformationElement

RDF Diagram

G nmm:MusicAlbum nmm:MusicAlbum nmm:Artist nmm:Artist nmm:MusicAlbum->nmm:Artist nmm:albumArtist nmm:MusicAlbumDisc nmm:MusicAlbumDisc nmm:MusicAlbumDisc->nmm:MusicAlbum nmm:albumDiscAlbum nmm:MusicPiece nmm:MusicPiece nmm:MusicPiece->nmm:MusicAlbum nmm:musicAlbum

Properties

Name Type Notes Description
albumArtist Artist main artists of the album
albumDuration integer Duration of the album
albumGain integer Gain of album
albumPeakGain integer Peak Gain of album
albumTrackCount integer Track count of album

MusicAlbumDisc

Class hierarchy

G nmm:MusicAlbumDisc nmm:MusicAlbumDisc nie:InformationElement nie:InformationElement nie:InformationElement--nmm:MusicAlbumDisc rdfs:Resource rdfs:Resource rdfs:Resource--nie:InformationElement

RDF Diagram

G nmm:MusicAlbumDisc nmm:MusicAlbumDisc nmm:MusicAlbum nmm:MusicAlbum nmm:MusicAlbumDisc->nmm:MusicAlbum nmm:albumDiscAlbum nmm:MusicPiece nmm:MusicPiece nmm:MusicPiece->nmm:MusicAlbumDisc nmm:musicAlbumDisc

Properties

Name Type Notes Description
albumDiscAlbum MusicAlbum Album of the disc
musicCDIdentifier string Music CD identifier to for databases like FreeDB.org. This frame is intended for music that comes from a CD, so that the CD can be identified in databases such as the CDDB. The frame consists of a binary dump of the Table Of Contents, TOC, from the CD, which is a header of 4 bytes and then 8 bytes/track on the CD plus 8 bytes for the ‘lead out’ making a maximum of 804 bytes. The offset to the beginning of every track on the CD should be described with a four bytes absolute CD-frame address per track, and not with absolute time.
setNumber integer Disc number of album disc

MusicPiece

Used to assign music-specific properties such as BPM to video and audio

Note: This class emits notifications about changes, and can be monitored using TrackerNotifier.

Class hierarchy

G nmm:MusicPiece nmm:MusicPiece nfo:Media nfo:Media nfo:Media--nmm:MusicPiece nie:InformationElement nie:InformationElement nie:InformationElement--nfo:Media rdfs:Resource rdfs:Resource rdfs:Resource--nie:InformationElement

RDF Diagram

G nmm:MusicPiece nmm:MusicPiece nmm:Artist nmm:Artist nmm:MusicPiece->nmm:Artist nmm:artist nmm:MusicPiece->nmm:Artist nmm:composer nmm:MusicPiece->nmm:Artist nmm:lyricist nmm:MusicPiece->nmm:Artist nmm:performer nmm:SynchronizedText nmm:SynchronizedText nmm:MusicPiece->nmm:SynchronizedText nmm:lyrics nmm:MusicAlbum nmm:MusicAlbum nmm:MusicPiece->nmm:MusicAlbum nmm:musicAlbum nmm:MusicAlbumDisc nmm:MusicAlbumDisc nmm:MusicPiece->nmm:MusicAlbumDisc nmm:musicAlbumDisc

Properties

Name Type Notes Description
artist Artist main artist of the MusicPiece
beatsPerMinute integer beats per minute
composer Artist Composer
internationalStandardRecordingCode string ISRC ID. Format: ‘CC-XXX-YY-NNNNN
lyricist Artist Lyricist
lyrics SynchronizedText
musicAlbum MusicAlbum album the music belongs to
musicAlbumDisc MusicAlbumDisc album disc the music belongs to
performer Artist Performer
trackNumber integer Track number of the music in its album

Photo

A photo

Note: This class emits notifications about changes, and can be monitored using TrackerNotifier.

Class hierarchy

G nmm:Photo nmm:Photo nfo:Image nfo:Image nfo:Image--nmm:Photo nfo:Visual nfo:Visual nfo:Visual--nfo:Image nfo:Media nfo:Media nfo:Media--nfo:Visual nie:InformationElement nie:InformationElement nie:InformationElement--nfo:Media rdfs:Resource rdfs:Resource rdfs:Resource--nie:InformationElement

RDF Diagram

G nmm:Photo nmm:Photo nmm:Flash nmm:Flash nmm:Photo->nmm:Flash nmm:flash nmm:MeteringMode nmm:MeteringMode nmm:Photo->nmm:MeteringMode nmm:meteringMode nmm:WhiteBalance nmm:WhiteBalance nmm:Photo->nmm:WhiteBalance nmm:whiteBalance

Properties

Name Type Notes Description
exposureTime double Exposure time of the photo
flash Flash Specifies whether flash was used
fnumber double The diameter of the entrance pupil in terms of the focal length of the lens
focalLength double A measure of how strongly the lens converges light
isColorCorrected boolean
isCropped boolean
isoSpeed double Measure of a photographic film’s sensitivity to light as ISO value
meteringMode MeteringMode Metering mode refers to the way in which a camera determines the exposure.
whiteBalance WhiteBalance

Playlist

Specific class to split MediaList in Albums and playlists.

Note: This class emits notifications about changes, and can be monitored using TrackerNotifier.

Class hierarchy

G nmm:Playlist nmm:Playlist nfo:MediaList nfo:MediaList nfo:MediaList--nmm:Playlist nie:InformationElement nie:InformationElement nie:InformationElement--nfo:MediaList rdfs:Resource rdfs:Resource rdfs:Resource--nie:InformationElement

RadioModulation

Set of instances for analog radio modulation

Class hierarchy

G nmm:RadioModulation nmm:RadioModulation rdfs:Resource rdfs:Resource rdfs:Resource--nmm:RadioModulation

RDF Diagram

G nmm:RadioModulation nmm:RadioModulation nmm:AnalogRadio nmm:AnalogRadio nmm:AnalogRadio->nmm:RadioModulation nmm:modulation

Predefined instances

nmm:RadioModulation has the following predefined instances:

  • nmm:radio-modulation-am
  • nmm:radio-modulation-fm

RadioStation

The Radio station in user terms: BBC3, Radio5, YLEX, … It is linked with 1 or more carriers (different FM frenquencies, online sources in different qualities, etc.). Some RDS information is represented with nie properties, nie:identifier for PI, nie:title for PS

Note: This class emits notifications about changes, and can be monitored using TrackerNotifier.

Class hierarchy

G nmm:RadioStation nmm:RadioStation nfo:Audio nfo:Audio nfo:Audio--nmm:RadioStation nfo:Media nfo:Media nfo:Media--nfo:Audio nie:InformationElement nie:InformationElement nie:InformationElement--nfo:Media rdfs:Resource rdfs:Resource rdfs:Resource--nie:InformationElement

RDF Diagram

G nmm:RadioStation nmm:RadioStation nfo:MediaStream nfo:MediaStream nmm:RadioStation->nfo:MediaStream nmm:carrier nfo:Image nfo:Image nmm:RadioStation->nfo:Image nmm:radioIcon

Properties

Name Type Notes Description
carrier MediaStream Signal where a radio can be tuned in. There can be more than one.
radioIcon Image Image used as logo for a radio station
radioPTY integer PTY Code (content description) as integer. RDS specs define the translations into human readable descriptions for various languages

SynchronizedText

Class hierarchy

G nmm:SynchronizedText nmm:SynchronizedText nfo:PlainTextDocument nfo:PlainTextDocument nfo:PlainTextDocument--nmm:SynchronizedText nfo:TextDocument nfo:TextDocument nfo:TextDocument--nfo:PlainTextDocument nfo:Document nfo:Document nfo:Document--nfo:TextDocument nie:InformationElement nie:InformationElement nie:InformationElement--nfo:Document rdfs:Resource rdfs:Resource rdfs:Resource--nie:InformationElement

RDF Diagram

G nmm:SynchronizedText nmm:SynchronizedText nmm:MusicPiece nmm:MusicPiece nmm:MusicPiece->nmm:SynchronizedText nmm:lyrics nmm:Video nmm:Video nmm:Video->nmm:SynchronizedText nmm:subtitle

Properties

Name Type Notes Description
isForHearingImpaired boolean Does text stream contain helper tags for hearing-impaired such as <steps in hallway>

TVSeason

A season of a TV show

Class hierarchy

G nmm:TVSeason nmm:TVSeason nie:InformationElement nie:InformationElement nie:InformationElement--nmm:TVSeason rdfs:Resource rdfs:Resource rdfs:Resource--nie:InformationElement

RDF Diagram

G nmm:TVSeason nmm:TVSeason nmm:TVShow nmm:TVShow nmm:TVSeason->nmm:TVShow nmm:hasSeasonEpisode nmm:TVSeries nmm:TVSeries nmm:TVSeason->nmm:TVSeries nmm:seasonOf nmm:TVShow->nmm:TVSeason nmm:isPartOfSeason nmm:TVSeries->nmm:TVSeason nmm:hasSeason

Properties

Name Type Notes Description
hasSeasonEpisode TVShow Relates a TV Show season to its episodes
seasonNumber integer The number of a season
seasonOf TVSeries Relates a TV Season to its series

TVSeries

A TV Series has multiple seasons and episodes

Class hierarchy

G nmm:TVSeries nmm:TVSeries nie:InformationElement nie:InformationElement nie:InformationElement--nmm:TVSeries rdfs:Resource rdfs:Resource rdfs:Resource--nie:InformationElement

RDF Diagram

G nmm:TVSeries nmm:TVSeries nmm:TVShow nmm:TVShow nmm:TVSeries->nmm:TVShow nmm:hasEpisode nmm:TVSeason nmm:TVSeason nmm:TVSeries->nmm:TVSeason nmm:hasSeason nmm:TVShow->nmm:TVSeries nmm:series nmm:TVSeason->nmm:TVSeries nmm:seasonOf

Properties

Name Type Notes Description
hasEpisode TVShow A TVSeries has many episodes
hasSeason TVSeason Relates a TV Series to its seasons

TVShow

A TV show

Class hierarchy

G nmm:TVShow nmm:TVShow nfo:Media nfo:Media nfo:Media--nmm:TVShow nfo:Visual nfo:Visual nfo:Media--nfo:Visual nie:InformationElement nie:InformationElement nie:InformationElement--nmm:TVShow nie:InformationElement--nfo:Media rdfs:Resource rdfs:Resource rdfs:Resource--nie:InformationElement nfo:Video nfo:Video nfo:Video--nmm:TVShow nfo:Visual--nmm:TVShow nfo:Visual--nfo:Video

RDF Diagram

G nmm:TVShow nmm:TVShow nmm:TVSeason nmm:TVSeason nmm:TVShow->nmm:TVSeason nmm:isPartOfSeason nmm:TVSeries nmm:TVSeries nmm:TVShow->nmm:TVSeries nmm:series nmm:TVSeason->nmm:TVShow nmm:hasSeasonEpisode nmm:TVSeries->nmm:TVShow nmm:hasEpisode

Properties

Name Type Notes Description
episodeNumber integer Episode number of a TV show
isPartOfSeason TVSeason Relates a TV Show to its season
series TVSeries Relates a TV Show to its TV series

Video

Note: This class emits notifications about changes, and can be monitored using TrackerNotifier.

Class hierarchy

G nmm:Video nmm:Video nfo:Audio nfo:Audio nfo:Audio--nmm:Video nfo:Media nfo:Media nfo:Media--nfo:Audio nfo:Visual nfo:Visual nfo:Media--nfo:Visual nie:InformationElement nie:InformationElement nie:InformationElement--nfo:Media rdfs:Resource rdfs:Resource rdfs:Resource--nie:InformationElement nfo:Video nfo:Video nfo:Video--nmm:Video nfo:Visual--nfo:Video

RDF Diagram

G nmm:Video nmm:Video nmm:Artist nmm:Artist nmm:Video->nmm:Artist nmm:director nmm:Video->nmm:Artist nmm:leadActor nmm:Video->nmm:Artist nmm:producedBy nmm:SynchronizedText nmm:SynchronizedText nmm:Video->nmm:SynchronizedText nmm:subtitle

Properties

Name Type Notes Description
MPAARating string
category string
director Artist
hasSubtitle boolean
isContentEncrypted boolean
leadActor Artist
producedBy Artist
runTime integer
subtitle SynchronizedText
synopsis string Long form description of video content (plot, premise, etc.)

WhiteBalance

Camera’s white balance setting

Class hierarchy

G nmm:WhiteBalance nmm:WhiteBalance rdfs:Resource rdfs:Resource rdfs:Resource--nmm:WhiteBalance

RDF Diagram

G nmm:WhiteBalance nmm:WhiteBalance nmm:Photo nmm:Photo nmm:Photo->nmm:WhiteBalance nmm:whiteBalance

Predefined instances

nmm:WhiteBalance has the following predefined instances:

  • nmm:white-balance-auto
  • nmm:white-balance-manual

Additional properties for nfo:Media

Properties this ontology defines which can describe nfo:Media resources.

Name Type Notes Description
alternativeMedia Media Link between to different version of the same media. This is used for instances in uPnp where the server can provide the same video in different resolutions and codecs
artwork Image Associated Artwork
dlnaMime string Mimetypes as defined for DLNA (occasional differences compared to xdg-mime)
dlnaProfile string DLNA profile of the content, like MP3, MPEG_TS_HD_US, LPCM etc
genre string
skipCounter integer
uPnPShared boolean Tells the uPnP MediaServer (e.g. Rygel) whether to export/share the resource or not

Credits and Copyright

Authors:

  • Urho Konttori <urho.konttori@nokia.com>

Editors:

  • Ivan Frade <ivan.frade@nokia.com>
  • Urho Konttori <urho.konttori@nokia.com>

Upstream: Not available

ChangeLog: Tracker changes