My favorites | Sign in
Project Home Wiki Issues Source
Project Information
Wiki pages


  1. Pure Ruby (Using default core libraries)
  2. Simple as possible, No Feature Overkill.
  3. Safely ignores invalid RDFa statements (e.g.- Bad CURIEs, invalid URIs). Instead, the parser emits warning and debug messages to the 'Collector'
  4. Extensible by allowing developers create their own custom 'Collectors' to add bridge data coming from the RDFa parser to the developers' own RDF stores.
  5. Has a mixin method:
  6.   require 'rdfa'
      class MyClass
      c =
      source = '<xml/>'
      results = c.parse(source)

Special Notes

  1. CURIE'd about and href attributes can be used to reference anonymous nodes. For example, about='[:name]' will produce an anonymous node for name.
  2.   <div id='person'>
        <span about='[_:geolocation]'>
          <meta property='geo:lat'>51.47026</meta>
          <meta property='geo:long'>-2.59466</meta>
        <link rel='foaf:based_near' href='[_:geolocation]' />
  3. Anonymous Resources (BNodes) are placed in a custom namespace:
    One can override this in the parameters.
  5. Because RDFa uses CURIEs, we do not use QNames in the RDF statements-- everything is a URI object or literal text.
  6. About URI resolution work correctly for link and meta elements that are found in the head of an html document. Any xml document that has html as its root element, not just the ones that have the xhtml decl.
  7. Subversion commit r7 adds Nested RDFa support.


  1. xml:base is completely ignored.
  2. Ignores Reification, but will output anonymous nodes in a special way.
  3. The RDFa Specification is still in flux, so please bear with.
  4. Nest CURIEs are not supported.
  5. Literal text are the only supported object datatype (as the content) for RDFa property statements; xml fragments are converted to a string.
Powered by Google Project Hosting