[rdfweb-dev] foaf thoughts

Flo Ledermann ledermann at ims.tuwien.ac.at
Thu Jul 17 11:50:10 UTC 2003


hi all, i am new to the FOAF world but already fascinated...

i am carrying this project around in my brain for a long time already, 
circulating around friendship networks, resource sharing, collaborative 
filtering and the like, and i already had some prototypes implemented 
over the years. but now i came across foaf and i think it is really 
answering a lot of open questions to me...

however, some questions still remain open, and some new emerged, and 
after i read through the whole archive of rdfweb-dev yesterday, i dare 
to discuss them with you:

the basic motivation for me is that i think a lot of resources (in the 
real world) are wasted because of a lack of communication and trust 
between the individuals - flats are empty, cars are unused or used with 
only one person sitting in there, mp3 collections are maintained 
individually, knowledge is not used or has to be acquired from 
centralized, "official" sources (like google) and so on. as far as real 
life is concerned, there are established means and procedures to 
exchange these resources, either in public (via a "market") or in 
private (via friends that i "trust"), but for the infosphere we lack 
these established standards.

ok, so far i think i've just written a basic introduction to the foaf 
ideas :). now for the concrete questions:

- concerning real life resources, these can currently not be expressed 
in foaf in every details. do i just take any ontology i come across, to 
describe, for example, that i "own" a "car" that i might "lend" to 
anyone who i "trust" with a maximum degree of 2 (i.e. a friend or a 
friend-of-a-friend)? concerning the things itself, i think this is not a 
problem and even intended like this by rdf and namespaces, but the 
abstract concepts like "trust", "resource", "lending" etc. should maybe 
go into the foaf core.

- which leads to the definition of "trust", which has been a topic in 
this community from the start, as far as i can tell from the archives. 
i've read jennifer goldbeck's paper, and i don't think that i would want 
to rate the degree of friendship or trust that i have towards a person 
on any scale - i think we have to find other ways to enable the user to 
express and control these things, and to enable the software agents 
acting on behalf of our users to draw the right conclusions from the 
rdfweb they are spidering. before i came across foaf, i decided (after 
many iterations and discussions of the topic) that i would want to have 
two basic relationship types, "knows" and "trusts", without any further 
specification or quantification (of course that can always be layered on 
top of that). i think with these two relationships we could go a long 
way, because i would have some way for rapidly extending my personal 
network with people i know, without giving away too much control and 
still connecting to my friends (the people i trust) in a tighter way.

- for querying and using the network, this would give quite powerful 
capabilities. things like "ask all people i know and who live in my town 
whether they have a welding machine" or "allow all people i trust to a 
degree of two or less to download mp3s from me" are then possible. but 
how do i formulate these queries (for now, on a technical level rather 
than a ui level)? is there any rdf query language that can perform these 
kind of tasks?

- now comes a hard one: in the real world, i give out different 
information depending on who is talking to me. a friend knows a lot 
about me (including address, resources, but also personal details, 
interests etc.), whereas towards a strangr i might be more careful with 
giving out information or i might even lie to him/her! how do we model 
that in rdf/foaf? i know this has been discussed on the list, but for me 
no conceptual solution was ever presented. i don't like the 
cryptographic approaches that have been discussed, because they might 
ensure integrity of the information, but i am more interested in this on 
a conceptual level - how do we want this to work? i think the 
cryptographic approaches are just not fine-grained enough to solve this.

first of all, we have to find some way of describing these constraints 
in foaf - which parts of my foaf file are given out to whom. to do that, 
one would need a kind of pattern language, and persons/agents matching 
the patterns (similar to a query, but a kind of ex-post query) would 
receive the information. on an implementation level, we would have to 
move away from openly published foaf files, and put them behind a kind 
of "firewall" (which i would maybe call "skin") to protect the personal 
information and only give out the information that i want the other 
agent to receive. this would require some kind of 
authentication/identification mechanism ("i am an agent asking in behalf 
of this person for that information"), but could still be realized in http.

the major implication of such a feature would be that it requires more 
infrastructure to set it up - at least a webserver that you can control 
and script to a certain amount - and would therefore go away a bit from 
the grassroots p2p approach that is possible now. on the other hand - it 
is just an optional enhancement, and people could still publish thier 
public info through static rdf files, as they do now.

of course one would then use cryptographic approaches to ensure the 
integrity of authentifications and so on, but i am not interested in 
cryptography and could personally live with potential misuse, in a 
prototype phase. but i am sure there are people out there who can solve 
these problems.


- finally, a few usecases i am interested in, and i would be happy to 
contribute to foaf and the surrounding tools to be able to realize them:

+ collaborative filtering/forwarding of messages through my foaf network
+ mp3/movie recommendations (and maybe sharing, but that would require 
additional software installed at the users machine, which at this point 
probably goes too far.)
+ car sharing and "who can give me a ride" service
+ resource sharing (tools, space, knowledge)

ah, btw you can have a look at a system i started to develop (a kind of 
proprietary foaf) at http://architekt.ims.tuwien.ac.at/map/map.php - 
it's defunct at the moment (transitioning to foaf ;), but you can take 
it as a proof for my commitment/skills if you want :) ah, and the "new 
entity" dhtml form might be handy for the foaf-o-matic, i am especially 
proud of the expandable "connections" list. not sure if this works 
outside mozilla though.

phew, pretty long mail, nevertheless hoping for feedback...

all the best,

f/0

http://www.mediavirus.org/f/0/foaf.rdf

-- 
|-
| Florian Ledermann <ledermann at ims.tuwien.ac.at>
| http://www.mediavirus.org/f/0/
|-
| "I think I'm thinking, therefore I possibly are."
|-





More information about the foaf-dev mailing list