Re: Status of the Dublin Core to Topic Maps mapping?
Lars Heuer <[email protected]>
| Newsgroups | gmane.text.xml.xtm.general |
|---|---|
| Organization | Semagia |
| Message-ID | <[email protected]> |
Hi Andrew,
[...]
> Yeah, sorry. I forgot about the limitation that topics can't reify
> other topics. That actually seems kinda silly to me because I see
> no difference between two topics in the same map merging and two
> topics in different maps merging based on reifier information.
Sorry for being picky here, but merging topics based on reifier
information is actually possible, even in TMDM ;).
If you have
Map A:
%prefix ex http://psi.example.org/
ex:member-of(ex:group: ex:Beatles, ex:member: ex:John) ~ johns-membership
johns-membership
- "John Lennon's membership at The Beatles".
Map B:
%prefix ex http://psi.example.org/
ex:member-of(ex:group: ex:Beatles, ex:member: ex:John) ~ lennon-membership
lennon-membership
- "Lennon's membership".
and you'd merge map A and B, the topics "lennon-membership" and
"johns-membership" would merge since they are reifying the same
association.
I don't say that TMDM is cooler than TMRM, but we shouldn't be too
unfair. ;)
[...]
> I'm sure you've encountered this too, but there are cases where you
> need to explicitly differentiate between relative IRIs and string
> literals at authoring time because, depending on the value, there's
> no syntactic test to differentiate one from the other.
Yes, detecting relative IRIs might be difficult / impossible.
[...]
> You could certainly say that if the IRI wasn't an absolute IRI,
> then you'd need to create a topic, but then you'd preclude
> specifying references to TMDM constructs in the same map--unless I'm
> mistaken (which happens...from time to time... ;).
You need a good algorithm for that problem, yes. In XSLT I use
"generate-id" and I bind the id to a variable or I ensure that I
always use the same node to generate the id.
> If I were implementing a generic converter without any syntactic
> sugar to tell it what to do, I'd probably attempt to resolve the
> string as an IRI, then, if that failed, assume that it wasn't
> already created and therefore create a new reference for that topic.
[...]
Yes, this approach might be better than my approach since I create
always a topic with a random item identifier which results in
duplicates (the Patrick problem). You could also try to URL-encode the
string and use that result as item identifier / identity. The downside
is that all "John Does" would merge which might not be the desired
result.
Best regards,
Lars
--
Semagia
<http://www.semagia.com>
<http://www.topicmaps.de/mailinglist/> German Topic Maps mailing list
<http://tinytim.sourceforge.net/> Open Source Topic Maps engine
<http://mappa.semagia.com/> Mappa - Python Topic Maps engine