File syntaxes

Author: Jeff Dalton

Updated: Wed Mar 22 17:39:06 2006 by Jeff Dalton

I-X agents can handle a number of different text syntaxes
for data stored in files and similar resources.

The available syntaxes are listed near the end of
"Help" -> "About I-X Process Panel".  For example:

File syntaxes:
   XML files ("xml")
   RDF and OWL files ("rdf" "owl")
      Not available in this agent
   List-TF files ("lsp")
      Input must be a domain
      Output must be a domain
   TF files ("tf")
      Output only
      Output must be a domain
   Checklist files as domains ("checklist")
      Input only
      Input must be a domain
   Initial world-state files ("init")
      Input must be a plan
      Output must be a plan
   Text descriptions of plans ("txt")
      Output only
      Output must be a plan
   OWL-S files ("owls")
      Not available in this agent
      Input only
      Input must be a domain

On the input side, the syntaxes are not only for files.
Any "resource" (URL, or entity in the classpath) can
be a source.

Some syntaxes are restricted to input or to output,
and some can handle only certain classes of objects.

That a syntax is listed at all means that the corresponding
syntax description object exists.  For now, at least, there's
always one for every syntax that has any support.

"Not available in this agent" means either that the I-X code
that handles that syntax has not been included in the class path
or that the the necessary imported code is not there.

The applicable syntax is determined by the file "type" or
"extension" (the bit after the ".").  The type(s) handled
by each syntax are listed in parentheses after the syntax
name.  So OWL-S files, for example, must be ".owls".  If they
are named ".owl" or ".rdf", they won't be read correctly.

(We probably shouldn't allow ".owl" at all -- ".owl" should be
for ontology definitions, which we can't meaningfully process --
but it's there for historical reasons, because people were
saying "owl" for files that were RDF that just happened to
have an OWL ontology for their class and property names.)

File synaxes also affect the filters in file-choosers.  For
example, if you're loading a plan, all syntaxes that might
produce a plan will be individually selectable and are
available together as "Plan files".

Note that this doesn't mean that the files necessarily contain
plans.  "xml" and "rdf" files, for example, might contain anything,
and the only way for I-X to find out is to read them in and see.
