Introduction

Semantic File System is a vision for future of the file systems where information in the file systems is given explicit meaning to be processed by machines automatically and consumed by the users easily. Semantic File Systems extend traditional file systems to organize and retrieve information according to their semantics, intent and relationships with other resources rather than their physical locations as with traditional file systems. Ontology based file systems is step to dissolve the borders between Semantic Web and Semantic Desktop and to make desktop part of a single giant web.

This document describes Semantic File System Ontology. To maximize interoperability and following Linked Data principles of reusing as many available terms as possible, we mostly reuse/extend NEPOMUK Information Element (NIE) Ontologies. NIE Ontology Framework is a set of seven ontologies, intends to provide basic vocabulary for describing desktop resources. These include NEPOMUK Information Element ontology (NIE Core), NEPOMUK File Ontology (NFO), NEPOMUK Contact Ontology (NCO), NEPOMUK Multimedia Ontology (NMM), NEPOMUK Calendar Ontology (NCAL), NEPOMUK EXIF Ontology (NEXIF) and NEPOMUK ID3 Ontology (NID3).

We extend NIE Ontology Framework into the domain of Semantic File Systems. The proposed ontology is freely available with full technical definitions of terms and complete class hierarchy for any purpose in Information Technology. Semantic File System ontology remains open for additions and corrections upon feedback.

Namespaces

Several namespaces will be assumed to have been defined for the remainder of this document. These are as follows :

Prefix XML Namespace Description
sfs https://w3id.org/sfs-ontology# The Semantic File System Ontology
geo http://www.w3.org/2003/01/geo/wgs84_pos# The WGS84 Geo Positioning Ontology
nie http://www.semanticdesktop.org/ontologies/2007/01/19/nie# NEPOMUK Information Element Core Ontology (NIE)
nfo http://www.semanticdesktop.org/ontologies/2007/03/22/nfo# NEPOMUK File Ontology (NFO)
nexif http://www.semanticdesktop.org/ontologies/2007/05/10/nexif# NEPOMUK EXIF Ontology (NEXIF)
nid3 http://www.semanticdesktop.org/ontologies/2007/05/10/nid3# NEPOMUK ID3 Ontology (NID3)
nao http://www.semanticdesktop.org/ontologies/2007/08/15/nao# NEPOMUK Annotation Ontology (NAO)
nco http://www.semanticdesktop.org/ontologies/2007/03/22/nco# NEPOMUK Contact Ontology (NCO)
nmm http://www.semanticdesktop.org/ontologies/2009/02/19/nmm# NEPOMUK Multimedia Ontology (NMM)

Ontology Visualisation

Ontology Classes Description

FileAccess

Superclasses rdfs:Resource
Restrictions sfs:fileAccessedTime Some(Existential)  xsd:dateTime,
sfs:fileAccessedTime Maximum Cardinality  1,
geo:location Some (Existential) geo:Point,
geo:location Maximum Cardinality 1
In domain of: sfs:fileAccessedTime
In range of: sfs:fileAccessedLocation_Time
Description FileAccess uniquely identified by time, latitude, longitude and altitude. An object of FileAccess is created upon each file access. fileAccessLocation property relates objects of nfo:FileDataObject and FileAccess classes. This enables to track accessed time and location of a file.

 

Ontology Properties Description

fileAccessedLocation_Time

Type rdf:Property
Domain nfo:FileDataObject
Range sfs:FileAccess
Superproperties --
Subproperties --
Description It relates objects of nfo:FileDataObject and FileAccess classes. Which enables to track accessed time and location of a file. So, frequent access timings and locations can be calculated.

belongedToContainer

Type rdf:Property, rdfs:Resource
Domain nie:DataObject
Range nfo:DataContainer
Characteristics Disjoint With nfo:belongsToContainer
Superproperties --
Subproperties --
Description Previous container of a file. Models the containment relations between Files and Folders (or compressed files) where they were previously been in. A user group semantically related files in a folder. If a user place a file in one folder and then after some time he moves it to another folder then it indicates that files in both folders are somehow related to each other. Tracking previous containers/folders of a file enables to relate a file with the files of containers where it previously belonged to.

fileCreatedByApplication

Type rdf:Property
Domain nfo:FileDataObject
Range nfo:Application
Characteristics Functional
Superproperties --
Subproperties --
Description This property relates a file to the application with which it was created. It helps in maintaining provenance of a file..

fileModifiedByApplication

Type rdf:Property, rdfs:Resource
Domain nfo:FileDataObject
Range nfo:Application
Superproperties --
Subproperties --
Description Relates a file to application which makes changes to a file. This property helps in maintaining provenance information of a file.

fileCreatedByUser

Type rdf:Property
Domain nfo:FileDataObject
Range nco:Contact
Characteristics Functional
Superproperties --
Subproperties --
Description User who originally created file. This property helps in maintaining provenance information of a file.

fileCreatedFrom

Type rdf:Property
Domain nfo:FileDataObject
Range nfo:FileDataObject
CharacteristicsTransitive
Superproperties --
Subproperties --
Description A file created from (the contents of) another file. If file B is created from file A and file C is created from file B then it can be inferred that file C is also created from file A.

fileCreatedTogather

Type rdf:Property
Domain nfo:FileDataObject
Range nfo:FileDataObject
CharacteristicsSymmetric
Superproperties --
Subproperties --
Description Files created together within a predefined threshold.

fileDuplicateOf

Type rdf:Property
Domain nfo:FileDataObject
Range nfo:FileDataObject
CharacteristicsSymmetric
Superproperties --
Subproperties --
Description Exact match. Files that are 100 % identical.

fileFrequentlyAccessedWith

Type rdf:Property
Domain nfo:FileDataObject
Range nfo:FileDataObject
CharacteristicsSymmetric
Superproperties --
Subproperties --
Description A file that is frequently accessed with another file.

fileModifiedByUser

Type rdf:Property
Domain nfo:FileDataObject
Range nco:Contact
Superproperties --
Subproperties --
Description Tracks users who modify the file. This property helps in preserving provenance information of a file.

fileCreatedOnDevice

Type rdf:Property
Domain nfo:FileDataObject
Range  
Characteristics Functional
Superproperties --
Subproperties --
Description Computer or Device on which a file is created.

fileModifiedOnDevice

Type rdf:Property
Domain nfo:FileDataObject
Range  
Superproperties --
Subproperties --
Description Track devices/computers on which a file is modified. A file is annotated each time if a file is modified by a different device. This property helps in preserving the provenance information of the file.

fileManualPeakLocation

Type rdf:Property
Domain nfo:FileDataObject
Range geo:Point
Superproperties --
Subproperties --
Description Manual location based annotation. The difference between filePeakLocation and fileManualPeakLocation is that in the former annotation is done automatically as user interact with files and in the later annotation is done manually by a user.

fileModifiedByApplication

Type rdf:Property
Domain nfo:FileDataObject
Range nfo:Application
Superproperties --
Subproperties --
Description Relates a file to application which makes changes to a file. This property helps in maintaining provenance information of a file.

fileNearDuplicateOf

Type rdf:Property
Domain nfo:FileDataObject
Range nfo:FileDataObject
CharacteristicsSymmetric
Superproperties --
Subproperties --
Description Approximate match. Files that are identical to some extent. These could be older versions of the file. Use a similarity threshold to detect near-duplicates. e.g. If Similarity between two files is > 80%, then both files are "near duplicates".

filePeakLocation

Type rdf:Property
Domain nfo:FileDataObject
Range geo:Point
Superproperties --
Subproperties --
Description Geographical location where a file is frequently accessed.

fileAccessedCounter

Type rdf:Property, rdfs:Resource
Domain nfo:FileDataObject
Range xsd:dateTime
Maximal cardinality 1
Superproperties --
Subproperties --
Description Number of times the file is accessed.

fileAccessedHistory

Type rdf:Property
Domain nfo:FileDataObject
Range xsd:dateTime
Superproperties --
Subproperties --
Description Date and time is recorded each time a file is modified to maintain a file modified history.

fileAccessedTime

Type rdf:Property
Domain nfo:FileDataObject, sfs:FileAccess
Range xsd:dateTime
Superproperties --
Subproperties --
Description File accessed time.

fileModifiedHistory

Type rdf:Property
Domain nfo:FileDataObject
Range xsd:dateTime
Superproperties --
Subproperties --
Description Date and time is recorded each time a file is modified to maintain a file modified history.

filePeakDay

Type rdf:Property
Domain nfo:FileDataObject
Range xsd:integer
Superproperties --
Subproperties --
Description File's peak day. The day on which a file is frequently accessed. Value ranges from 0-6, with 0 being Sunday.

filePeakHour

Type rdf:Property
Domain nfo:FileDataObject
Range xsd:integer
Superproperties --
Subproperties --
Description Peak hour of the file. Value ranges from 0 to 23

contentType

Type rdf:Property
Domain nfo:FileDataObject, nfo:DataContainer
Range xsd:integer
Maximal cardinality 1
Superproperties --
Subproperties --
Description Minimum age restriction of the user to access a file or folder. If its value is set to 18 then the contents will not be accessible to non-adults.