--- Ovid <[EMAIL PROTECTED]> wrote:

> Java attempted to deal with this with the 'com.foo.bar' syntax.  It
> works reasonably well, though it's limited.  Perl 6 has tried a
> different, more correct, yet heavyweight approach.  RDF uses
> namespaces
> to unambiguously describe their ontologies.  Prolog suffers due to
> ambiguity inherent in its freeform structure and that's what we're
> suggesting here?

Thinking about this more, consider this ugly compromise:

  ---
  file: t/resource.t
  line: 23
  results:
      have: <foo>3</foo>
      want: { "foo":3 }
  tags:
      - api
      - database
  user:
      com.foo.bar:
          have-type: xml
          want-type: json
      com.example.com:
          have-type: html
          have-type: JSON
  ...

If you want unambiguous user keys, they need to specify a namespace
with an authority.  Since an authority is far outside the scope of what
we want, we still have the 'time as duration' and 'time as start time'
ambiguity.  Usually this is unlikely to be an issue since most test
suites will be in-house, but as previously mentioned, we're talking
about an ontology (even if we don't realize it) and the basic
definition, taken from Wikipedia:

  An ontology is a representation of a set of concepts
  within a domain and the relationships between those
  concepts. It is used to reason about the properties
  of that domain, and may be used to define the domain.

This is a well-researched area dealing the the *semantics* of things
and since we're arguing over the semantics, it's worth consulting
research in this field.

Note that I'm not arguing *for* a particular approach here, so long as
we acknowledge that our ad-hoc semantic specification completely
ignores known problem areas and it's important to not sweep this under
the rug as 'too hard'.

Sometimes hard problems are hard.

Cheers,
Ovid

--
Buy the book  - http://www.oreilly.com/catalog/perlhks/
Perl and CGI  - http://users.easystreet.com/ovid/cgi_course/
Personal blog - http://publius-ovidius.livejournal.com/
Tech blog     - http://use.perl.org/~Ovid/journal/

Reply via email to