Property: awol:content
content - See §4.1.3 of rfc 4287 spec. The content of an Entry, a Link or any of the relation types that are the object of :rel properties
Domain: | awol:Entry |
---|---|
Range: | awol:Content |
Copyright © 2004-2006 by(who knows?)
Development of AtomOwl is supported by Sun Microsystems.
NOTE: This specification is an evolving document. This document is generated by combining the RDFS/OWL machine-readable AtomOwl ontology with a specification template and a set of per-term documents.
For more information on the specification issues, descisions, etc. see:
This section describes the status of this document at the time of its publication. Other documents may supersede this document.
Authors welcome suggestions on the AtomOwl ontology and this document. Please send comments to the AtomOwl Mailing list; public archives are available. This document may be updated or added to based on implementation experience, but no commitment is made by the authors regarding future updates.
AtomOwl is an ontology whose aim is to capture the semantics of rfc4287. RFC4287 is a format to syndicate online content, such as weblogs, podcasts, videocasts, etc. Syndication is a helpful way to alert interested readers to changes to a web site, be it to new content or changed content.
As AtomOwl captures the semantics of rfc4287 it is easy to convert rfc4287 feeds to AtomOwl statements and thus add them to a triple database, which can the be queried using a SPARQL endpoint. This should then help make very powerful searched for updated content possible.
Atom being built on RDF is very easily extensible. It meshes very well with other Ontologies such as foaf or sioc. (todo: examples of both).
A simple UML like diagram to get an immediate overview of the relation between the classes described here.
[pdf]
An alphabetical index of AtomOwl terms, by class (categories or types) and by property.
Classes: | Category | Content | Entry | Feed | FeedOrEntry | Generator | HTML | Link | Person | PlainText | RelationType | TextContent | Version | XHTML | XML |
Properties: | aggregates | author | body | category | contains | content | contributor | email | entry | generator | generatorVersion | html | http://www.iana.org/assignments/relation/alternate | icon | id | label | lang | length | link | logo | name | published | rel | rights | scheme | source | src | subject | subtitle | summary | term | text | title | to | type | updated | uri | xhtml | xml |
There are a number of tools available for converting rfc4287 atom xml feeds into AtomOwl. A short list of some provided here:
saxonq -s $atm transform/atom2turtle.xquery format=turtle
.
Since syndication is about changes, the core of AtomOwl is the :Version class. There are two types of :Version subclasses, the :Feed and :Entry classes. :Entry objects contains metadata about a resource that changes. :Feed ojects contain collections of such :Entry objects. The resource that identifies the metadata of a :Version is its :id. An id can have many :Versions objects associated with it. Hence we can track changes to metadata about content. Each version is uniquely identified by the combination of an :id and :updated time stamp.
rfc4287 was built with careful attention to the Web architecture. The types of thing described by an atom entry is its :Content. The :Content of an object is a description of a representation. A Representation is uniquely identified by its mime type, body, language,...
So an Entry is a collection of metadata about a :Content.
todo: Make that a lot clearer!
The AtomOwl Vocabulary definitions presented here are written using a computer language (RDF/OWL) that makes it easy for software to process some basic facts about the terms in the AtomOwl vocabulary, and consequently about the things described in AtomOwl documents. A AtomOwl document, unlike a traditional Web page, can be combined with other RDF documents to create a unified database of information.
Here is a simple transformation of the first example in rfc4287
@prefix : <http://bblfish.net/work/atom-owl/2006-06-06/#> . @prefix iana: <http://www.iana.org/assignments/relation/>. @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix owl: <http://www.w3.org/2002/07/owl#> . [] a :Feed; :title [ a :Content; :type "text/plain"; :body "Example Feed"; ]; :link [ a :Link; :rel iana:alternate ; :to [ :src <http://example.org/>;] ]; :updated "2003-12-13T18:30:02Z"^^xsd:dateTime; :author [ a :Person; owl:sameAs _:author1; :name "John Doe"; ]; :id "urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6"^^xsd:anyURI; :entry [ a :Entry; :author _:author1; :title [ a :Content; :type "text/plain"; :body "Atom-Powered Robots Run Amok"; ]; :link [ a :Link; :rel iana:alternate ; :to [ :src <http://example.org/2003/12/13/atom03>;] ]; :id "urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a"^^xsd:anyURI; :updated "2003-12-13T18:30:02Z"^^xsd:dateTime; :summary [ a :Content; :type "text/plain"; :body "Some text."; ]; ]; .
This brief example introduces the basics of AtomOwl.
It says of courrse exactly what the first example of rfc4287 says, namely:
awol:Feed
object, with an :id relation to urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6
, that was updated on the 13th of December 2003, and whose author is John Doe. http://example.org/2003/12/13/atom03
There are a number of examples of transformations available:
AtomOwl is managed as a collaborative effort.More resources on AtomOwl are available on the AtomOwl Project page.
The remainder of this specification describes how to publish and interpret descriptions such as these on the Web, using RDF/XML for syntax (file format) and terms from AtomOwl. It introduces a number of classes (such as 'Entry', 'Feed' and 'Content') and properties (relationship and attribute types such as 'updated' or 'author'). Each term definition is provided in both human and machine-readable form, hyperlinked for quick reference, and a reference to rfc4287 spec.
The specific contents of the AtomOwl vocabulary are detailed in the AtomOwl namespace document.
Related publications:
This specification serves as the AtomOwl "namespace document". As such it describes the AtomOwl vocabulary and the terms (RDF classes and properties) that constitute it, so that Semantic Web applications can use those terms in a variety of RDF-compatible document formats and applications.
This document presents AtomOwl as a Semantic Web vocabulary or Ontology.
Revisions and extensions of AtomOwl are conducted through edits to the namespace document which is stored in a subversion repository at https://sommer.dev.java.net/atom/, and is then published in the Web at the namespace URI.
RDF is usually written using XML syntax, but behaves in rather different ways to 'vanilla' XML: the same RDF can be written in many different ways in XML. This means that SAX and DOM XML parsers are not adequate to deal with RDF/XML. If you want to process the data, you will need to use one of the many RDF toolkits available, such as Jena (Java) or Redland (C). AtomOwl mailing list is the main discussion list for questions about AtomOwl; Semantic Web Interest Group members can help with semantic web and RDF related issues which may arise; and there is the active and friendly #swig IRC channel on freenode.
AtomOwl introduces the following classes and properties. View AtomOwl namespace document to see the N3 version.
Category Class - see §4.2.2 of rfc 4287. A Category Type
in-range-of: | awol:category |
---|---|
in-domain-of: | awol:label awol:scheme awol:term |
Content Class - see §4.1.3 in rfc 4287 One way to think of this is as a class that represents what one can get from an HTTP connection. It has a body, and a number of headers, info such as mime-type, content-lenght, etc... .
in-range-of: | awol:content |
---|---|
in-domain-of: | awol:body awol:lang awol:length awol:src awol:type |
Entry Class - see §4.1.2 of the rfc 4287 spec
in-range-of: | awol:aggregates awol:contains awol:entry |
---|---|
in-domain-of: | awol:content awol:published awol:source awol:summary |
An Entry is an Entry, and that's all you need to know!
Feed Class - Container for feed metadata.
in-range-of: | awol:source |
---|---|
in-domain-of: | awol:aggregates awol:contains awol:entry awol:generator awol:icon awol:logo awol:subtitle |
An Entry is an Entry, and that's all you need to know!
FeedOrEntry Class - Union of the Feed and Entry class. Simplifies writing the ontology.
in-domain-of: | awol:author awol:category awol:contributor awol:email awol:link awol:rights |
---|
Generator of feed - see §4.2.4 of rfc 4287 spec. Generator for the Feed. It has many properties in common with :Person
in-range-of: | awol:generator |
---|---|
in-domain-of: | awol:generatorVersion |
Html content class - see §3.1.1.2 of rfc 4287. The class of html strings
in-domain-of: | awol:html |
---|
Link Class - see §4.2.7 of rfc 4287 spec. Note that the href, hreflang and lengtlength attributes of rfc 4287 have been moved to the content class and a content relation from the Link to a Content class has been made. The href is translated onto the :src relation of the Content class. A link is a reified relation between an entry an a content, for the purpose of adding some metadata such as a title. If it is a reified statement, it is a special type of such a statement, one that implies always the reified statement itself (see N3 rule)
in-range-of: | awol:link |
---|---|
in-domain-of: | awol:rel |
Person Class - see §3.2 of rfc 4287 spec.
in-range-of: | awol:author awol:contributor awol:email |
---|
Plain text content class - see §3.1.1.1 of rfc 4287. The datatype of simple text elements. Essentially this is the class of all plain text literals.
in-domain-of: | awol:text |
---|
Relation Type Class - see §4.2.7.2 of rfc 4287. Relation types are registered, or can be created as described in rfc 4287. They are special types of properties that relate :Versions to :Contents.
in-range-of: | awol:rel |
---|
All Text Content Class - see §3.1 of rfc 4287. The text constructs.
in-range-of: | awol:rights awol:subtitle awol:summary awol:title |
---|
Version Class - Metadata about the state of a resource with given :id at an :updated time.
in-domain-of: | awol:id awol:updated http://www.iana.org/assignments/relation/alternate http://www.iana.org/assignments/relation/related http://www.iana.org/assignments/relation/self http://www.iana.org/assignments/relation/via |
---|
Xhtml content class - see §3.1.1.3 of rfc 4287. The datatype of xhtml strings
in-domain-of: | awol:xhtml |
---|
XML content class - see §4.1.3.3 of rfc 4287. The datatype of xml content
in-domain-of: | awol:xml |
---|
aggregates - The feed aggregates this given Entry. See §4.1.1 of rfc4287. This means that the entry does not have the feed as its source. The entry was taken from a different feed.
Domain: | awol:Feed |
---|---|
Range: | awol:Entry |
author - See §4.2.1 rfc 4287 spec.
Domain: | awol:FeedOrEntry |
---|---|
Range: | awol:Person |
body relation - the body of the content.
Domain: | awol:Content |
---|---|
Range: | http://www.w3.org/2000/01/rdf-schema#Literal |
category - See §4.2.2. A category with which the conainer is associated.
Domain: | awol:FeedOrEntry |
---|---|
Range: | awol:Category |
contains relation - The feed contains the given Entry. See §4.1.1 of rfc4287. This makes no statement about whether that Entry has the :Feed as its source.
Domain: | awol:Feed |
---|---|
Range: | awol:Entry |
content - See §4.1.3 of rfc 4287 spec. The content of an Entry, a Link or any of the relation types that are the object of :rel properties
Domain: | awol:Entry |
---|---|
Range: | awol:Content |
contributor - See §4.2.3 of rfc 4287 spec. Someone who contributed to the Version.
Domain: | awol:FeedOrEntry |
---|---|
Range: | awol:Person |
email address - see §3.2.3 of rfc 4287. A mailbox of the Person
Domain: | awol:FeedOrEntry |
---|---|
Range: | awol:Person |
entry relation - The feed contains the given Entry and that Entry has the feed as its source. See §4.1.1 of rfc 4287. This relation is a little bit more specialised than the rfc 4287 entry element. It relates only :Feed objects to :Entry objects where the :Feed is a :source of the :Entry. See also the :source and :contains relations.
Domain: | awol:Feed |
---|---|
Range: | awol:Entry |
An Entry is an Entry, and that's all you need to know!
generator - see §4.2.4 of rfc 4287. The generator of the object
Domain: | awol:Feed |
---|---|
Range: | awol:Generator |
generatorVersion - see §4.2.4 of rfc 4287. Indicates the version of the Generator
Domain: | awol:Generator |
---|---|
Range: | http://www.w3.org/2001/XMLSchema#string |
html value - see §3.1.1.2 of rfc 4287. The datatype of html text elements. It is considered to be a relation to the text.
OWL Type: | An InverseFunctionalProperty (uniquely identifying property) |
---|---|
Domain: | awol:HTML |
Range: | http://www.w3.org/2001/XMLSchema#string |
icon - see 4.2.5 of rfc 4287. An icon associated with the object
Domain: | awol:Feed |
---|---|
Range: | http://xmlns.com/foaf/0.1/Image |
id - See §4.2.6 rfc 4287 spec. All Versions with the same id can be considered to be versions of the resource identified by the id. The id mentions the resource of which it is a representation.
Domain: | awol:Version |
---|---|
Range: | http://www.w3.org/2001/XMLSchema#anyURI |
label - see §4.2.2.3 of rfc 4287. A Human readable label for display.
Domain: | awol:Category |
---|---|
Range: | http://www.w3.org/2001/XMLSchema#string |
language - see §4.2.7.4 of rfc 4287. The language of the representation.
Domain: | awol:Content |
---|---|
Range: | http://www.w3.org/2001/XMLSchema#language |
length in bytes - see §4.2.7.6 of rfc 4287. The length in bytes of the representation.
Domain: | awol:Content |
---|---|
Range: | http://www.w3.org/2001/XMLSchema#int |
link - See §4.2.7 of rfc 4287 spec. A link associated with the container. If the link is unreified, we have a relation from the container to some resource
Domain: | awol:FeedOrEntry |
---|---|
Range: | awol:Link |
logo - see §4.2.8 of rfc 4287. An icon associated with the object
Domain: | awol:Feed |
---|---|
Range: | http://xmlns.com/foaf/0.1/Image |
publication date - See §4.2.9 of rfc 4287 spec. A date associated with an event early in the lifecyle of the subject.
Domain: | awol:Entry |
---|---|
Range: | http://www.w3.org/2001/XMLSchema#dateTime |
relation type - see §4.2.7.2 of rfc 4287. The relationship type. The relationship type is a property that relates a :Version to a :Content
Domain: | awol:Link |
---|---|
Range: | awol:RelationType |
rights - See §4.2.10 of rfc 4287 spec. Rights held over a Version.
Domain: | awol:FeedOrEntry |
---|---|
Range: | awol:TextContent |
catgegorization scheme - see §4.2.2.2 of rfc 4287. Identifies a categorization scheme.
Domain: | awol:Category |
---|---|
Range: | http://sw.nokia.com/WebArch-1/InformationResource |
source feed - See §4.2.11 of rfc 4287 spec. The source feed where the entry was found
Domain: | awol:Entry |
---|---|
Range: | awol:Feed |
source - a source of the representation
Domain: | awol:Content |
---|---|
Range: | http://sw.nokia.com/WebArch-1/InformationResource |
the object of the link - the inverse of the :link relation, not specified in rfc 4287, but added here for convenience
subtitle - see §4.2.12 of rfc 4287. Subtitle of the feed.
Domain: | awol:Feed |
---|---|
Range: | awol:TextContent |
summary - See §4.2.13 of rfc 4287 spec. A summary of the content of the Entry
Domain: | awol:Entry |
---|---|
Range: | awol:TextContent |
term - see §4.2.2.1 of rfc 4287. Identifies the category
Domain: | awol:Category |
---|---|
Range: | http://www.w3.org/2001/XMLSchema#string |
text type - see §3.1.1.1 of rfc 4287. The datatype of xhtml text elements
OWL Type: | An InverseFunctionalProperty (uniquely identifying property) |
---|---|
Domain: | awol:PlainText |
Range: | http://www.w3.org/2001/XMLSchema#string |
title - See §4.2.14. Title of a container
Range: | awol:TextContent |
---|
to - the object of a link. We interpret here a Link to be a re-ified relation from a :Version to a :Content object. The relation is re-ified in order to add a :title relation to the link. This can probably usually be safely ignored
mime type - see §4.2.7.3 of rfc 4287. The mime type of the representation.
Domain: | awol:Content |
---|---|
Range: | http://www.w3.org/2001/XMLSchema#string |
updated - See §4.2.15 of rfc 4287 spec. Indicates the most recent instant in time when a resource with the given id was modified in a way the publisher considers significant. Therefore, not all modifications necessarily result in a changed atom:updated value.
Domain: | awol:Version |
---|---|
Range: | http://www.w3.org/2001/XMLSchema#dateTime |
a uri - see §3.2.2 of rfc 4287. A uri associated the Person
Range: | http://www.w3.org/2001/XMLSchema#anyURI |
---|
xhtml type - see §3.1.1.3 of rfc 4287. The datatype of xhtml text elements.
OWL Type: | An InverseFunctionalProperty (uniquely identifying property) |
---|---|
Domain: | awol:XHTML |
Range: | http://www.w3.org/2001/XMLSchema#string |