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

G mfo:Action mfo:Action rdfs:Resource rdfs:Resource rdfs:Resource--mfo:Action

RDF Diagram

G mfo:Action mfo:Action mfo:FeedChannel mfo:FeedChannel mfo:FeedChannel->mfo:Action mfo:action

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

G mfo:Enclosure mfo:Enclosure mfo:FeedElement mfo:FeedElement mfo:FeedElement--mfo:Enclosure nie:InformationElement nie:InformationElement nie:InformationElement--mfo:FeedElement rdfs:Resource rdfs:Resource rdfs:Resource--nie:InformationElement

RDF Diagram

G mfo:Enclosure mfo:Enclosure nfo:FileDataObject nfo:FileDataObject mfo:Enclosure->nfo:FileDataObject mfo:localLink nfo:RemoteDataObject nfo:RemoteDataObject mfo:Enclosure->nfo:RemoteDataObject mfo:remoteLink mfo:FeedMessage mfo:FeedMessage mfo:FeedMessage->mfo:Enclosure mfo:enclosureList

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

G mfo:FeedChannel mfo:FeedChannel mfo:FeedElement mfo:FeedElement mfo:FeedElement--mfo:FeedChannel nie:InformationElement nie:InformationElement nie:InformationElement--mfo:FeedElement rdfs:Resource rdfs:Resource rdfs:Resource--nie:InformationElement

RDF Diagram

G mfo:FeedChannel mfo:FeedChannel mfo:Action mfo:Action mfo:FeedChannel->mfo:Action mfo:action mfo:FeedType mfo:FeedType mfo:FeedChannel->mfo:FeedType mfo:type

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

G mfo:FeedElement mfo:FeedElement mfo:Enclosure mfo:Enclosure mfo:FeedElement--mfo:Enclosure mfo:FeedChannel mfo:FeedChannel mfo:FeedElement--mfo:FeedChannel mfo:FeedMessage mfo:FeedMessage mfo:FeedElement--mfo:FeedMessage nie:InformationElement nie:InformationElement nie:InformationElement--mfo:FeedElement rdfs:Resource rdfs:Resource rdfs:Resource--nie:InformationElement

RDF Diagram

G mfo:FeedElement mfo:FeedElement mfo:FeedSettings mfo:FeedSettings mfo:FeedElement->mfo:FeedSettings mfo:feedSettings

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

G mfo:FeedMessage mfo:FeedMessage mfo:FeedElement mfo:FeedElement mfo:FeedElement--mfo:FeedMessage nie:InformationElement nie:InformationElement nie:InformationElement--mfo:FeedElement rdfs:Resource rdfs:Resource rdfs:Resource--nie:InformationElement

RDF Diagram

G mfo:FeedMessage mfo:FeedMessage mfo:Enclosure mfo:Enclosure mfo:FeedMessage->mfo:Enclosure mfo:enclosureList

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

G mfo:FeedSettings mfo:FeedSettings rdfs:Resource rdfs:Resource rdfs:Resource--mfo:FeedSettings

RDF Diagram

G mfo:FeedSettings mfo:FeedSettings mfo:FeedElement mfo:FeedElement mfo:FeedElement->mfo:FeedSettings mfo:feedSettings

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

G mfo:FeedType mfo:FeedType rdfs:Resource rdfs:Resource rdfs:Resource--mfo:FeedType

RDF Diagram

G mfo:FeedType mfo:FeedType mfo:FeedChannel mfo:FeedChannel mfo:FeedChannel->mfo:FeedType mfo:type

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