- From: David Allsopp <dallsopp@signal.qinetiq.com>
- Date: Thu, 23 Aug 2001 16:50:46 +0100
- CC: www-rdf-interest@w3.org
"Sean B. Palmer" wrote:
> > The remaining question is whether we are causing ourselves
> > problems when we are in both camps, e.g. trying to convert
> > plain XML 'legacy' documents into RDF.
>
> You can't really convert "documents" into "data", but you can scrape the
> semantics out into RDF,
That's what I meant.
> The only reason why you'd want to point at QNames is if you wanted to
> annotate them with Dublin Core, and store them in a DLG, for accessibility
> reasons, or something like that.
I'm sure there must be more reasons. For example, round-tripping from
legacy XML documents, to RDF and back again.
> And now that we have Patrick's QN URI
> scheme, we can do so quite easily!
>
> > For example, lets say we are processing XML files in
> > various schemas into one common format; it is possible,
> > although unlikely, that we will have QNames from
> > different sources that happen to map to the same URI.
>
> Not if you use Patrick's new scheme. Remember, you can't use arbitrary XML
> in RDF, because the RDF parser will always parse it as RDF, obliterating
> the QNames, and turning them into URI references.
> To use those QNames, you
> have to *convert* that XML instance into data (i.e. resources),
I thought that's what I just said 8-).
> which is
> just as well because the methods for doing so very from XML language to XML
> language. In other words, it depends how you scrape the data: remembering
> that different XML languages store data in different places, in different
> ways, and this is often unambiguous.
^^^^^^^^^^^
YM ambiguous, I presume.
From looking over this debate, I am assuming that up till now people
have in fact been scraping XML data by using the XML QName to generate a
URI by concatenation? I think we agree that this is risky. The problem
is perhaps that, naively, that's the obvious way to convert some things.
> [...]
> > [*] However, I think there may still be a separate problem
> > if people choose RDF namespaces without a terminal '#',
> > as we can still get unintentional URI clashes on rare
> > occasions, if people choose very similar namespaces:
> > http://foo.com/discovery + ack
> > http://foo.com/discover + yack
>
> No, because RDF has no notion of a "namespace" either. The things above are
> geared towards being XML namespaces, and that's fine. But to represent them
> as URIs, you'll have to map them onto a URI somehow.
Um, that's not what I meant. In the example above, if two people at
foo.com write some RDF, in XML - one chooses
http://foo.com/discovery as the namespace and the other
http://foo.com/discover.
Then they define some terms, in the false belief that they must have
defined unique URIs because they know that they have a different
namespace from any other department at foo.com. The concatenation of the
namespaces and terms creates clashing URIs, no?
For example:
<?xml version="1.0"?><rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:a="http://foo.com/discovery"
xmlns:b="http://foo.com/discover" >
<rdf:Description about="http://foo.com/stuff.html">
<b:yack>ABCDE</b:yack>
<a:ack>FGHIJ</a:ack>
</rdf:Description>
</rdf:RDF>
The above causes no error reports (using the Stanford RDF API), but you
only get one triple (the FGHIJ one, unsurprisingly).
[It would be an obvious mistake if you write both forms in one file, but
if you merged data from the two departments, this could happen].
Regards,
David Allsopp,
QinetiQ
UK
--
/d{def}def/u{dup}d[0 -185 u 0 300 u]concat/q 5e-3 d/m{mul}d/z{A u m B u
m}d/r{rlineto}d/X -2 q 1{d/Y -2 q 2{d/A 0 d/B 0 d 64 -1 1{/f exch d/B
A/A z sub X add d B 2 m m Y add d z add 4 gt{exit}if/f 64 d}for f 64 div
setgray X Y moveto 0 q neg u 0 0 q u 0 r r r r fill/Y}for/X}for showpage
Received on Thursday, 23 August 2001 11:51:07 UTC