ZedneWeb / Weblog RDF schema
The purpose of creating an RDF vocabulary for describing weblogs is to enable exchanges among systems which create or collect information about weblogs. If a system knows, for example, that Doc Searls includes David Weinberger in his “blogroll” (a list of weblogs he recommends to others), it can use RDF to express this fact in a way that other systems can understand.
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:blog="http://www.eyrie.org/~zednenem/2002/weblog-rdf/"> <blog:Weblog rdf:about="http://doc.weblogs.com/"> <blog:recommends rdf:resource="http://www.hyperorg.com/blogger/"/> </blog:Weblog> </rdf:RDF>
The goal is to be able to express every weblog-specific fact about any given weblog using this vocabulary. This includes blogrolls, what posts are current, what weblog a post is part of, authorship, publication dates, and so forth. It builds upon the web threading vocabulary by creating a new set of names to describe weblog-specific information. Like the web threading vocabulary, it also recommends the Dublin Core vocabulary for describing cataloguing and publishing information.
Using RDF makes it trivial to provide additional information for weblogs, archives, and posts. For example, a syndication vocabulary could be applied to weblogs to indicate how frequently they are updated or a moderation vocabulary could allow people to rank posts by quality.
As an example, this description of ZedneWeb circa 2002-07-03 demonstrates many of the classes and properties described here.
This convention uses three vocabularies to describe weblogs. The prefixes given here are only for the purposes of this document. In real-world RDF, any value may be used for the prefix, so long as it is declared with the appropriate URI.
Prefix | URI | Comment |
---|---|---|
thread: | http://www.eyrie.org/~zednenem/2002/web-threads/ | Describes threaded resources such as weblogs and message boards |
blog: | http://www.eyrie.org/~zednenem/2002/weblog-rdf/ | Additional information specific to weblogs |
dc: | http://purl.org/dc/elements/1.1/ | The Dublin Core; provides cataloging and publication information |
For more information about the Dublin Core, see the reference description. The representation of Dublin Core elements is based on the suggested RDF encoding
These three classes describe the components of a weblog.
Class | Comment |
---|---|
blog:Weblog | The primary page of a weblog, used to represent the weblog as a whole. |
thread:Archive | A page containing one or more posts in their permanent locations. |
thread:Post | An individual weblog post. |
The properties below are used to describe weblogs and their component parts. When given, the “Domain” column lists classes which the property can describe and the “Range” column lists classes which can be the value of the property.
Property | Comment | Domain | Range |
---|---|---|---|
dc:creator | A string describing the authors | blog:Weblog thread:Post [1] |
|
dc:date | A string giving the publication date [2] | thread:Post [1] | |
dc:title | The title of a post or weblog | blog:Weblog thread:Post [1] |
|
blog:currentPosts | An ordered lists of post considered to be current | blog:Weblog | rdf:Seq |
blog:hasArchive | An archive of posts from the weblog | blog:Weblog | thread:Archive |
blog:inWeblog | Indicates membership in a weblog | thread:Archive thread:Post |
blog:Weblog |
blog:recommends | An item to which the weblog has a prominent link | blog:Weblog | |
blog:linksPage | A page containing a list of featured resources | blog:Weblog | |
blog:rssChannel | The location of an RSS channel associated with the weblog | blog:Weblog | |
thread:agreedWithBy | A post which agrees with this resource | thread:Post | |
thread:agreesWith | A resource which the post agrees with | thread:Post | |
thread:commentedOnBy | A post which discusses this resource | thread:Post | |
thread:commentsOn | A resource which the post discusses | thread:Post | |
thread:disagreedWithBy | A post which disagrees with this resource | thread:Post | |
thread:disagreesWith | A resource which the post disagrees with | thread:Post | |
thread:followedUpBy | A post which corrects or provides new information | thread:Post | thread:Post |
thread:followsUp | An earilier post which this post provides new information about | thread:Post | thread:Post |
thread:hasPost | A post in the archive or weblog | blog:Weblog thread:Archive |
thread:Post |
thread:inArchive | The archive containing the post | thread:Post | thread:Archive |
thread:next | The post or archive following this one | thread:Archive thread:Post |
thread:Archive thread:Post |
thread:pointedToBy | A post which refers to this resource but does not discuss it | thread:Post | |
thread:pointsTo | A resource which the post refers to but does not discuss | thread:Post | |
thread:prev | The post or archive preceeding this one | thread:Archive thread:Post |
thread:Archive thread:Post |
thread:quotedBy | A post which quotes this resource | thread:Post | |
thread:quotes | A resource which the post quotes | thread:Post | |
thread:refersTo | A resource the post refers to | thread:Post | |
thread:referredToBy | A post which refers to this resource | thread:Post |
Note [1]: In general, dc:creator, dc:date, and dc:title can be applied to any resource. These listings are merely a suggestion of classes relating to weblogs where they make sense.
Note [2]: Timestamps will be formatted according to the W3C date/time note, which describes a profile of ISO 8601. Permissable granularities are day (2002-07-05), minute (2002-07-05T15:00Z), and second (2002-07-05T15:00:00Z). Times with reduced granularity are taken to mean “sometime during that period”. Thus, it cannot be said whether a post dated 2002-07-05T15:00Z comes before or after one dated 2002-07-05, only that they were published on the same date.