CcValidator
ccValidator is an on-line service which parses Creative Commons licenses, validates the RDF and displays their contents in human readable form. It is useful for ensuring that your license accurately reflects the rights you wish to reserve (or not). The service is available from the Creative Commons website, at http://validator.creativecommons.org.
This service was first created in response to a list of developer challenges published by the Creative Commons and totally revamped during Google Summer of Code 2008. Suggestions and bug reports are always welcome. You can e-mail them to software@creativecommons.org.
Architecture
The validator consists of a Pylons web app called "validator" and a Python support module called "libvalidator." libvalidator handles RDF in many formats; RDF in a comment, RDFa, or inline RDF/XML. HTML is processed by html5lib, and the RDF is passed on to RDFlib. The CC RDF information is accessed via the cc.license Python module that wraps the Creative Commons RDF data.
Source Code
The current implementation is available in git. Setting up the validator requires three modules:
- cc.license
- libvalidator
- validator
(If you are not familiar with our git repository, read our documentation on our source repositories.)
If you don't mind cluttering up your PYTHONPATH, the easiest way to get going to is to clone each of these and run "python setup.py install". After that, read the README in the validator repository; you can easily launch the validator web application, by default listening on localhost port 5000.
Demonstration
The validator can validate both our old RDF-in-a-comment and the recommendation from here on out, RDFa. The validator's front page links to these sample documents.
Additional Resources
Bug reports should be submitted via the CC issue tracker.
- Historical development notes are in Nathan Yergler's blog; the ccValidate-specific archive is located here. The historical ccValidator code is currently unavailable, but that codebase is unrelated to the current codebase (whose history is preserved in git).
- Hugo's posts about Google Summer of Code development process: