--- 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/