I'm getting closer. I'm working on small details now.
All tests successful, 2 tests skipped (pod tests).
Files=17, Tests=219, 114 wallclock secs (81.32 cusr + 18.51 csys = 99.83 CPU)
File stmt bran cond sub pod time total
...
Total 88.2 70.2 55.9 89.1 35.8 100.0 82.1
My goal is to get the Total:total coverage to at least 90% before doing an initial release. That will be additional tests, but might also include additional documentation. I hope I can get that as early as tomorrow (Friday). I'm at the point now where code is being driven completely by tests.
The first release won't be as strict as it should be on the Atom spec. It will, however, require that the /atom:entry/atom:content/@type of resources be 'application/rdf+xml' for now.
It will ship with read/write support for Atom and RDF as well as read support for JSON. I'll get write support for JSON in a near future release. I'll probably want it for some projects anyway.
It automagically manages an atom:updated and dc:created triple for each resource. The creator and other similar attributes will have to be supplied by an outside application for now.
RDF::Server doesn't understand authentication or authorization yet -- and I've not even thought a lot about that except that I might want to limit which predicates certain people can modify or read. I don't actually have a use case for that yet, so I've not tackled it.
The initial release will only support RDF::Core, but I want to extend support to RDF::Redland and probably RDF::Helper. Support for a triple store consists of two modules, one for the model and one for the resource. Everything else in the framework is (or should be) independent of the store.
Future directions: SPRQL, RDQL, and inference engines as feed producers -- because I want to do magic with the resulting feeds.