#### 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)