Re: [foaf-dev] mbox_sha1sum describes only email
Story Henry wrote:
> On 14 Sep 2008, at 11:44, Earle Martin wrote:
>
>> 2008/9/14 Story Henry <henry.story@...>
>>
>>> There are any number of solutions. Another solution would be to use
>>> an
>>> foaf:sha1sum relation that relates an object to an sha1sum of one of
>>> the URIs identifying it.
>>>
>> A while back I put together a vocabulary that allows for relating a
>> file to
>> its checksum with any particular algorithm:
>>
>> http://downlode.org/Code/RDF/File_Properties/
>>
>> At present it explicitly describes the subject of the checksum as a
>> file,
>> but I can see that you could change it to refer to generic "data",
>> which
>> could be typed as a file or an email address.
>>
>> Of course such a solution is probably overkill for most FOAF users,
>> but I
>> thought it might be of interest.
>
> Note that the foaf:sha1sum solution I am proposing does not take the
> checksum of the file referenced by the
> URL. Your fp:checksum has a domain of foaf:Document. The one I am
> proposing here, perhaps better named
>
> xxx:uriChecksum would have a domain of owl:Thing, ie, anything that
> can be named.
>
> For example it makes no sense to give a checksum of a person or
> mailbox.
>
> [] a foaf:Person;
> xxx:uriChecksum "hjsdfsjhfskjhdfskj";
> foaf:mbox [ xxx:uriChecksum "ssdfsfsfskjlkjl;ksdf1234" ] .
>
> Now how useful this really is is up for debate. But it would give us a
> generalisation of the
> foaf:mbox_sha1sum relation .
Note that the FOAF vocab already contains a foaf:sha1 property.
http://xmlns.com/foaf/spec/#term_sha1
[[
Property: foaf:sha1
sha1sum (hex) - A sha1sum hash, in hex.
Status: unstable
Domain: foaf:Document
The foaf:sha1 property relates a foaf:Document to the textual form of a
SHA1 hash of (some representation of) its contents.
The design for this property is neither complete nor coherent. The
foaf:Document class is currently used in a way that allows multiple
instances at different URIs to have the 'same' contents (and hence
hash). If foaf:sha1 is an owl:InverseFunctionalProperty, we could deduce
that several such documents were the self-same thing. A more careful
design is needed, which distinguishes documents in a broad sense from
byte sequences.
]]
Let's leave dnaChecksum aside for now :)
Thoughts on where to go with foaf:sha1 welcomed. Note that I tried using
it in RDFa in my homepage,
<span rel="foaf:depiction ">
<img src="danbri-txt.jpg" alt="danbri"
style="float: center"
property="foaf:sha1"
content="58d174f20c039289544b2364c5c21295df2e4a2b"
/>
</span>
and
<script type="text/javascript" src="jquery-1.2.3.min.js"
property="foaf:sha1"
content="6463e558dd79d51a2e8464806824c7bbc18c77fd"></script>
The latter was an exploration of its use to implement Douglas
Crockford's proposal for a hash= attribute, see
http://blog.360.yahoo.com/blog-TBPekxc1dLNy5DOloPfzVvFIVOWMB0li?p=789
Re modelling this properly, a useful test case is to consider two
zero-byte documents. For example one whose primaryAuthor (functional
property) was me, another (with a different creation date) made by
someone else. This of course gets us back in FRBR territory, see
http://en.wikipedia.org/wiki/FRBR and http://vocab.org/frbr/core
cheers,
Dan
--
http://danbri.org/