Maemo Feeds Ontology (MFO)
Model for feeds and alike online streams
@prefix mfo: <http://tracker.api.gnome.org/ontology/v3/mfo#>
The following classes are defined:
Action, Enclosure, FeedChannel, FeedElement, FeedMessage, FeedSettings, FeedType
Overview
Introduction
This ontology is an abstract representation of entries coming from feeds. These feeds can be blogs (any of the common syndication formats can be translated into this representation), podcasts or even some online services (like flickr).
The basic assumption in the ontology is that all these feeds are unidirectional conversations with (from) the author of the content and every post on those channels is a message.
The source of the posts, the feed itself, is an instance of mfo:FeedChannel. Each post in that feed will be an instance of mfo:FeedMessage. The relation between the messages and the channel comes from their superclasses, nmo:communicationChannel (taking into account that mfo:FeedChannel is a subclass of nmo:CommunicationChannel and mfo:FeedMessage a subclass of nmo:Message.
A post can be plain text but can contain also more things like links, videos or Mp3. We represent those internal pieces in instances of mfo:Enclosure. This class has properties to link with the remote and local representation of the resource (in case the content has been downloaded).
Finally, the three important classes (mfo:FeedChannel, mfo:FeedMessage, mfo:Enclosure) are subclasses of mfo:FeedElement, just an abstract class to share the link with mfo:FeedSettings. mfo:FeedSettings contains some common configuration options. Not all of them applies to all, but it is a quite cleaner solution. For instance the mfo:maxSize property only makes sense per-enclosure, while the mfo:updateInterval is useful for the channel.
Special remarks
In some feeds there can be multiple enclosures together in a group, representing the same resource in different formats, qualities, resolutions, etc. Until further notify, the group will be represented using nie:identifier property. To mark the default enclosure of the group, there is a mfo:groupDefault property.
Classes
Action
class with a restricted set of actions
Class hierarchy
RDF Diagram
Predefined instances
mfo:Action has the following predefined instances:
- mfo:refresh-now
Enclosure
Represents an enclosure of a feed message
Note: This class emits notifications about changes, and can be monitored using TrackerNotifier
.
Class hierarchy
RDF Diagram
Properties
Name | Type | Notes | Description |
---|---|---|---|
groupDefault | boolean | Different enclosures can represent the same resource in different formats/resolutions. This representations are grouped using the nie:identifier property and this property identify the default between them. | |
localLink | FileDataObject | Downloaded copy of the enclosure | |
optional | boolean | The enclosure is mandatory to download or only optional | |
remoteLink | RemoteDataObject | Used to store remote URL of enclosure |
FeedChannel
Represents feed channel transfer, typically a download of RSS or ATOM.
Note: This class emits notifications about changes, and can be monitored using TrackerNotifier
.
Class hierarchy
RDF Diagram
Properties
Name | Type | Notes | Description |
---|---|---|---|
action | Action | Captures the current action for the channel: Refresh Now | |
totalCount | integer | Total messages count within a channel | |
type | FeedType | Feeds format type which is mapped to plugin used in engine: flickr,rss-atom | |
unreadCount | integer | Unread messages count within a channel | |
updatedTime | dateTime | Captures the updated date and time when the channel is updated |
FeedElement
Superclass for all elements related with feeds, to provide common configuration options
Class hierarchy
RDF Diagram
Properties
Name | Type | Notes | Description |
---|---|---|---|
feedSettings | FeedSettings | Settings | |
image | string |
FeedMessage
Represents feed entry. May have enclosures attached and certain settings that allow deviation from feed channel’s setup
Note: This class emits notifications about changes, and can be monitored using TrackerNotifier
.
Class hierarchy
RDF Diagram
Properties
Name | Type | Notes | Description |
---|---|---|---|
downloadedTime | dateTime | Captures the time stamp when message was downloaded | |
enclosureList | Enclosure | A list of enclosures |
FeedSettings
Represents settings applied to a feed channel or a feed entry. How often it is updated, through which connection type it is delivered, when data expires and so on
Class hierarchy
RDF Diagram
Properties
Name | Type | Notes | Description |
---|---|---|---|
downloadFlag | boolean | To indicate whether enclosures will be downloaded or not | |
downloadPath | string | Download path for enclosures in a message | |
expiryInterval | integer | Expiry interval for feed channel, it tells time that a message in a channel can live. Interpreted as minutes | |
maxSize | integer | Maximum size of enclosure that can be downloaded. Interpreted as KBs | |
updateInterval | integer | Update interval for a feed channel to get updated or refreshed. Interpreted as minutes |
FeedType
class with a restricted set of feed types
Class hierarchy
RDF Diagram
Properties
Name | Type | Notes | Description |
---|---|---|---|
name | string | Feed format name like rss-atom,flickr,facebook |
Credits and Copyright
Authors:
- Ivan Frade <ivan.frade@nokia.com>
- Jitendra Kumar <jitendra.1.kumar@nokia.com>
Editors:
- Ivan Frade <ivan.frade@nokia.com>
Upstream: Not available
ChangeLog: Tracker changes