Cwm is a general-purpose data processor for the semantic web, somewhat like sed, awk, etc. for text files or XSLT for XML. It is a forward chaining reasoner which can be used for querying, checking, transforming and filtering information. Its core language is RDF, extended to include rules, and it uses RDF/XML or RDF/N3 (see Notation3 Primer) serializations as required.
- To find out more about Cwm, visit
== Getting Started ==
- Unpack this tarball in a useful place. cd to that directory and type:
- cd test; make
at the command line. It should spend a while testing to make sure the program is working.
The test files should give you a good idea of commands to get Cwm to work.
- If a test fails: There are three possiblilities:
- Your Python setup is borked / sufficiently different from the
one used in development. This is a distinct possiblility. It is also possibly a bug in our code, if your we should in fact be supporting you platform.
- You tarball was corrupted / not generated properly. This is
also a distinct possiblility. The latter case is a bug.
- We knowingly published a version of Cwm that failed our own tests.
This is highly unlikely.
== What's New In this Release (0.8) == For a complete list of changes, look at doc/changes.html
Release 0.8 This release has some bugfixes, as well as some changed and new functionality.
==General bugfixes Cwm will now do the expected thing on log:uri if given an invalid URI string. An integer over the platforms native integer size will no longer crash Cwm. Cwm now understands most xsd datatyped for use in builtins. By setting the environment variable CWM_RDFLIB to 1, cwm will use rdflib to parse rdf/xml files. Note that this is unsupported, may break in the future, and requrires rdflib be installed. Rdflib supports some rdf features Cwm's parser does not, so this may be useful to you notwithstanding
==BNodes scope changes BNodes given names using the _: notation now have formula scope, not document scope. Release / Test changes Cwm is now released in a new file, cwm.tar.gz, which, while being a fraction of the size of the old cwm.tgz, still includes a complete set of tests. It was discovered that Cwm was not actually running all of its tests. This has been fixed, and the tests have been split into tests guarenteed to work in the .tar.gz file (offline) and those which will not.
==N3QL support N3QL support. Initial support for N3QL query language handling in cwm. command line looks like: cwm myKB.n3 --query=myquery.n3ql. Initial test case in swap/test/ql/detailed.tests N3 serialization changes The default output form is Oleksandr Zholus, not this log:forAll, @forSome, not this log:forSome. Use --n3=v to force the old obsolete form for variable declations. The parser has for a long time and will for some time support both forms.
==Reification support Reification, after being broken for almost a year, has been rewritten and is better than ever. The options, as always, are --reify and --dereify. The tests for this are now in. There is insufficient documentation for this feature, and it has not been completely tested, so there may yet be bugs in it. If there is demand for it, fixing the --flatten feature should be possible now.
==MIME type changes Mime type for Notation3 switched to text/rdf+n3. This could be a major change. The application for application/n3 never seemed to get anywhere with IANA anyway. Text has the advantage that browsers will by default dispaly it, and N3 is designed to be readable. Downside is that if it not ASCII, then you must include the charset specification in the mime type. This must be UTF-8, and notation3 is always utf-8
== Submitting Bugs ==
Cwm is very much a work in progress and has many bugs. Some of them we already know about. Cwm bugs are tracked on the public Cwm bug mail list, http://lists.w3.org/Archives/Public/public-cwm-bugs/ . Submit any bugs you find there, assuming they have not already been submitted. Reply to a previous bug report if you have something to add.
== License ==
cwm is open source. Share and Enjoy. For details, see the attached files, LICENSE.n3 and LICENSE
== Contributers == Tim Berners-Lee Dan Connolly Sean Palmer Mark Nottingham Eric Prud'hommeaux Sandro Hawke Dan Brickley Karl Dubost Yosi Scharf
Development of cwm is supported in part by funding from US Defense Advanced Research Projects Agency (DARPA) and Air Force Research Laboratory, Air Force Materiel Command, USAF, under agreement number F30602-00-2-0593, "Semantic Web Development".