James Weinheimer wrote:
> It seems to me that the way XML/RDF has been sold to people is that you
> can define your text in any way you want. Please excuse my naivete, but
> I thought the way to do this was by using some strange language:
>
> <?xml version="1.0"?>
> <rdf:RDF
> xmlns:rdf="http://w3.org/TR/1999/PR-rdf-syntax-19990105#"
> xmlns:Myns="http://my schema/">
> <rdf:Description about="http://my page">
> <Myns:DC.Creator.Princeton Librarian>Jim
> Weinheimer</Myns:DC.Creator.Princeton Librarian>
> </rdf:Description>
> </rdf:RDF>
This is way I Interprete the above:
1) It looks like a perfectly valid RDF expression.
2) It has nothing whatsoever to do with the Dublin Core.
You create your own private namespace, which you choose to name "Myns"
(as is your God-given right as a person of free will). In that namespace,
you are supposed to define an entity with the qualified name
"Myns:DC.Creator.Princeton_Librarian" with some semantics assigned
to it (I assume the missing underscore is a typo). It is all fine
and dandy -- but it is not Dublin Core.
To explain in more detail what goes on here, let us assume that
a DC-conscious web-crawler were ro stumble across the above on
its travels. What would happen? Not very much. I'm afraid. It would
just mumble to itself:
'Myns="http://my schema/", oh, well nothing here for me',
and move on.
> leading to my own DTD would define "DC.Creator.Princeton Librarian" and
> solve the entire problem. (I've considered it to be similar to a style
> sheet). I have never understood how this would solve anything, but just
> believed it.
The problem RDF/XML namespaces solves (and it is a biggie!) is letting
different metadata schemas co-exist on the same World Wide Web without
getting into each other's hair. The Dublin Core does not hold exclusive
rights to representing metadata on the World Wide Web.
> So, it doesn't seem to work, which has always been my sneaking suspicion
> (apparently, as it has to Bernhard, too).
Oh, XML namespaces works great! (But perhaps not in the way you hoped
it would work).
Btw, to be a bit more forthcoming (or maybe not -- read on), I'll shall
rewrite the above so that it is visible in the Dublin Core (dc) and
Qualified Dublin Core (dcq) namespaces. I belive (XML is not my first
language) that this would look something like this:
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.0/"
xmlns:dcq="http://purl.org/dc/qualifiers/1.0/">
<rdf:Description about="http://my page/">
<dc:creator>
<rdf:Description>
<rdf:value> Jim Weinheimer </rdf:value>
<dcq:creatorType
rdf:resource="http://my schema/creatortype/Princeton_Librarian#"
/>
</rdf:Description>
</dc:creator>
</rdf:Description>
</rdf:RDF>
Now, when our DC-conscious web-crawler stumbles across this
revised version, it would probably think something like:
'dc="http://purl.org/dc/elements/1.0/", well I guess I better pay
attention! And dcq="http://purl.org/dc/qualifiers/1.0/" as well,
oh my, oh my!'
and then it would start parsing the page.
Going into the process in more detail, the web crawler would
proceed to mumble to itself:
'So it's this "Jim Weinheimer" entity wot's the creator of this
resource. That's nice.',
and then it would proceed to examine the element qualifier
(i.e. the dcq:creatorType part), and unless somebody has done a
lot of very hard work in making automatic recognision of
arbritrary defined schemas avilable, it would go on like this:
'Well if I had been a whole lot more clever I've would have been
able to make sense of the macine readable schema specification
that live on the address "http://my
schema/creatortype/Princeton_Librarian#".
But I don't.';
and then it would mumble "Hasta la vista, baby" in an Austraian accent,
and be gone.
How much is gained by having the qualifier defined like this.
Not very much (IMHO). But it gets worse.
Now, let us assume that somebody think that the following is a great
way to tell the world about the birthdate of the creator of the
resource:
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.0/"
xmlns:dcq="http://purl.org/dc/qualifiers/1.0/">
<rdf:Description about="http://my page/">
<dc:creator>
<rdf:Description>
<rdf:value> 1953-07-13 </rdf:value>
<dcq:creatorType
rdf:resource="http://my
schema/creatortype/PersonalName/DateofBirth#" />
</rdf:Description>
</dc:creator>
</rdf:Description>
</rdf:RDF>
Oh yes, this is valid Qualified Dublin Core. If we accept Qualified
Dublin Core, there is nothing (reapeat nothing) to stop people from
doing this.
Will they do this?
You bet!
This is just the familiar "DC.Creator.PersonalName.DateOfBirth"
from the Gerhard-Mercator-Universität*). I've just rephrased it
to conform to RDF/XML syntax.
*) http://www.ub.uni-duisburg.de/dissonline/metatags.html
Now, let us return to our valiant web crawler. What would happen when
it comes across this when prowling the Gerhard-Mercator-Universität
"Dissertationen Online" site.
I think that it is very, very likely that it would think:
'So it's this "1953-07-13" entity wot's the creator of this
resource. That's nice.',
You think this is just stupid? Well, computers are.
If you think the crawler should be more clever, think about what
sort of formal language that should be found at
http://my schema/creatortype/PersonalName/DateofBirth#
that actually could be used to make the web crawler understand the
intended semantics and pragmatics of the above assertion.
I guarantee fame, fortune and at leat the a Turing Award if you are
able to come up with a general solution to this.
--
- gisle hannemyr ( [log in to unmask] - http://home.sol.no/home/gisle/ )
------------------------------------------------------------------------
"Use the Source, Luke. Use the Source." -- apologies to Obi-Wan Kenobi
------------------------------------------------------------------------
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|