NEPOMUK File Ontology
OSCAF Recommendation 28.08.2013
- Latest Version:
- http://www.semanticdesktop.org/ontologies/2007/03/22/nfo
- This Version:
- This file refers to the Revision 1.2 of NFO. Minor changes may be implemented in future revisions. With each new revision, the documentation and all serializations of the ontology will be updated. The URI identifying this version (but not the namespace) is
http://www.semanticdesktop.org/ontologies/2007/03/22/nfo/v1.2/
- Previous Version:
- http://www.semanticdesktop.org/ontologies/2007/03/22/nfo/v1.1/
- Authors:
- Antoni Mylka, DFKI, antoni.mylka@dfki.de
- Leo Sauermann, DFKI, leo.sauermann@dfki.de
- Michael Sintek, DFKI, michael.sintek@dfki.de
- Ludger van Elst, DFKI, elst@dfki.uni-kl.de
- Editor:
- Antoni Mylka, DFKI, antoni.mylka@dfki.de
- Judie Attard, DERI/NUIG, judie.attard@deri.org
-
- Contributors:
- Evgeny 'phreedom' Egorochkin, KDE Strigi Developer, stexx@mail.ru
- Christiaan Fluit, Aduna, christiaan.fluit@aduna-software.com
- Ontology:
- XML/RDFS Serialization: NFO
(Data Graph Only)
- XML/RDFS Serialization: NFO
(Metadata Graph Only)
- TriG Serialization: NFO
(Graph Set)
Copyright © 2013 OSCAF®
The ontologies are made available under the terms of OSCAF software license
Abstract
NEPOMUK File Ontology
(NFO) intends to provide vocabulary to express information extracted
from various sources. They include files, pieces of sotware and remote
hosts. This document gives an overview of NFO and describes its classes
and properties.
Status of this document
This document arose from
the work of the Task-Force ontologies within the NEPOMUK project.
This document is a DRAFT made available by the Nepomuk Consortium for
discussion only. This document is a work in progress and may be
updated, replaced, or rendered obsolete by other documents at any time.
This document is a part
in a set of seven documents, which together comprise the complete
specification of the Nepomuk Information Element Ontology Framework.
These are: NIE,
NFO,
NCO,
NMO,
NCAL,
NEXIF,
NID3.
Ontology Visualisation
Change Log
Introduction
Nepomuk File Ontology
(NFO) is one of the fundamental parts of NIE. It deals with files and
other desktop resources. Files are understood as sequences of bytes
stored in a Filesystem or on a Network. It provides subclasses both of
a DataObject and an InformationElement. A basic hierarchy of
FileDataObject subclasses is provided. It includes a 'normal'
FileDataObject, that usually resides on a typical filesystem, but also
allows for other kinds of
files - those embedded in, or attached to other data items, as well as
deleted and stored in a trash folder. This hierarchy is by no means
complete. More complete taxonomies, that either add additional
FileDataObject subclasses or extend ones provided in this ontology may
appear in future.
FileDataObject
The cornerstone of the NFO is the FileDataObject
class. It represents files - finite sequences of bytes available from
some durable storage medium. This definition explicitly exludes streams
(which are potentially infinite) but includes web documents and other
resources resolvable via a URL. As mentioned before there are various
types of files. They are reflected in the hierarchy of subclasses of
the File class. This
hierarchy is expected to grow when users add new types of files
relevant to their work.
Folders and Compressed files
Each file on a hard disk is usually contained within a folder or a
directory (the naming depends on the Operating System). They are
represented by the Folder
class. The containment relation can be expressed with the belongsToContainer
property. Note that a Folder is an interpretation. It may be applied to
a FileDataObject
(representing a folder on a disk), but it can also be applied to an ArchiveItem
(representing a folder inside an archive), or to a MailboxDataObject
(representing a mail folder on an IMAP server).
Compressed Files are expressed with an Archive class. It is also an
interpretation that may be applied to any piece of data. An important
thing to note is that Nepomuk strives for data integration. It
shouldn't make much difference if a file is within a normal folder or
within an archive. That's why no special case is made for the fileUrl property for files in
compressed archives. In both cases a file should be accessible with a
URL. In case of stand-alone files this is simple. Unfortunately there
are no standards defining the way to construct URL's for files inside
compressed archives. We encourage applications to use conventions
established by the Apache
Virtual File System project. For cases when no URL can be
constructed for a file (e.g. a picture inside an archive attached to an
event in an outlook calendar) the entire containment tree needs to be
examined to find ways for accessing a file.
Remote Resources
NFO includes basic vocabulary to describe remote resources. Its notion
of a FileDataObject
is universal. The fileUrl property can just as well be set to a http://
address. To facilitate processing a RemoteDataObject
class has been introduced. Its purpose is to have a 'semantic' way of
expressing the fact that an instance of a FileDataObject class actually
refers to a remote resource. Otherwise the applications would have to
check manually if the url begins with http://.
Example files that show how to use the expressive power of the ontology will be
published here in near future.
Ontology Classes Description
Application
Archive
ArchiveItem
Attachment
Audio
Bookmark
BookmarkFolder
CompressionType
rdfs:Resource |
-- |
-- |
nfo:compressionType |
Description | Type of compression. Instances of this class represent the limited set of values allowed for the nfo:compressionType property. |
nfo:losslessCompressionType, nfo:lossyCompressionType |
Cursor
DataContainer
DeletedResource
Document
EmbeddedFileDataObject
EncryptionStatus
rdfs:Resource |
-- |
-- |
nfo:encryptionStatus |
Description | The status of the encryption of an InformationElement. nfo:encryptedStatus means that the InformationElement has been encrypted and couldn't be decrypted by the extraction software, thus no content is available. nfo:decryptedStatus means that decryption was successfull and the content is available. |
nfo:decryptedStatus, nfo:encryptedStatus |
Executable
FileDataObject
nie:DataObject, rdfs:Resource |
nfo:ArchiveItem, nfo:Attachment, ncal:Attachment, nfo:DeletedResource, nfo:EmbeddedFileDataObject, nfo:LocalFileDataObject, ndo:P2PFile, nfo:RemoteDataObject, ndo:TorrentedFile |
nfo:fileCreated, nfo:fileLastAccessed, nfo:fileLastModified, nfo:fileName, nfo:fileOwner, nfo:fileSize, nfo:fileUrl, nfo:hasHash, nfo:permissions |
-- |
Description | 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. |
FileHash
Filesystem
FilesystemImage
nfo:DataContainer, nfo:Filesystem, nie:InformationElement, rdfs:Resource |
-- |
-- |
-- |
Description | 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). Deprecated in favor of nfo:Filesystem. |
Folder
Font
HardDiskPartition
nie:DataObject, rdfs:Resource |
-- |
-- |
-- |
Description | A partition on a hard disk |
HtmlDocument
Icon
nfo:Image, nie:InformationElement, nfo:Media, rdfs:Resource, nfo:Visual |
-- |
-- |
-- |
Description | 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. |
Image
nie:InformationElement, nfo:Media, rdfs:Resource, nfo:Visual |
nfo:Cursor, nfo:Icon, nexif:Photo, nfo:RasterImage, nfo:VectorImage |
nfo:depicts, nfo:horizontalResolution, nfo:verticalResolution |
nmm:artwork, nfo:depiction |
Description | A file containing an image. |
LocalFileDataObject
nie:DataObject, nfo:FileDataObject, rdfs:Resource |
-- |
-- |
-- |
Description | A local file data object which is stored on a local file system. Its nie:url always uses the file:/ protocol. The main use of this class is to distinguish local and non-local files. |
Media
nie:InformationElement, rdfs:Resource |
nfo:Audio, nfo:Cursor, nid3:ID3Audio, nfo:Icon, nfo:Image, nmm:Movie, nmm:MusicPiece, nexif:Photo, nfo:RasterImage, nmm:TVShow, nfo:VectorImage, nfo:Video, nfo:Visual |
nmm:artwork, nfo:averageBitrate, nfo:bitDepth, nfo:bitrateType, nfo:codec, nfo:compressionType, nfo:count, nfo:duration, nmm:genre, nfo:hasMediaStream, nfo:rate, nmm:releaseDate |
-- |
Description | 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). |
MediaFileListEntry
rdfs:Resource |
-- |
-- |
nfo:hasMediaFileListEntry |
Description | 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. |
MediaList
MediaStream
nie:DataObject, rdfs:Resource |
-- |
-- |
-- |
Description | 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. |
MindMap
OperatingSystem
PaginatedTextDocument
Placemark
PlacemarkContainer
nie:InformationElement, rdfs:Resource |
-- |
nfo:containsPlacemark |
-- |
Description | A data object containing placemark(s). Use nie:contentCreated to represent the date when the user created the dataobject, nao:creator for defining the creator, nie:contentLastModified for modifications. nfo:containsPlacemark to refer to individual placemarks within. |
PlainTextDocument
Presentation
nfo:Document, nie:InformationElement, rdfs:Resource |
-- |
-- |
-- |
Description | A Presentation made by some presentation software (Corel Presentations, OpenOffice Impress, MS Powerpoint etc.) |
RasterImage
RemoteDataObject
nie:DataObject, nfo:FileDataObject, rdfs:Resource |
ndo:P2PFile, ndo:TorrentedFile |
-- |
-- |
Description | 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. |
RemotePortAddress
nie:DataObject, rdfs:Resource |
-- |
-- |
-- |
Description | 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. |
Software
SoftwareItem
nie:DataObject, rdfs:Resource |
-- |
-- |
-- |
Description | A DataObject representing a piece of software. Examples of interpretations of a SoftwareItem include an Application and an OperatingSystem. |
SoftwareService
nie:DataObject, rdfs:Resource |
-- |
-- |
-- |
Description | A service published by a piece of software, either by an operating system or an application. Examples of such services may include calendar, addressbook 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. |
SourceCode
Spreadsheet
nfo:Document, nie:InformationElement, rdfs:Resource |
-- |
-- |
-- |
Description | A spreadsheet, created by a spreadsheet application. Examples might include Gnumeric, OpenOffice Calc or MS Excel. |
TextDocument
Trash
VectorImage
Video
nie:InformationElement, nfo:Media, rdfs:Resource, nfo:Visual |
nmm:Movie, nmm:TVShow |
nmm:actor, nmm:assistantDirector, nmm:audienceRating, nmm:cinematographer, nmm:director, nfo:frameCount, nfo:frameRate, nmm:producer, nmm:synopsis, nmm:writer |
-- |
Description | A video file. |
Visual
nie:InformationElement, nfo:Media, rdfs:Resource |
nfo:Cursor, nfo:Icon, nfo:Image, nmm:Movie, nexif:Photo, nfo:RasterImage, nmm:TVShow, nfo:VectorImage, nfo:Video |
nfo:aspectRatio, nfo:colorDepth, nfo:height, nfo:interlaceMode, nfo:width |
-- |
Description | File containing visual content. |
WebDataObject
nie:DataObject, rdfs:Resource |
-- |
-- |
-- |
Description | An information resources of which representations (files, streams) can be retrieved through a web server. They may be generated at retrieval time. Typical examples are pages served by PHP or AJAX or mp3 streams. |
Website
nie:InformationElement, rdfs:Resource |
-- |
-- |
-- |
Description | A website, usually a container for remote resources, that may be interpreted as HTMLDocuments, images or other types of content. |
Ontology Properties Description
aspectRatio
rdf:Property, rdfs:Resource |
nfo:Visual |
xsd:float |
1 |
-- |
-- |
Description | Visual content aspect ratio. (Width divided by Height) |
averageBitrate
rdf:Property, rdfs:Resource |
nfo:Media |
xsd:float |
1 |
nfo:rate |
-- |
Description | 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). |
belongsToContainer
bitDepth
rdf:Property, rdfs:Resource |
nfo:Media |
rdfs:Literal |
1 |
-- |
nfo:bitsPerSample, nfo:colorDepth |
Description | 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
rdf:Property, rdfs:Resource |
nfo:Media |
xsd:string |
1 |
-- |
-- |
Description | The type of the bitrate. Examples may include CBR and VBR. |
bitsPerSample
rdf:Property, rdfs:Resource |
nfo:Audio |
xsd:integer |
1 |
nfo:bitDepth |
-- |
Description | Amount of bits in each audio sample. |
bookmarks
channels
characterCount
rdf:Property, rdfs:Resource |
nfo:TextDocument |
xsd:integer |
1 |
-- |
-- |
Description | The amount of characters in the document. |
characterPosition
rdf:Property, rdfs:Resource |
nfo:Bookmark |
xsd:integer |
1 |
-- |
-- |
Description | Character position of the bookmark. |
codec
rdf:Property, rdfs:Resource |
nfo:Media |
rdfs:Literal |
-- |
-- |
Description | The name of the codec necessary to decode a piece of media. |
colorCount
rdf:Property, rdfs:Resource |
nfo:RasterImage |
xsd:integer |
1 |
-- |
-- |
Description | The number of colors used/available in a raster image. |
colorDepth
rdf:Property, rdfs:Resource |
nfo:Visual |
xsd:integer |
1 |
nfo:bitDepth |
-- |
Description | Amount of bits used to express the color of each pixel. |
commentCharacterCount
rdf:Property, rdfs:Resource |
nfo:SourceCode |
xsd:integer |
1 |
-- |
-- |
Description | The amount of character in comments i.e. characters ignored by the compiler/interpreter. |
compressionType
rdf:Property, rdfs:Resource |
nfo:Media |
nfo:CompressionType |
1 |
-- |
-- |
Description | The type of the compression. Values include, 'lossy' and 'lossless'. |
conflicts
rdf:Property, rdfs:Resource |
nfo:Software |
nfo:Software |
-- |
-- |
Description | States that a piece of software is in conflict with another piece of software. |
containsBookmark
containsBookmarkFolder
containsPlacemark
count
rdf:Property, rdfs:Resource |
nfo:Media |
xsd:integer |
-- |
nfo:frameCount, nfo:sampleCount |
Description | A common superproperty for all properties signifying the amount of atomic media data units. Examples of subproperties may include sampleCount and frameCount. |
definesClass
rdf:Property, rdfs:Resource |
nfo:SourceCode |
xsd:string |
-- |
-- |
Description | Name of a class defined in the source code file. |
definesFunction
rdf:Property, rdfs:Resource |
nfo:SourceCode |
xsd:string |
-- |
-- |
Description | A name of a function/method defined in the given source code file. |
definesGlobalVariable
rdf:Property, rdfs:Resource |
nfo:SourceCode |
xsd:string |
-- |
-- |
Description | Name of a global variable defined within the source code file. |
deletionDate
rdf:Property, rdfs:Resource |
nfo:DeletedResource |
xsd:dateTime |
1 |
-- |
-- |
Description | The date and time of the deletion. |
depiction
rdf:Property, rdfs:Resource |
rdfs:Resource |
nfo:Image |
nfo:depicts |
-- |
nmm:artwork |
Description | Relates an information element to an image which depicts said element. |
depicts
rdf:Property, rdfs:Resource |
nfo:Image |
rdfs:Resource |
nfo:depiction |
-- |
-- |
Description | Relates an image to the information elements it depicts. |
duration
rdf:Property, rdfs:Resource |
nfo:Media |
xsd:duration |
1 |
-- |
-- |
Description | Duration of a media piece. |
encoding
rdf:Property, rdfs:Resource |
nfo:EmbeddedFileDataObject |
xsd:string |
1 |
-- |
-- |
Description | The encoding used for the Embedded File. Examples might include BASE64 or UUEncode |
encryptionStatus
fileCreated
fileLastAccessed
rdf:Property, rdfs:Resource |
nfo:FileDataObject |
xsd:dateTime |
1 |
dc:date |
-- |
Description | Time when the file was last accessed. |
fileLastModified
fileName
fileOwner
rdf:Property, rdfs:Resource |
nfo:FileDataObject |
nco:Contact |
1 |
-- |
-- |
Description | The owner of the file as defined by the file system access rights feature. |
fileSize
rdf:Property, rdfs:Resource |
nfo:FileDataObject |
xsd:integer |
1 |
nie:byteSize |
-- |
Description | 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 |
fileUrl
rdf:Property, rdfs:Resource |
nfo:FileDataObject |
rdfs:Resource |
nie:url |
-- |
Description | URL of the file. It points at the location of the file. In cases where creating a simple file:// or http:// URL for a file is difficult (e.g. for files inside compressed archives) the applications are encouraged to use conventions defined by Apache Commons VFS Project at http://jakarta.apache.org/ commons/ vfs/ filesystems.html. |
filesystemType
rdf:Property, rdfs:Resource |
nfo:Filesystem |
xsd:string |
1 |
-- |
-- |
Description | Type of filesystem such as ext3 and ntfs. |
fontFamily
rdf:Property, rdfs:Resource |
nfo:Font |
xsd:string |
1 |
-- |
-- |
Description | The name of the font family. |
foundry
frameCount
rdf:Property, rdfs:Resource |
nfo:Video |
xsd:integer |
1 |
nfo:count |
-- |
Description | The amount of frames in a video sequence. |
frameRate
rdf:Property, rdfs:Resource |
nfo:Video |
xsd:float |
1 |
nfo:rate |
-- |
Description | Amount of video frames per second. |
freeSpace
rdf:Property, rdfs:Resource |
nfo:Filesystem |
xsd:integer |
1 |
-- |
-- |
Description | Unoccupied storage space of the filesystem. |
frontChannels
rdf:Property, rdfs:Resource |
-- |
xsd:integer |
1 |
nfo:channels |
-- |
Description | Number of front channels. |
hasHash
hasMediaFileListEntry
hasMediaStream
hashAlgorithm
rdf:Property, rdfs:Resource |
nfo:FileHash |
xsd:string |
1 |
-- |
-- |
Description | Name of the algorithm used to compute the hash value. Examples might include CRC32, MD5, SHA, TTH etc. |
hashValue
rdf:Property, rdfs:Resource |
nfo:FileHash |
xsd:string |
1 |
-- |
-- |
Description | The actual value of the hash. |
height
horizontalResolution
rdf:Property, rdfs:Resource |
nfo:Image |
xsd:integer |
1 |
-- |
-- |
Description | Horizontal resolution of an image (if printed). Expressed in DPI. |
interlaceMode
rdf:Property, rdfs:Resource |
nfo:Visual |
xsd:boolean |
1 |
-- |
-- |
Description | True if the image is interlaced, false if not. |
isPasswordProtected
rdf:Property, rdfs:Resource |
nfo:ArchiveItem |
xsd:boolean |
1 |
-- |
-- |
Description | States if a given resource is password-protected. |
lfeChannels
rdf:Property, rdfs:Resource |
-- |
xsd:integer |
1 |
nfo:channels |
-- |
Description | Number of Low Frequency Expansion (subwoofer) channels. |
lineCount
rdf:Property, rdfs:Resource |
nfo:TextDocument |
xsd:integer |
1 |
-- |
-- |
Description | The amount of lines in a text document |
occupiedSpace
rdf:Property, rdfs:Resource |
nfo:Filesystem |
xsd:integer |
1 |
-- |
-- |
Description | Occupied storage space of the filesystem. |
originalLocation
rdf:Property, rdfs:Resource |
nfo:DeletedResource |
xsd:string |
1 |
-- |
-- |
Description | The original location of the deleted resource. |
pageCount
pageNumber
rdf:Property, rdfs:Resource |
nfo:Bookmark |
xsd:integer |
1 |
-- |
-- |
Description | Page linked by the bookmark. |
paletteSize
rdf:Property, rdfs:Resource |
nfo:RasterImage |
xsd:integer |
1 |
-- |
-- |
Description | The number of colors defined in palette of the raster image. |
permissions
rdf:Property, rdfs:Resource |
nfo:FileDataObject |
xsd:string |
1 |
-- |
-- |
Description | A string containing the permissions of a file. A feature common in many UNIX-like operating systems. |
programmingLanguage
rdf:Property, rdfs:Resource |
nfo:SourceCode |
xsd:string |
-- |
-- |
Description | Indicates the name of the programming language this source code file is written in. Examples might include 'C', 'C++', 'Java' etc. |
rate
rdf:Property, rdfs:Resource |
nfo:Media |
xsd:float |
-- |
nfo:averageBitrate, nfo:frameRate, nfo:sampleRate |
Description | A common superproperty for all properties specifying the media rate. Examples of subproperties may include frameRate for video and sampleRate for audio. This property is expressed in units per second. |
rearChannels
rdf:Property, rdfs:Resource |
-- |
xsd:integer |
1 |
nfo:channels |
-- |
Description | Number of rear channels. |
sampleCount
rdf:Property, rdfs:Resource |
nfo:Audio |
xsd:integer |
1 |
nfo:count |
-- |
Description | The amount of samples in an audio clip. |
sampleRate
rdf:Property, rdfs:Resource |
nfo:Audio |
xsd:float |
1 |
nfo:rate |
-- |
Description | The amount of audio samples per second. |
sideChannels
rdf:Property, rdfs:Resource |
-- |
xsd:integer |
1 |
nfo:channels |
-- |
Description | Number of side channels |
streamPosition
rdf:Property, rdfs:Resource |
nfo:Bookmark |
xsd:integer |
1 |
-- |
-- |
Description | Stream position of the bookmark, suitable for e.g. audio books. Expressed in milliseconds |
supercedes
rdf:Property, rdfs:Resource |
nfo:Software |
nfo:Software |
-- |
-- |
Description | States that a piece of software supercedes another piece of software. |
totalSpace
rdf:Property, rdfs:Resource |
nfo:Filesystem |
xsd:integer |
1 |
-- |
-- |
Description | Total storage space of the filesystem, which can be different from nie:contentSize because the latter includes filesystem format overhead. |
uncompressedSize
rdf:Property, rdfs:Resource |
nfo:Archive |
xsd:integer |
1 |
-- |
-- |
Description | Uncompressed size of the content of a compressed file. |
uuid
rdf:Property, rdfs:Resource |
nfo:Filesystem |
xsd:string |
nie:identifier, dc:identifier, nao:identifier |
-- |
Description | Universally unique identifier of the filesystem. In the future, this property may have its parent changed to a more generic class. |
verticalResolution
rdf:Property, rdfs:Resource |
nfo:Image |
xsd:integer |
1 |
-- |
-- |
Description | Vertical resolution of an Image (if printed). Expressed in DPI |
width
rdf:Property, rdfs:Resource |
nfo:Visual |
xsd:integer |
1 |
-- |
-- |
Description | Visual content width in pixels. |
wordCount
rdf:Property, rdfs:Resource |
nfo:TextDocument |
xsd:integer |
1 |
-- |
-- |
Description | The amount of words in a text document. |