[foaf-dev] Linking foaf and other rdf documents/resources

Mischa Tuffield mischa.tuffield at garlik.com
Wed Jun 29 09:55:42 CEST 2011


comments inline:

On 29 Jun 2011, at 01:11, Bruce Whealton wrote:

> Hello all,
>                 So, there are a few ways that one can link various profiles, or RDF FOAF files/resources.  I’m wondering if there is a best practice.

Not sure if there is any best practice, I would say that foaf:knows'ing a foaf:Person URI is the "best way" as it slightly less costly to query, but will comment further below:

FWIW, I think I make use of all three of the methods you list below in my foaf file http://mmt.me.uk/foaf.rdf 

> I had been using
> <foaf:knows>
>         <foaf:Person>
> ...
>          <rdfs:seeAlso rdf:resource=”http://url/pathto/foaf.rdf"/>
>         </foaf:Person>
> </foaf:knows>

In the above method if your rdf looks like : 

<#foo> foaf:knows _:bnode0 . 
 _:bnode0 a foaf:Person . 
 _:bnode0 rdfs:seeAlso <http://foozle.example/foaf.rdf> .

You will need to give the foaf:Person ( _:bnode0) an inverse functional property, something like "foaf:homepage or foaf:weblog or foaf:mbox_sha1sum" as the above fragment does give the foaf:Person any unique identifiers. 


<#foo> foaf:knows _:bnode0 . 
 _:bnode0 a foaf:Person . 
 _:bnode0 rdfs:seeAlso <http://foozle.example/foaf.rdf> .
_:bnode0 foaf:name "Joe Bloggs" . 

In english I make that to be. "I know this person, if you look here [1] you can find information about this person, and his name (ambiguously - as in there could be two people called joe bloggs in the document I point to) is Joe Bloggs"

[1] <http://foozle.example/foaf.rdf>  

^^ is not as useful as : 

<#foo> foaf:knows _:bnode0 . 
 _:bnode0 a foaf:Person . 
 _:bnode0 rdfs:seeAlso <http://foozle.example/foaf.rdf> .
_:bnode0 foaf:name "Joe Bloggs" . 
_:bnode0 foaf:mbox <mailto:joe.bloggs at lame.example> . 

In english I make that to be. "I know this person, if you look here [1] you can find information about this person, and his name (ambiguously) is Joe Bloggs, but he is the person which is on the end of this [2] email address . 

[1] <http://foozle.example/foaf.rdf>  
[2] <mailto:joe.bloggs at lame.example> 
> But some FOAF profiles I’ve seen setup with method #2.
> <rdf: Description rdf: about=”http://pathToFileAboutPerson/longstringofcharacters” >
>       ... information about the person
> </rdf: Description>
> then further down there would be a
> <foaf: knows resource=”http://pathToFileAboutPerson/longstringofcharacters”/>

So, in this example "http://pathToFileAboutPerson/longstringofcharacters" is or should be a foaf:Person URI. I noticed that some people were doing this wrong, and were foaf:knows'ing a foaf:Document URI which is not correct in my books. 
> I assume that the about="http://pathToFileAboutPerson/longstringofcharacters” refers to a FOAF file but I guess it doesn’t have to link to a foaf file.

Usually it would be a foaf:Person URI and not a foaf:Document URI, as in, "Mischa knows Danbri" not "Mischa knows a Document on the web which talks about Danbri". 

> I wonder if there is a benefit to using method #2 or a best practice that favors this?  I can see that it might make it easier if one had to refer, more than once, to the resource that represents a person (through their FOAF profile) in a document.

As above, method 2 is easier to process. 

> As one uses more vocabularies and has more extensive rdf files, it becomes more likely that one is going to make numerous assertions about that person (resource). 
> Most importantly though, will there be any difference in the ability of crawlers or other apps to follow the links between various FOAF profile files?

Regarding crawling, both of the above methods should work, especially given that in your bnode example at the start, you rdfs:seeAlso the foaf Document. 


> Thanks,
> Bruce
> ++++++++++++++++++++++++++++++++++++++++++++++++++
> Bruce Whealton, Owner Future Wave Designs
> FOAF: http://whealton.info/BruceWhealton1/foaf.rdf
> Vcard: http://whealton.info/BruceWhealton1/brucewhealtonvcard.html
> Web Design and Development http://FutureWaveDesigns.com
> http://futurewavedesigns.com/wordpress/
> Web Technology wiki: http://futurewavedesigns.com/w/
> ++++++++++++++++++++++++++++++++++++++++++++++++++
> _______________________________________________
> foaf-dev mailing list
> foaf-dev at lists.foaf-project.org
> http://lists.foaf-project.org/mailman/listinfo/foaf-dev

Mischa Tuffield PhD
Email: mischa.tuffield at garlik.com
Homepage - http://mmt.me.uk/
+44(0)208 439 8200  http://www.garlik.com/
Registered in England and Wales 535 7233 VAT # 849 0517 11
Registered office: Thames House, Portsmouth Road, Esher, Surrey, KT10 9AD

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.foaf-project.org/pipermail/foaf-dev/attachments/20110629/27e9ae2e/attachment.htm 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 841 bytes
Desc: This is a digitally signed message part
Url : http://lists.foaf-project.org/pipermail/foaf-dev/attachments/20110629/27e9ae2e/attachment.pgp 

More information about the foaf-dev mailing list