Provided by: swap-cwm_1.2.1-7_all bug

NAME

       cwm - Closed World Machine, an RDF/N3 semantic web data processor

DESCRIPTION

       Command line RDF/N3 tool

              <command> <options> <steps> [--with <more args> ]

OPTIONS

       --pipe Don't store, just pipe out *

       steps, in order left to right:

       --rdf  Input & Output ** in RDF/XML instead of n3 from now on

       --n3   Input & Output in N3 from now on. (Default)

       --rdf=flags
              Input & Output ** in RDF and set given RDF flags

       --n3=flags
              Input & Output in N3 and set N3 flags

       --ntriples
              Input & Output in NTriples (equiv --n3=usbpartane -bySubject -quiet)

       --language=x
              Input & Output in "x" (rdf, n3, etc)  --rdf same as: --language=rdf

       --languageOptions=y
              --n3=sp same as:  --language=n3 --languageOptions=sp

       --ugly Store input and regurgitate, data only, fastest *

       --bySubject
              Store input and regurgitate in subject order *

       --no   No output *
              (default is to store and pretty print with anonymous nodes) *

              --base=<uri>
                     Set  the  base URI. Input or output is done as though this were the document
                     URI.

              --closure=flags
                     Control automatic lookup  of  identifiers  (see  below)  <uri>          Load
                     document. URI may be relative to current directory.

              --apply=foo
                     Read rules from foo, apply to store, adding conclusions to store

              --patch=foo
                     Read patches from foo, applying insertions and deletions to store

              --filter=foo
                     Read rules from foo, apply to store, REPLACING store with conclusions

              --query=foo
                     Read  a  N3QL  query  from foo, apply it to the store, and replace the store
                     with its conclusions

              --sparql=foo
                     Read a SPARQL query from foo, apply it to the store, and replace  the  store
                     with its conclusions

              --rules
                     Apply rules in store to store, adding conclusions to store

              --think
                     as -rules but continue until no more rule matches (or forever!)

              --engine=otter
                     use otter (in your $PATH) instead of llyn for linking, etc

              --why  Replace the store with an explanation of its contents

              --why=u
                     proof tries to be shorter

              --mode=flags
                     Set modus operandi for inference (see below)

              --reify
                     Replace the statements in the store with statements describing them.

              --dereify
                     Undo the effects of --reify

              --flatten
                     Reify only nested subexpressions (not top level) so that no {} remain.

              --unflatten
                     Undo the effects of --flatten

              --think=foo
                     as -apply=foo but continue until no more rule matches (or forever!)

              --purge
                     Remove from store any triple involving anything in class log:Chaff

              --data Remove all except plain RDF triples (formulae, forAll, etc)

              --strings
                     Dump :s to stdout ordered by :k whereever { :k log:outputString :s }

              --crypto
                     Enable processing of crypto builtin functions. Requires python crypto.

              --help print this message

              --revision
                     print CVS revision numbers of major modules

              --chatty=50
                     Verbose debugging output of questionable use, range 0-99

              --sparqlServer
                     instead of outputting, start a SPARQL server on port 8000 of the store

              --sparqlResults
                     After sparql query, print in sparqlResults format instead of rdf

              finally:

              --with Pass any further arguments to the N3 store as os:argv values

                     * mutually exclusive ** doesn't work for complex cases :-/

EXAMPLES

       cwm --rdf foo.rdf --n3 --pipe
              Convert from rdf/xml to rdf/n3

       cwm foo.n3 bar.n3 --think
              Combine data and find all deductions

              cwm foo.n3 --flat --n3=spart

   Mode flags affect inference extending to the web:
       r      Needed to enable any remote stuff.

       a      When reading schema, also load rules pointed to by schema (requires r, s)

       E      Errors loading schemas of definitive documents are ignored

       m      Schemas  and  definitive  documents  loaded  are  merged  into  the  meta knowledge
              (otherwise they are consulted independently)

       s      Read the schema for any predicate in a query.

       u      Generate unique ids using a run-specific

       Closure flags are set to cause the working formula to be  automatically  expanded  to  the
       closure under the operation of looking up:

       s      the subject of a statement added

       p      the predicate of a statement added

       o      the object of a statement added

       t      the object of an rdf:type statement added

       i      any owl:imports documents

       r      any doc:rules documents

       E      errors are ignored --- This is independant of --mode=E

       n      Normalize IRIs to URIs

       e      Smush together any nodes which are = (owl:sameAs)

       See http://www.w3.org/2000/10/swap/doc/cwm  for more documentation.

       Setting  the  environment  variable  CWM_RDFLIB to 1 makes Cwm use rdflib to parse rdf/xml
       files. Note that this requires rdflib.

       Flags for N3 output are as follows:-

       a   Anonymous nodes should be output using the _: convention (p flag or not).   d    Don't
       use  default  namespace  (empty  prefix)  e    escape literals --- use \u notation i   Use
       identifiers from store - don't regen on output l   List syntax suppression. Don't use (..)
       n    No  numeric  syntax - use strings typed with ^^ syntax p   Prefix suppression - don't
       use them, always URIs in <> instead of qnames.  q   Quiet - don't  output  comments  about
       version  and  base  URI  used.  r   Relative URI suppression. Always use absolute URIs.  s
       Subject must be explicit for every statement. Don't use ";"  shorthand.   t    "this"  and
       "()" special syntax should be suppressed.  u   Use \u for unicode escaping in URIs instead
       of utf-8 %XX v   Use  "this log:forAll" for @forAll, and "this log:forAll" for "@forSome".
       /   If namespace has no # in it, assume it ends at the last slash if outputting.

       Flags for N3 input:

       B   Turn any blank node into an existentially qualified explicitly named node.

       Flags to control RDF/XML output (after --rdf=) areas follows:

       b   -  Don't  use  nodeIDs  for Bnodes c  - Don't use elements as class names d  - Default
       namespace supressed.  l  - Don't use RDF collection syntax for lists  r   -  Relative  URI
       suppression. Always use absolute URIs.  z  - Allow relative URIs for namespaces

              Flags to control RDF/XML INPUT (after --rdf=) follow:

       S      - Strict spec. Unknown parse type treated as Literal instead of error.

       T      - take foreign XML as transparent and parse any RDF in it

              (default is to ignore unless rdf:RDF at top level)

       L      - If non-rdf attributes have no namespace prefix, assume in local <#> namespace

       D      - Assume default namespace declared as local document is assume xmlns=""

       R      -  Do not require an outer <rdf:RDF>, treating the file as RDF content (opposite of
              T)

              Note:  The  parser   (sax2rdf)   does   not   support   reification,   bagIds,   or
              parseType=Literal.

              It does support the rest of RDF incl. datatypes, xml:lang, and nodeIds.