One problem (for implementers) with reification is that it significantly
increases the number of triples. This can be a problem when it comes to
persistence / performance.
> -----Original Message-----
> From: Pete Johnston [mailto:[log in to unmask]]
> Sent: Tuesday, November 18, 2003 6:17 AM
> To: [log in to unmask]
> Subject: Re: Rest vs. Soap (was Registry Extensions)
>
>
> Tom,
>
> > Conceptually, yes. I'm just wondering how applications can
> > in practice keep track of and use metadata or inferences
> > about provenance when data from multiple sources gets merged
> > -- and then use that information to implement preferences
> > about sources.
> >
> > Are you saying this problem can easily be solved?
>
> I think there are several possible approaches to doing this.
>
> One way is to include this information explicitly in the source data,
> using reification to provide additional metadata about the assertions.
>
> So, something like:
>
> In your source at http://tom.org/source.rdf, rather than just saying
>
> > the rdfs:label of dc:title is "Title"
>
> you say
>
> > Tom said (the rdfs:label of dc:title is "Title")
>
> And in my source at http://pete.org/source.rdf, rather than
> just saying
>
> > the rdfs:label of dc:title is "Name"
>
> I say
>
> > Pete said (the rdfs:label of dc:title is "Name")
>
> All this information is read into your application's triples database
> and you program your application to say "display statements
> made by Pete
> with a health warning".
>
> But of course that means you are trusting that I _will_ be honest and
> put "Pete said..." in my source data; I could lie and say "Tom
> said....".
>
> So another option would be to handle this in the application, and the
> application records that the statement
>
> > the rdfs:label of dc:title is "Title"
>
> or the statements
>
> > Tom said (the rdfs:label of dc:title is "Title")
>
> came from the source http://tom.org/source.rdf, and the same for the
> data from http://pete.org/source.rdf
>
> And in your application you make decisions about the
> use/validity/reliability etc of the data based on the source.
>
> The actual _mechanisms_ for making that association between the
> assertions and the source are up to the application.
>
> See e.g.
>
> http://www-106.ibm.com/developerworks/xml/library/x-rdfprov.html
>
> Of course if this stuff is in the application rather than in the data,
> you can't expect other applications to make the same
> "decisions". In the
> above scenario, my application could just as easily say "prefer
> statements made by Pete" or "prefer statements from
> http://pete.org/source.rdf"
>
> It seems to me how you approach this problem and how complex you make
> the checking depends largely on how much you are going to trust your
> source data. And surely in this specific case, we do have to have some
> trust? If we really can't trust the data sources, then I suggest we
> should abandon the idea of reading from distributed sources.
>
> Pete
>
|