• yucca

  last modified December 18, 2006 by mrenoch

Yucca is an open source initiative to promote the creation and integration of user contributed annotations in existing information systems.

Yucca [yū'kə] - noun:  

Yucca (aka yuca) is the tuberous root of the cassava plant - a modified rhizome, enlarged to function as a storage organ.

User Contributed Annotations

(Your) (U)ser (C)ontributed (C)ontent (A)nnotations is an abstraction intended to capture applications which revolve around attaching information to content on a per-user, per-object basis. For contrast, DublinCore metatdata is per-object (as are categories in the wikipedia), while folksonomic systems like flickr and del.icio.us annotate content (images and links, respectively) per-user, per-object.

This abstraction lies at the heart of participatory media and social networking systems. Central to these systems is the symmetry of the relationships. It is just as important to be able to look up all the annotations by a particular user, as it is to look up all the annotations on a particular object, as it is to look up all the annotations which have something in common and tie them back to the contributor and the original object.

A robust user contributed content annotation framework would provide the core services to support a number of increasingly critical features which community driven sites rely upon. Some examples of problems which could be modeled as user contribued content annotations include:

  • textual annotations (e.g. comments inside of acrobat, or even trackback in word)

  • keyword annotations (e.g. traditional folksonomies, but also gmail labels)

  • ratings annotations (e.g. what contentratings and ATRatings now implement themselves)

  • audio/video clipping (where the in-point and out-point of the clip are stored as annotations)

  • Survey/Quiz submissions

  • Educational assignments - essays, homework, etc


Project Goals

The goal of yucca is to provide a robust framework which captures the rich set of features which complex user contributed content annotation applications demand, so that all of the tools built on top of yucca share these features.

The domain of user contributed annotations is still being explored, but its dimensions probably encompass public/private, autonomous/collaborative, fixed/freeform, structured/unstructured and beyond. Yucca hopes to support configuration along these dimensions.

Additionally, as user contributed content becomes more significant, it is easy to anticipate great demands upon the yucca engine - including groups of users, items, and annotations (clusters, in the tagging world), suggested and related annotations, versioned and workflowed annotations, and beyond.


Technologies

tagger

tagger is as small python library for handling tags as Annotea style annotations on content.


rhizome

A graph storage and delivery system.  In various forms, this could be a microapp, zope3 utility or some other contained entity able of returning a variety of graphs or graph specifications as defined by rdflib(EventGraph, ConjunctiveGraph, TextIndexGraph, SparqlGraph, Graph). 

A prototype utility implementation exists in a two locations; rosettalib and RosettaArchive from the Rosetta Project and the aformentioned tagger zope 3 integration libs(and the now defunct project zemantic).  The rosetta implementation is exposed by a CMF tool.

The tagger utility is a generalization of ideas found in work done by SixFeet Up and Michel Pelletier for Rosetta.  This generalization currently resides in the tagger.z3 repository, and is accredited to calvin hendryx parker and michel pelletier, though not a CMF tool.

The next stage is to abstract the rdfstore into it's own package for zope3, named ... rhizome.  In zope3, rhizome would essentially be a descendant of zemantic(effectively an rdf catalog utility), though discussion of broader networked provision of rdf resources in the microapp paradigm is under discussion.


stickies

A standards based, textual commenting and annotation system.