Nepomuk File Ontology (NFO)

About files and other desktop resources.

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

The following classes are defined:

Application, Archive, ArchiveItem, Attachment, Audio, Bookmark, BookmarkFolder, CompressionType, Cursor, DataContainer, DeletedResource, Document, EBook, EmbeddedFileDataObject, Equipment, Executable, FileDataObject, FileHash, Filesystem, FilesystemImage, Folder, Font, GameImage, HardDiskPartition, HelpDocument, HtmlDocument, Icon, Image, ImageCategory, Media, MediaFileListEntry, MediaList, MediaStream, MindMap, Note, OperatingSystem, Orientation, PaginatedTextDocument, PlainTextDocument, Presentation, RasterImage, RegionOfInterest, RegionOfInterestContent, RemoteDataObject, RemotePortAddress, Software, SoftwareApplication, SoftwareCategory, SoftwareItem, SoftwareService, SourceCode, Spreadsheet, TextDocument, Trash, VectorImage, Video, Visual, WebHistory, Website

Classes

Application

An application

Class hierarchy

Archive

A compressed file. May contain other files or folder inside.

Class hierarchy

Properties

Name Type Notes Description
uncompressedSize integer Uncompressed size of the content of a compressed file.

ArchiveItem

A file entity inside an archive.

Class hierarchy

Properties

Name Type Notes Description
isPasswordProtected boolean States if a given resource is password-protected.

Attachment

A file attached to another data object. Many data formats allow for attachments: emails, vcards, ical events, id3 and exif…

Class hierarchy

Audio

A file containing audio content

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

Class hierarchy

Properties

Name Type Notes Description
audioOffset double Specifies the start offset of this resource within a larger file, such as a single song within a recording of a radio broadcast or a CD rip.
averageAudioBitrate double The average overall bitrate of a media container. (i.e. the size of the piece of media in bits, divided by it’s duration expressed in seconds).
bitsPerSample integer Amount of bits in each audio sample.
channels integer Number of channels. This property is to be used directly if no detailed information is necessary. Otherwise use more detailed subproperties.
frontChannels integer Number of front channels.
gain integer Gain of media
lfeChannels integer Number of Low Frequency Expansion (subwoofer) channels.
peakGain integer Peak Gain of media
rearChannels integer Number of rear channels.
sampleCount integer The amount of samples in an audio clip.
sampleRate double The amount of audio samples per second.
sideChannels integer Number of side channels

Bookmark

A bookmark of a webbrowser. Use nie:title for the name/label, nie:contentCreated to represent the date when the user added the bookmark, and nie:contentLastModified for modifications. nfo:bookmarks to store the link.

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

Class hierarchy

RDF Diagram

Properties

Name Type Notes Description
bookmarks DataObject The address of the linked object. Usually a web URL.
characterPosition integer Character position of the bookmark
pageNumber integer Page linked by the bookmark
streamDuration integer
streamPosition integer Stream position of the bookmark, suitable for e.g. audio books. Expressed in milliseconds

BookmarkFolder

A folder with bookmarks of a webbrowser. Use nfo:containsBookmark to relate Bookmarks. Folders can contain subfolders, use containsBookmarkFolder to relate them.

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

Class hierarchy

RDF Diagram

Properties

Name Type Notes Description
containsBookmark Bookmark The folder contains a bookmark.
containsBookmarkFolder BookmarkFolder The folder contains a bookmark folder.

CompressionType

Type of compression. Instances of this class represent the limited set of values allowed for the nfo:compressionType property.

Class hierarchy

RDF Diagram

Cursor

A Cursor.

Class hierarchy

DataContainer

A superclass for all entities, whose primary purpose is to serve as containers for other data object. They usually don’t have any ‘meaning’ by themselves. Examples include folders, archives and optical disc images.

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

Class hierarchy

RDF Diagram

Predefined instances

nfo:DataContainer has the following predefined instances:

  • nfo:image-category-screenshot

DeletedResource

A file entity that has been deleted from the original source. Usually such entities are stored within various kinds of ‘Trash’ or ‘Recycle Bin’ folders.

Class hierarchy

Properties

Name Type Notes Description
deletionDate dateTime The date and time of the deletion.
originalLocation string The original location of the deleted resource.

Document

A generic document. A common superclass for all documents on the desktop.

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

Class hierarchy

Properties

Name Type Notes Description
tableOfContents string Section titles and figure descriptions of the document.

EBook

Books which can be electronically viewed

Class hierarchy

EmbeddedFileDataObject

A file embedded in another data object. There are many ways in which a file may be embedded in another one. Use this class directly only in cases if none of the subclasses gives a better description of your case.

Class hierarchy

Properties

Name Type Notes Description
encoding string The encoding used for the Embedded File. Examples might include BASE64 or UUEncode

Equipment

The equipment used to create media

Class hierarchy

RDF Diagram

Properties

Name Type Notes Description
equipmentSoftware string The software of the equipment
manufacturer string The manufacturer of the equipment
model string The model of the equipment

Executable

An executable file.

Class hierarchy

FileDataObject

A resource containing a finite sequence of bytes with arbitrary information, that is available to a computer program and is usually based on some kind of durable storage. A file is durable in the sense that it remains available for programs to use after the current program has finished.

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

Class hierarchy

RDF Diagram

Properties

Name Type Notes Description
fileCreated dateTime File creation date
fileLastAccessed dateTime Time when the file was last accessed.
fileLastModified dateTime last modification date
fileName string Name of the file, together with the extension
fileOwner Contact The owner of the file as defined by the file system access rights feature.
fileSize integer The size of the file in bytes. For compressed files it means the size of the packed file, not of the contents. For folders it means the aggregated size of all contained files and folders
hasHash FileHash Links the file with it’s hash value.
permissions string A string containing the permissions of a file. A feature common in many UNIX-like operating systems.
extractorHash string Hash identifying the extractor of the metadata

FileHash

A fingerprint of the file, generated by some hashing function.

Class hierarchy

RDF Diagram

Properties

Name Type Notes Description
hashAlgorithm string Name of the algorithm used to compute the hash value. Examples might include CRC32, MD5, SHA, TTH etc.
hashValue string The actual value of the hash.

Filesystem

A filesystem. Examples of filesystems include hard disk partitions, removable media, but also images thereof stored in files.

Class hierarchy

FilesystemImage

An image of a filesystem. Instances of this class may include CD images, DVD images or hard disk partition images created by various pieces of software (e.g. Norton Ghost)

Class hierarchy

Folder

A folder/directory. Examples of folders include folders on a filesystem and message folders in a mailbox.

Class hierarchy

Font

A font.

Class hierarchy

RDF Diagram

Properties

Name Type Notes Description
fontFamily string The name of the font family.
foundry Contact The foundry, the organization that created the font.

GameImage

A game image. This is a Tracker extension

Class hierarchy

HardDiskPartition

A partition on a hard disk

Class hierarchy

HelpDocument

User guides and similar to assist the user

Class hierarchy

HtmlDocument

A HTML document, may contain links to other files.

Class hierarchy

Icon

An Icon (regardless of whether it’s a raster or a vector icon. A resource representing an icon could have two types (Icon and Raster, or Icon and Vector) if required.

Class hierarchy

Image

A file containing an image.

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

Class hierarchy

RDF Diagram

Properties

Name Type Notes Description
depicts Resource Relates an image to the information elements it depicts.
hasRegionOfInterest RegionOfInterest Link an element with a defined region
horizontalResolution integer Horizontal resolution of an image (if printed). Expressed in DPI.
orientation Orientation
verticalResolution integer Vertical resolution of an Image (if printed). Expressed in DPI

ImageCategory

A image category

Class hierarchy

Predefined instances

nfo:ImageCategory has the following predefined instances:

  • nfo:image-category-screenshot

Media

A piece of media content. This class may be used to express complex media containers with many streams of various media content (both aural and visual).

Class hierarchy

RDF Diagram

Properties

Name Type Notes Description
averageBitrate double The average overall bitrate of a media container. (i.e. the size of the piece of media in bits, divided by it’s duration expressed in seconds).
bitDepth Literal A common superproperty for all properties signifying the amount of bits for an atomic unit of data. Examples of subproperties may include bitsPerSample and bitsPerPixel
bitrateType string The type of the bitrate. Examples may include CBR and VBR.
codec string The name of the codec necessary to decode a piece of media.
compressionType CompressionType The type of the compression. Values include, lossy and lossless.
count integer A common superproperty for all properties signifying the amount of atomic media data units. Examples of subproperties may include sampleCount and frameCount.
duration integer Duration of a media piece, measured in seconds.
encodedBy string The contains the name of the person or organisation that encoded the media
equipment Equipment Equipment used to create the media
genre string Genre of media
hasMediaStream DataObject Connects a media container with a single media stream contained within.
lastPlayedPosition integer Position in the media (in seconds) where the play was paused. Positive number, being 0 the beginning of the media.
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

MediaFileListEntry

A single node in the list of media files contained within an MediaList instance. This class is intended to provide a type all those links have. In valid NRL untyped resources cannot be linked. There are no properties defined for this class but the application may expect rdf:first and rdf:last links. The former points to the DataObject instance, interpreted as Media the latter points at another MediaFileListEntr. At the end of the list there is a link to rdf:nil.

Class hierarchy

RDF Diagram

Properties

Name Type Notes Description
entryUrl string URL to the element in certain position of the list
listPosition double Position of an entry in a list. Double, to optimize the poor insertions

MediaList

A file containing a list of media files.e.g. a playlist

Class hierarchy

RDF Diagram

Properties

Name Type Notes Description
entryCounter integer Number of entries in the list. Optimize some common queries
hasMediaFileListEntry MediaFileListEntry This property is intended to point to an RDF list of MediaFiles.
listDuration integer Sum of the duration of all items in the list. Optimize some common queries. In seconds
mediaListEntry InformationElement A certain item belongs to a media list. This can reflect that a song is in a playlist, an image or video in an Album

MediaStream

A stream of multimedia content, usually contained within a media container such as a movie (containing both audio and video) or a DVD (possibly containing many streams of audio and video). Most common interpretations for such a DataObject include Audio and Video.

Class hierarchy

RDF Diagram

MindMap

A MindMap, created by a mind-mapping utility. Examples might include FreeMind or mind mapper.

Class hierarchy

Note

Usually small document with snippets, reminders or frequenly used content.

Class hierarchy

OperatingSystem

An OperatingSystem

Class hierarchy

Orientation

Orientation enum

Class hierarchy

RDF Diagram

Predefined instances

nfo:Orientation has the following predefined instances:

  • nfo:orientation-bottom
  • nfo:orientation-bottom-mirror
  • nfo:orientation-left
  • nfo:orientation-left-mirror
  • nfo:orientation-right
  • nfo:orientation-right-mirror
  • nfo:orientation-top
  • nfo:orientation-top-mirror

PaginatedTextDocument

A file containing a text document, that is unambiguously divided into pages. Examples might include PDF, DOC, PS’, DVI etc.

Class hierarchy

Properties

Name Type Notes Description
pageCount integer Number of pages.

PlainTextDocument

A file containing plain text (ASCII, Unicode or other encodings). Examples may include TXT, HTML, XML, program source code etc.

Class hierarchy

Presentation

A Presentation made by some presentation software (Corel Presentations, OpenOffice Impress, MS Powerpoint etc.)

Class hierarchy

RasterImage

A raster image.

Class hierarchy

RegionOfInterest

Area on an image with relevant content. Following the spec in http://www.metadataworkinggroup.org

Class hierarchy

RDF Diagram

Properties

Name Type Notes Description
regionOfInterestHeight double Height of the region. It is normalized (values between 0 and 1) to the total height of the picture.
regionOfInterestType RegionOfInterestContent The content of a region can be one of the predefined types in the spec
regionOfInterestWidth double Width of the region. It is normalized (values between 0 and 1) to the total width of the picture.
regionOfInterestX double Coordinate X where the region starts. It is normalized (values between 0 and 1) to the width of the picture. Starting in the upper left corner.
regionOfInterestY double Coordinate y where the region starts. It is normalized (values between 0 and 1) to the height of the picture. Starting in the upper left corner.
roiRefersTo InformationElement Link to an item that is represented in the region. The ‘type’ of the region can give a clue of what exact content is linked in this property

RegionOfInterestContent

Content in the area. There is a predefined set of contents in the spec: http://www.metadataworkinggroup.org

Class hierarchy

RDF Diagram

Predefined instances

nfo:RegionOfInterestContent has the following predefined instances:

  • nfo:roi-content-barcode
  • nfo:roi-content-face
  • nfo:roi-content-focus
  • nfo:roi-content-pet
  • nfo:roi-content-undefined

RemoteDataObject

A file data object stored at a remote location. Don’t confuse this class with a RemotePortAddress. This one applies to a particular resource, RemotePortAddress applies to an address, that can have various interpretations.

Class hierarchy

RDF Diagram

RemotePortAddress

An address specifying a remote host and port. Such an address can be interpreted in many ways (examples of such interpretations include mailboxes, websites, remote calendars or filesystems), depending on an interpretation, various kinds of data may be extracted from such an address.

Class hierarchy

Software

A piece of software. Examples may include applications and the operating system. This interpretation most commonly applies to SoftwareItems.

Class hierarchy

RDF Diagram

Properties

Name Type Notes Description
conflicts Software States that a piece of software is in conflict with another piece of software.
softwareCmdLine string Command to launch the software
softwareIcon Image Icon of the software
supercedes Software States that a piece of software supercedes another piece of software.

SoftwareApplication

An application

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

Class hierarchy

SoftwareCategory

A software category

Class hierarchy

RDF Diagram

Properties

Name Type Notes Description
softwareCategoryIcon Image Icon of the software

SoftwareItem

A DataObject representing a piece of software. Examples of interpretations of a SoftwareItem include an Application and an OperatingSystem.

Class hierarchy

SoftwareService

A service published by a piece of software, either by an operating system or an application. Examples of such services may include calendar, addresbook and mailbox managed by a PIM application. This category is introduced to distinguish between data available directly from the applications (Via some Interprocess Communication Mechanisms) and data available from files on a disk. In either case both DataObjects would receive a similar interpretation (e.g. a Mailbox) and wouldn’t differ on the content level.

Class hierarchy

SourceCode

Code in a compilable or interpreted programming language.

Class hierarchy

Properties

Name Type Notes Description
commentCharacterCount integer The amount of character in comments i.e. characters ignored by the compiler/interpreter.
definesClass string Name of a class defined in the source code file.
definesFunction string A name of a function/method defined in the given source code file.
definesGlobalVariable string Name of a global variable defined within the source code file.
programmingLanguage string Indicates the name of the programming language this source code file is written in. Examples might include ‘C’, ‘C++’, ‘Java’ etc

Spreadsheet

A spreadsheet, created by a spreadsheet application. Examples might include Gnumeric, OpenOffice Calc or MS Excel.

Class hierarchy

TextDocument

A text document

Class hierarchy

Properties

Name Type Notes Description
characterCount integer The amount of characters in the document.
lineCount integer The amount of lines in a text document
wordCount integer The amount of words in a text document.

Trash

Represents a container for deleted files, a feature common in modern operating systems.

Class hierarchy

VectorImage

A vector image (e.g. SVG)

Class hierarchy

Video

A video file.

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

Class hierarchy

Properties

Name Type Notes Description
averageVideoBitrate double The average overall bitrate of a media container. (i.e. the size of the piece of media in bits, divided by it’s duration expressed in seconds).
frameCount integer The amount of frames in a video sequence.
frameRate double Amount of video frames per second.

Visual

File containing visual content.

Class hierarchy

Properties

Name Type Notes Description
aspectRatio double Visual content aspect ratio. (Width divided by Height)
colorDepth integer Amount of bits used to express the color of each pixel.
heading double Specifies the direction of travelling while capturing image/video. The range of values from 0.00 to 359.99 (where 0 is due North, 90 is East, 180 South and 270 is West)
height integer Visual content height in pixels.
interlaceMode boolean True if the image is interlaced, false if not.
tilt double Vertical inclination of the camera while capturing the image, in angles starting on 0 as horizontal, positive numbers pointing up, negative angles pointing down
width integer Visual content width in pixels.

WebHistory

A web history entry

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

Class hierarchy

Properties

Name Type Notes Description
domain string
uri string

Website

A website, usually a container for remote resources, that may be interpreted as HTMLDocuments, images or other types of content.

Class hierarchy

Additional properties for nie:DataObject

Properties this ontology defines which can describe nie:DataObject resources.

Name Type Notes Description
belongsToContainer DataContainer Models the containment relations between Files and Folders (or CompressedFiles).

Additional properties for nie:InformationElement

Properties this ontology defines which can describe nie:InformationElement resources.

Name Type Notes Description
isBootable boolean True when the file is bootable, for example like an ISO or other disc images
isContentEncrypted boolean Might change (IE of DataObject property?)

Additional properties for rdfs:Resource

Properties this ontology defines which can describe rdfs:Resource resources.

Name Type Notes Description
depiction Image Relates an information element to an image which depicts said element.

Credits and Copyright

Authors:

  • Antoni Mylka, DFKI, <antoni.mylka@dfki.de>
  • Leo Sauermann, DFKI, <leo.sauermann@dfki.de>
  • Ludger van Elst, DFKI, <elst@dfki.uni-kl.de>
  • Michael Sintek, DFKI, <michael.sintek@dfki.de>
  • Tracker Developers

Editors:

  • Antoni Mylka, DFKI, <antoni.mylka@dfki.de>
  • Tracker developers (translation into turtle)

Contributors:

  • Christiaan Fluit, Aduna, <christiaan.fluit@aduna-software.com>
  • Evgeny ‘phreedom’ Egorochkin, KDE Strigi Developer, <stexx@mail.ru>

Upstream: Upstream version

ChangeLog: Tracker changes

Copyright: © 2007 DFKI © 2009 Nokia. The ontologies are made available under the terms of NEPOMUK software license (FIXME verify)