application/rdf+xml

SIOC and AtomOWL: a new way to describe content…

AtomOWL and SIOC

… the other day Henry send a Mail to sioc-dev mailinglist raising the question of simularities between SIOC and AtomOWL [0].

AtomOWL introduces a Content Class which represents the encoded content of a entry of a atom feed. SIOC uses a RSS 1.0 Module to keep a sioc:Post‘s content. The SIOC Vocabulary Specification [1] does not instruct to use RSS 1.0 Module or AtomOWL.

What I would like to propose is, that the SIOC community adapts usage of the AtomOWL:Content class as it’s primary container for content as a SIOC best practice.

Using AtomOWL:Content instead of content:encoded gives two advantages:

1. Content is typed

content:encoded used CDATA[] to store its content, from a RDF/XML consumer perspective there is no way to figure out what the type of content is. AtomOWL:Content uses MIME media types to indicate the type of content. Some valuable information!

2. Reuse of Vocabularies

SIOC in general tries to reuse existing vocabularies. The use of content:encoded shows this. SIOC is a very progressive and fast developing eco system. Using the latest standards in content description on the semantic web is a stringent step forward.

In addition to that,

3. Cost of implementation is small

as an exporter of sioc data only needs to add a little more information to its output stream. Any information provided in a AtomOWL:Content object is provided by the underlying content management system or may be concluded. Integration of AtomOWL:Content enriched sioc data with the AtomOWL feed of the content management system is easy.

An Example

As an example how we could link AtomOWL:Content into a sioc:Post I have added a code snippet:


<sioc:Post rdf:about="http://B4ma...cribe-content/">
  <sioc:link rdf:resource="http://B4ma...cribe-content/"/>
  <sioc:has_container rdf:resource="http://b4ma...hp?sioc_type=site#weblog"/>
  <sioc:title>SIOC and AtomOWL: a new way to describe content…</sioc:title>
  <sioc:has_creator rdfs:label="gnu" rdf:resource="http://B4ma...uthor/gnu/"/>
  <sioc:created_at>2006-08-21T17:49:06Z</sioc:created_at>
  <content rdf:parseType="Resource">
    <rdf:type rdf:resource="http://bblfish.net/work/atom-owl/2006-06-06/#Content"/>
      <body rdf:parseType="Literal">
        <xhtml><div xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" 
           xml:base="http:/b4mad.net/">
       <p><i>[content of the post itself here]</i></p>
     </div></xhtml>
      </body>
    <type>text/xhtml</type>
  </content>
  <sioc:topic rdfs:label="sioc" rdf:resource="http://B4ma...tic-web/sioc/"/>
  <sioc:has_reply>
    <sioc:Post rdf:about="http://B4ma...cribe-content/#comment-20558">
      <rdfs:seeAlso rdf:resource="http://b4ma...ment&sioc_id=20558"/>
    </sioc:Post>
  </sioc:has_reply>
</sioc:Post>

So, the interssting part is the red one… the content is simply inserted using a rdf:parseType="Resource" and a RDF type of AtomOWL:Content and a content type of XHTML (thats the white part). The rest (red parts) is to describe the sioc:Post content itself.

References: