Re: TMQL - Proposal for a %base directive
"Andrew S. Townley" <[email protected]> Wed, 4 May 2011 10:16:42 +0100
| Newsgroups | gmane.text.xml.xtm.general |
|---|---|
| Message-ID | <[email protected]> |
Hi Lars, On 4 May 2011, at 01:12 a.m., Lars Heuer <[email protected]> wrote: >> Starting with the simple case - if no external references exist - >> if you were to load the map into a topic maps environment, you'd >> have a few different choices for defining an IRI for resolution of internal identifiers: > >> a) the filesystem path location of the source map, e.g. file:///some/path/to/map.xtm, >> b) the mechanism that clients would connect to the server >> implementation to access the information within the map.xtm instance, >> c) some kind of serialization-specific explicit base location specifier > > In a previous msg you said we should escape from the one topic map per > document/resource assumption and now you present only one topic map > per resource options. Yes, I did, and I still believe this. I was trying to keep the example simple, and when you're acting on a TMRM map, it must be temporally bounded in order for the model to remain consistent. Again, deferred closure is my general approach until the last possible time t. [...] > That's all well and good. But you define a resolution mode which may > not work for the TMQL implementation X. Your implementation isn't a > standard. Is your resolution the same as the local identifier > resolution in Perl::TM? Maybe it is, but I am talking about a standard > with standardized test cases etc. I'm fully aware my implementation isn't standard, but lessons and ideas seem reasonable to consider as input to a standard so the widest possible implementations of it are still possible. I've actually no idea if my item resolution is the same as Perl::TM as I've never used it. However, my goal is to provide an implementation that will eventually pass standardised test cases. > [...] >> IRI (even if it follows the JDBC IRI model for some custom API >> access path) that should be used as the base IRI for local identifiers. > > We cannot assume that. What happens if the map is a stream without any > information about the source IRI of the stream? At some point we have > to provide an address. AFAIK all recent standards (even those which > work on an abstract model) like XPath/XSLT/XQuery or SPARQL require > some address to resolve identifiers against. And all standards define > a standardized resolution mechanism on purpose. I wasn't thinking that we'd assume this. I would've thought that we could specify the expected behaviour in terms of abstract access mechanisms similarly to [1]. In your stream example, or when there wasn't any base directive, then processors could raise errors. In most cases, I believe that a standardised model of relative identifiers should be possible based on the explicit access mechanism. [...] > [...] >> None of the above. The address of your environment map would be >> based on the mechanics of providing the view of these maps to the >> processor (in terms of the engine's accessing mechanisms). > > Okay, but at some point you have to become concrete. That's the way > how standards work. > > Even if I like your view, this view does not work for ISO standards. > I bet that your implementation of TMQL delivers different results than > the TMLab's implementation or rho's implementation. Well, as I said, mine's parked for the moment, so it won't deliver any results! ;) However, the intention is to provide consistent results with the spec for a given input so that it won't surprise people working with data they know, and it will pass standardised tests. > Again, I have to skip the rest of your msg, now due to sleep > constraints. :) But in general I don't think that our positions are > far away, I'm just wearing my ISO standard hat. Fair enough. I guess I'm gonna lose this one. Maybe that's why I've never participated in ISO standards before. My fear is that people will agree a solution which, with just a bit more effort, would be equally valid yet allow more flexible implementations. Thanks for the discussions, ast [1] http://www.w3.org/TR/html401/struct/links.html#resolving-relative-uris