Re: [foaf-dev] sameAs was Re: Linking foaf and other rdf documents/resources
Melvin Carvalho <[email protected]> Tue, 5 Jul 2011 14:20:31 +0200
| Newsgroups | gmane.comp.web.rdfweb |
|---|---|
| Message-ID | <CAKaEYhLNSaoTcxqoDtz11dkbA8NCN+kV=1XumLrxpDyu+6B5ig@mail.gmail.com> |
On 4 July 2011 19:18, Bruce Whealton <bruce-IKflticWDqMk+I/[email protected]> wrote: > Mischa, > Thanks, that is a good point. If I wanted to use owl: sameAs, I should use > the identifier that refers to the people that are the same not the > documents. As soon as you said it, I was thinking it was obvious and I > should have realized that previously. > > Speaking of that video series... do you know a good way to create a sitemap > of a collection of RDF files? Maybe any sitemap generation tool would treat > xml and rdf files the same. I’m not sure though about that. Semantic sitemap? http://notes.3kbo.com/semantic-sitemap > Bruce > > From: Mischa Tuffield > Sent: Sunday, July 03, 2011 7:03 PM > To: Bruce Whealton > Cc: foaf-dev-RyYwo1q5J+qsOXdr9/[email protected] > Subject: Re: Owl:sameAs was Re: [foaf-dev] Linking foaf and other rdf > documents/resources > > Hi, > > <snip/> > > On 3 Jul 2011, at 22:05, Bruce Whealton wrote: > > I found a great video on Linked Data that is very helpful, especially in > describing many of these issues, though your explanation had made things > clear too. <wlEmoticon-smile[1].png> > > > Great news ! > > The video presentation is here: > http://videolectures.net/iswc08_heath_hpldw/ > and they mention the 303 redirects too. They didn’t get into the specifics > of that, though. I’ll have to learn how to implement this – any tips are > welcome. > > > I haven't watched that but am sure Tom et al are talking sense. > > I realized that the #me isn’t really the same as it’s html equivalent. When > you use http://brucewhealton.us/BruceWhealtonJr/foaf.rdf#me the #me just > gets stripped off. > I did want to see if I could get clarification using owl:sameAs. I guess > you had already mentioned that it doesn’t matter if I use foaf:Person as the > container tag or foaf: Description to contain all my information. I can > still distinguish between how to refer to and identify myself as different > from a document about myself. So, would I use owl:sameAs inside my foaf > file, about me, to link to other documents about me? I guess it would be > wrong to say http://brucewhealton.us/BruceWhealtonJr/foaf.rdf#me owl:sameAs > http://path/to/anotherdocumentaboutme/ because the subject of that triple is > referring to me, not the document about me. But if I leave off the #me then > I can say that one foaf document about me is the same as another document > about me... both are about the same person. Is that right? > > > Yes I guess that all makes perfect sense. > > I would be happy to say that two foaf:Person URIs are owl:sameAs : > > <http://mmt.me.uk/foaf.rdf#mischa> owl:sameAs > <http://example.com/service/mischat#me> . > > But I wouldn't model two foaf:Documents as being same as, I would use > rdfs:seeAlso. > > <http://mmt.me.uk/foaf.rdf> rdfs:seeAlso <http://example.com/service/mischa> > . > > as in if you are interested in the triples in this documents have a look at > this other document. > > Can I say that my foaf profile document is owl:sameAs my doac document about > me – doac is Description of a Career, a vocabulary used for describing one’s > resume of skills, work experience and education. And for the purposes of > Genealogy I might have a bio.rdf file as well, that uses the bio vocabulary > and maybe relationships biography, both extended from FOAF. I guess they > are all documents I can relate using owl:sameAs > > > You could do that, but I wouldn't suggest doing it. Conceptually sameAs'ing > two foaf:Person URIs makes sense, two identifiers for the same person. But > sameAs'ing two documents and asserting that they are the same thing doesn't > make that much sense to me. I would consider using rdfs:seeAlso between the > two foaf:Documents and relying of the foaf:Person's found in each document > to share common identifiers. > > Mischa > > Thanks, > Bruce > > ++++++++++++++++++++++++++++++++++++++++++++++++++ > Bruce Whealton, Owner Future Wave Designs > FOAF: http://whealton.info/BruceWhealtonJr/foaf.rdf > Vcard: http://whealton.info/BruceWhealtonJr/brucewhealtonvcard.html > Web Design and Development http://FutureWaveDesigns.com > http://futurewavedesigns.com/wordpress/ > Web Technology wiki: http://futurewavedesigns.com/w/ > ++++++++++++++++++++++++++++++++++++++++++++++++++ > > Hi Bruce, > > <snip/> > > On 29 Jun 2011, at 16:47, Bruce Whealton wrote: > > Mischa, (and others) > This is very helpful. So, I was looking at your profile or > should we call it FOAF file – I’m trying to get the wording right, if there > is a right way to say these things. > > > Both are fine. http://mmt.me.uk/foaf.rdf is my "FOAF file", my "FOAF profile > document", or simply a document with some FOAF data in it ... again, you > seem to be saying the right things™ :) > > > I’m not sure I have a good handle on the use of #me or #danbri. I thought I > understood it but my understanding would suggest that one would always have > to use that when referring to the person you foaf:know. > > > > No not at all. the #me or #danbri this, is just a convention for using hash > URIs for picking a foaf:Person URI. They are not all hash URIs, have a look > at Tom Heath's FOAF profile, he uses 303-redirection and has a non-hash URI > for the foaf:Person which represents him. > > > So, in an html document, #danbri or #mischa is a named anchor and a link to > a domain and path suffixed with #mischa would take one to that named anchor > in the document. So, what does this mean in RDF files? > > > It is just another URI within an RDF document. This is so the document > describing me http://mmt.me.uk/foaf.rdf can have a different URI from the > URI that describes me http://mmt.me.uk/foaf.rdf#mischa . That is > http://mmt.me.uk/foaf.rdf is NOT the same as > http://mmt.me.uk/foaf.rdf#mischa these are different unique identifiers. > > When would you use #me versus #mischa? I thought maybe it meant that in a > document about oneself, you would use #me to refer to yourself as opposed to > someone else in that document. > > > You can use anything you like. The convention is to use the following > triples: > > <http://mmt.me.uk/foaf.rdf> a foaf:PersonalProfileDocument . > <http://mmt.me.uk/foaf.rdf> foaf:primaryTopic > <http://mmt.me.uk/foaf.rdf#mischa> . > <http://mmt.me.uk/foaf.rdf#mischa> a foaf:Person . > > The above triples ^^ state. <http://mmt.me.uk/foaf.rdf> is a FOAF document. > The FOAF document has a primaryTopic which is > <http://mmt.me.uk/foaf.rdf#mischa>, and URI > <http://mmt.me.uk/foaf.rdf#mischa> is of type foaf:Person. > > > Next question: you said: 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". > > > so > > <http://mmt.me.uk/foaf.rdf#mischa> foaf:knows <http://danbri.org/foaf.rdf> . > (is semantically incorrectly) > > and > > <http://mmt.me.uk/foaf.rdf#mischa> foaf:knows > <http://danbri.org/foaf.rdf#danbri> . > > Like you said above, you are spot on. > > So, does that mean you want to refer to the foaf:Person container tag inside > the document and not the foaf: Description container? Or would you have one > document that serves as a foaf:Person URI and another that serves as a > foaf:Description URI? > > > Either or. The former is what I do and Tom Heath does the later > http://tomheath.com/home/rdf both are fine. I personally think the former is > easier but that is a matter of personal preference. > > and you were saying that it would be incorrect to say you foaf:knows the > resource located by the following: > <rdf:Description > rdf:about="http://www.okkam.org/ens/id9efc2692-8bf0-4546-8eee-42877fa60ac6"> > This doesn’t actually represent a foaf:Person does it? It is a document > about the person. > > > It looks like an HTML document to me, but I haven't bothered looking that, > but naively it looks like URI for a person. > > http://sig.ma/search?q=http://www.okkam.org/ens/id9efc2692-8bf0-4546-8eee-42877fa60ac6 > > > You then write that this is more useful with the email address because there > can be more than one person in a foaf file. > <#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-tvT2FxLsLtVKTLD/[email protected]> . > > Can you also use a nodeID to refer to Joe Bloggs in that document? This is > related to my above question about the meaning of using #me or #mischa. > > > Of course you can :) > > > Next question: Since we cannot mix different RDF serialization formats in > the same file, how would you represent using RDF/XML the above statements > where you are using blank nodes? Often times I am reading about using a > vocabulary > > > Have a look a tool for converting turtle to rdf/xml if that is what you > want. See libraptor or similar. > > and I run across examples like the above and I’m thinking, but my document > is in an XML format and this is just showing it in Tuttle with blank nodes. > Can you use blank nodes in RDF/XML? > > > Yes, your example RDF/XML: > > > > I had been using > <foaf:knows> > <foaf:Person> > ... > <rdfs:seeAlso rdf:resource=”http://url/pathto/foaf.rdf"/> > </foaf:Person> > </foaf:knows> > > > has a blank node it in, worth playing with software which parses back and > forward from RDF/XML -> Turtle. That might help you figure out what it going > on ... > > > > Thanks, > Bruce > > > Your welcome, > > Mischa > > > > From: Mischa Tuffield > Sent: Wednesday, June 29, 2011 3:55 AM > To: Bruce Whealton > Cc: foaf-dev-RyYwo1q5J+qsOXdr9/[email protected] > Subject: Re: [foaf-dev] Linking foaf and other rdf documents/resources > > Hello > > 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. > > i.e. > > <#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-tvT2FxLsLtVKTLD/[email protected]> . > > 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-tvT2FxLsLtVKTLD/[email protected]> > > > 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. > > Mischa > > 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-RyYwo1q5J+qsOXdr9/[email protected] > http://lists.foaf-project.org/mailman/listinfo/foaf-dev > > > ___________________________________ > Mischa Tuffield PhD > Email: [email protected] > 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 > > > > ___________________________________ > Mischa Tuffield PhD > Email: [email protected] > 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 > > > > ___________________________________ > Mischa Tuffield PhD > Email: [email protected] > 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 > > _______________________________________________ > foaf-dev mailing list > foaf-dev-RyYwo1q5J+qsOXdr9/[email protected] > http://lists.foaf-project.org/mailman/listinfo/foaf-dev >