Cwm (pronounced koom) is a general-purpose data processing software for the Semantic Web, similar to sed or awk for text files or XSLT for XML. It is a forward chaining semantic reasoner that can be used for querying, checking, transforming and filtering information. Its core language is RDF, extended to include rules, it can use RDF/XML or RDF/N3 (see Notation3 Primer) serializations.

cwm can perform the following tasks:

  • Parse and pretty-print the following RDF formats: XML RDF, Notation3, and N-Triples.
  • Store triples in a queryable triplestore (a triples' database).
  • Perform inferences as a forward chaining FOPL inference engine.
  • Perform builtin functions such as comparing strings, retrieving resources, all using an extensible builtins suite.

cwm was written in Python from 2000–10 onwards by Tim Berners-Lee and Dan Connolly of the W3C.

edit