Oops, just noticed that
<rdf:Description rdf:about="http://testers.mkdoc.com:80/features/">
<dcq:references>
<rdf:Bag>
<rdf:li>
<rdf:Description>
<dcq:URI>
<rdf:value>/features/accessibility/</rdf:value>
</dcq:URI>
<dc:title>accessible</dc:title>
<dc:description>Information about MKDoc's accessibility
features</dc:description>
</rdf:Description>
</rdf:li>
...etc
doesn't parse as proper RDF anyway. (Or it shouldn't...)
Regardless, using rdf:Bags for this sort of data is starting to look like
overkill to me.
Dan
On Sat, 30 Jun 2001, Dan Brickley wrote:
> On Sat, 30 Jun 2001, Dan Brickley wrote:
>
> > http://rdfweb.org/people/danbri/2001/06/dcarch-test/rdfq-tests.html
>
>
> I've now added a third example, couched against a (tweaked) snapshot of
> some more of the same data from Chris.
>
> > ...showing that we can pull together diverse metadata using RDF/DC. This
> > example isn't too exciting since the three files are similarly formated
> > and mention different resources. It would be more fun if the three files
> > were linked using dc:relation qualifiers; maybe I'll have a go at that
> > next time. Anyway, the live example seems to work in the (SiRPAC
> > based) Java tool: it finds three resultset rows that match the query
> > expression.
>
> I've just implemented this:
>
> http://rdfweb.org/people/danbri/2001/06/dcarch-test/rdfq-tests.html
>
> DCQ/RDF test 3:
>
> [[
> SELECT ?x, ?y, ?title1, ?title2, ?abstract1, ?abstract2, ?lastmod
> FROM
> http://rdfweb.org/people/danbri/2001/06/dcarch-test/relations/features_fix.rdf,
> http://rdfweb.org/people/danbri/2001/06/dcarch-test/relations/humans_fix.rdf
> WHERE
> (dc::title ?x ?title1)
> (dc::title ?y ?title2)
> (dcq::abstract ?x ?abstract1)
> (dcq::abstract ?y ?abstract2)
> (dcq::references ?x ?y)
> (dcq::modified ?y ?m)
> (rdf::value ?m ?lastmod)
>
> USING dcq for http://dublincore.org/2000/03/13/dcq#
> rdf for http://www.w3.org/1999/02/22-rdf-syntax-ns#
> vcard for http://www.w3.org/2001/vcard-rdf/3.0#
> dc for http://purl.org/dc/elements/1.1/
> ]]
>
>
> The query runs, and finds a single result, providing URL and title for
> each pair of pages linked by dcq:references, alongside the last-modified date
> for the referenced page. This shows that the two chunks of RDF/DC data
> have been successfully merged.
>
> To do this, I had to hack about with the data a bit:
>
> http://rdfweb.org/people/danbri/2001/06/dcarch-test/relations/features_fix.rdf
>
> Excerpt from tweaked version:
>
> <rdf:Description rdf:about="http://testers.mkdoc.com/features/">
> <dc:title>Features</dc:title>
> <dcq:abstract>
> MKDoc is a web site content management system that is very feature rich.
> </dcq:abstract>
> <dcq:references>
> <rdf:Description rdf:about="http://testers.mkdoc.com/features/human-readable-web-addresses/">
> <dc:title>Human Readable Web Addresses</dc:title>
> </rdf:Description>
> </dcq:references>
>
> and tweaked humans.rdf file:
> http://rdfweb.org/people/danbri/2001/06/dcarch-test/relations/humans_fix.rdf
>
> <rdf:Description rdf:about="http://testers.mkdoc.com/features/human-readable-web-addresses/">
> <dc:title>Human Readable Web Addresses</dc:title>
> <dcq:abstract>
> MKDoc has been designed to generate web sites that have human readable,
> useable, and memorable addresses.
> </dcq:abstract>
> [...]
> <dcq:modified>
> <dcq:W3CDTF>
> <rdf:value>2001-06-28T15:07:02Z</rdf:value>
> <rdfs:label>Modified</rdfs:label>
> </dcq:W3CDTF>
> </dcq:modified>
>
>
>
> The interesting lesson from this is that the original structure of these
> files (which to my best of my knowledge conforms to one reading of the
> current DC/RDF draft) doesn't support such easy data merging.
>
> Instead, by using two layers of indirection, the relationship between
> this pair of resources is a little obscured. The data's there and intact,
> but RDF's "out of the box" data merging capability is (I'd argue)
> neglected:
>
> The original structure was... (excuse the indenting...)
>
> <rdf:Description rdf:about="http://testers.mkdoc.com/features/">
> <dcq:references>
> <rdf:Bag>
> <rdf:li>
> <rdf:Description>
> <dcq:URI>
> <rdf:value>/features/accessibility/</rdf:value>
> </dcq:URI>
> <dc:title>accessible</dc:title>
> <dc:description>Information about MKDoc's accessibility
> features</dc:description>
> </rdf:Description>
> </rdf:li>
> </dcq:references>
>
>
> The contrast is between:
>
> [page1] -- dcq:references --> [page2] (my tweaked version)
>
> and
>
> [page1] -- dcq:references --> [ bag_1 ] --- rdf:_1 --> [ ] --rdf:value-> [page2]
>
> (Chris's original data files).
>
>
> On the basis of these experiments, I'm inclined to advise that the spec be
> amended to discourage over-use of the RDF container constructs. I'm
> actually tempted to claim that we should consider avoiding them
> altogether, since the value of data-merging imho outweighs the information
> supplied by employing the Bag/Seq/Alt machinery. But I want to make some
> more test cases before making such a claim...
>
> Dan
>
|