DiSo のソーシャルグラフを XFN で実現する話を考えてて思ったんだけど、XFNって、例えばアリスとボブがいたときに、ボブにとってアリスが rel=”muse” のとき、アリスにとってのボブはたぶん muse じゃない、とかそういう非対称があるよね。極端な場合だと、ボブにとってのアリスは rel=”sweetheart” だけど、アリスにとってのボブは rel=”stalker” だとか。
注: XFN 1.1 で定義された属性値に stalker は存在しません
とか思って真面目に XFN 1.1 メタデータプロファイル を読んでみたら、けっこー面白いなこれ。対象性についてもちゃんと定義されてる。
- co-resident は、symmetric かつ transitive だそうな。transitive ってことは、同居人の同居人はやっぱり同居人だと。まあ当然。
- friend は、often symmetric だそおです。つうことは、非対称、つまり、俺はあいつのことを友達だと思ってるが、あいつは俺のことを友達だと思ってない、ってこともあり得ると。
- spouse は symmetric だけど not transitive だそうな。イスラム教圏まで考えると確かにそうだな。
話を元に戻すと、XFN 1.1 での date や sweetheart は symmetric と定義されてるので、上で書いたみたいな sweetheart/stalker 的な非対称性は本来ありえない。ありえないことを保証するには、ボブがアリスのことを sweetheart だと宣言する際に、アリスから承認を得る必要がある、という流れで SNS として実装するのが良さげ、という話になりますな。
逆に friend は symmetric でなくてもいいので、相手の承認を得なくても勝手に friend 呼ばわりしていい、とゆうことに定義上はなろうかと。twitter の follower みたいなもんですな。

