W3C home > Mailing lists > Public > www-rdf-dspace@w3.org > June 2003

RE: Provenance for section 3 in technologies.tex

From: Butler, Mark <Mark_Butler@hplb.hpl.hp.com>
Date: Thu, 26 Jun 2003 16:27:29 +0100
Message-ID: <5E13A1874524D411A876006008CD059F066A1DB7@0-mail-1.hpl.hp.com>
To: "'Alberto Reggiori'" <alberto@asemantics.com>, www-rdf-dspace@w3.org

Hello Alberto

Good to hear from you. Yes I think context is very important also and I am
also influenced by John Sowa here. So I think we are basically agreeing
although I will read through your other references with interest.

I do have additional an use case for contexts though which you may be
interested in, based on my previous work on CC/PP. In CC/PP requests
(normally HTTP) are augmented with CC/PP information about device
capabilities and (some) user preferences. So you get a chain of profiles
e.g. the factory presets for the device, the user preferences for the
device, an intermediate proxy etc each represented by an individual profile.
So one of the roles of CC/PP processors is to perform "resolution" i.e.
determine when there are multiple values for the same property which is the
preferred property. In UAProf, a particular application of CC/PP developed
by the OMA (formerly the WAP Forum) they define rules called locked,
override or append e.g. select the first value of an attribute, select the
last value of an attribute, or append all the attribute values together. 

When I was implementing CC/PP and UAProf I found it quite hard to implement
these resolution rules, at least when performing the merge in a single
model, so in the end I just created an RDF model from each profile then read
that information into another data structure to perform the merge. However I
note this problem could also be solved with contexts e.g. you would place
each profile into a different context, and use a query mechanism that
supports contexts (which I understand RDFstore does) to perform resolution
as part of query. The UAProf standard is well documented, and in addition I
have quite a few reports on my implementation on my web page so it might be
an interesting experiment to apply your architecture to this problem,
although as I am working on SIMILE I'm afraid I can't undertake to do this
myself :)

> BTW: while at www2003 I had a chat with Matt Biddulph about his RSS 
> codepiction code/demo and he seems to have similar problems and 
> solutions using Jena with reification to mimic contextual 
> information - that means that this aspect is going to fundamental for the 
> success of the whole Semantic Web and RDF systems to me

Yes I agree. I think merging information from multiple sources while
retaining context information is a pretty generic use case. Furthermore I'm
not as familiar with processing the :log namespace in cwm as other people on
this list probably are, but it seems to me that there are use cases where
"information destructive" context resolution i.e. you get all the data and
resolve it once is undesirable, especially for large problems. We can do the
same thing with quads in an information conservative way, although as Andy
has pointed out if you do further manipulation to the RDF after merging it
you get a problem because if may be harder to label the contexts of
different statements. Of course, if you can avoid manipulating e.g. you only
add statements, you can get around this. Information destructive versus
information conservative processing has been considered by some of
theoretical computer science community (e.g. billard ball logic) do you know
of any papers that have considered this in relation to the SW and RDF?

best regards

Dr Mark H. Butler
Research Scientist                HP Labs Bristol
Internet: http://www-uk.hpl.hp.com/people/marbut/
Received on Thursday, 26 June 2003 11:30:51 EDT

This archive was generated by hypermail pre-2.1.9 : Wednesday, 24 September 2003 13:35:25 EDT