The Dublin Core is a small set of widely applicable MetaData. http://dublincore.org describes the current standard, the ongoing standardization efforts, and other related areas.

The flexibility of DublinCore would be of great utility on Wikis. Many ad-hoc extensions to the original Wiki design can be simplified and made more flexible under the umbrella of DublinCore. This page will discuss how this can be done.

Meta-data pattern

Adding DublinCore meta-data to a page can be done with a simple regular pattern, just as mark-up is currently done. Like RFC 822 for e-mail headers, one simply adds the meta-data element to the top of the page, prefixed by the DublinCore identifier and a colon. For instance:

 Abstract: A small set of widely applicable MetaData, and how to use it on Wikis
 Subject: CategoryWikiTechonology
 Contributor: ChrisPurcell
 Language: en
 Relation: RdfForWikis

This pattern is trivial for a Wiki engine to parse, but moreover is just as easy for a human to parse and understand, even without prior knowledge of the system. The meta-data can be presented more professionally in the HTML output; for example, see PeriPeri:PeriMechanics?.


The CategoriesAndTopics system is now widely-used and appreciated on many Wikis, but it remains (in its original form of a simple ReverseIndex) rather terse and fragile. Adding descriptions to the listing can be done by displaying the first few lines of the page, but this translates to a rather subtle demand for each page to include an abstract at the top. Avoiding accidental links is best done by never referring to a category page. Some sites, such as http://www.cocoadev.com, have an ad-hoc link pattern to pick up descriptive text and prevent accidental links.

With DublinCore, we can replicate this most flexible variant. To add a page to a category, add the category to its subject. The category should now add the page to its tableOfContents (this is technically called an implication). Descriptive text can be included by adding an abstract to the page.

Other implications between DublinCore elements are obvious, and useful. If page A replaces page B, that implies page B isReplacedBy page A. Marking either on the relevant page should cause the other page to reflect the implication.




I'm still interested in adding metadata to wiki pages. I'm just not sure RDF is the right thing. The RDF stuff I saw was usually too complicated. Adding the abstract to other pages is what we discussed on ForwardIndex. I'm still interested in that, too.


Have you looked at PeriPeri's RdfForWikis? I like to think it's as simple as I could have got it.


I think it's an awesome idea. I just don't understand it very well. I mean- I understand that it's an assertion based system- you say "the way things are," and then you can query it about stuff. But: I don't understand the multiple applications. I know there's cool stuff in there, I just don't know what. And: I don't know if it's easier than doing it manually. (I suspect not, but again: I need to see it.)


I've added this page to contain the ideas. The important thing is not to confuse DublinCore-with-implications, which this page describes, with the more general RdfForWikis I am aiming towards with PeriPeri. There's a lot of use in the above without needing to bring RDF into it at all.

The main advantage emitting (and reading) RDF would give us is an immediate standard between Wikis. This is useful for the UnifiedCommons pattern, but it can be added to the engine later without needing to modify any of the site's pages.


Man, these comment blocks are getting really complicated. Anyways, there's an excellent standard for embedding DublinCore metadata in X/HTML meta and link tags. I find it to be a very succinct, simple definition -- a lot less crappo than all that wordy RDF stuff.

On another point: most of the important Dublin Core elements are available to the WikiEngine without the need for authors embedding them in the page. For example, authorship info, history, title, size, publication and creation dates, etc., resource type and format. Pretty much the only thing you'd need actual markup for is a summary description and a subject/keywords marking. If one makes the assumption that the first paragraph is a description, even that could be automated. --EvanProdromou (who feels like a dinosaur for not using fancy new comment format)


  • Exactly my point in creating this page locally rather than RdfForWikis.
  • While the information is available, it's still very useful to override it. Some examples? A WikiName is not a title, it's a name. Copyright information has a default on all sites, but it is always possible to change it on a page. Authorship can decrease as well as increase. A page describing something else, such as a research paper or book, should state the publication date of that book, not the Wiki page. Et cetera.

Define external redirect: PeriMechanics

EditNearLinks: PeriPeri CategoriesAndTopics RdfForWikis ReverseIndex WikiEngine WikiName


The same page elsewhere: