
@によるメッセージ(返信)、#によるハッシュタグ、L:による位置情報など


<status> <id>823422648</id> <text>@gridinoc, same API URI (and same code) sometimes works...</text> <created_at>Fri May 30 15:39:55 +0000 2008</created_at> <source>web</source> <truncated>false</truncated> <favorited>false</favorited> <in_reply_to_status_id>823401484</in_reply_to_status_id> <in_reply_to_user_id>5017391</in_reply_to_user_id> <user> <id>4099141</id> <name>Masahide KANZAKI</name> <screen_name>_masaka</screen_name> <location>Tokyo, Japan</location> <description>A pure tone enthusiast, and a man of ...</description> <profile_image_url>http://...<profile_image_url> <url>http://www.kanzaki.com/</url> ... </user> </status>
<id>で識別(グローバルには識別できない)。内容が<text>、作者(もしくはそのアカウント)が<user>で表現される<in_reply_to_status_id>と<in_reply_to_user_id>でメッセージがつながる<user>内で簡単なプロフィールが表現される<entry>
<id>tag:twitter.com,2008-05-30...</id>
<title>_masaka: @gridinoc, same API URI (and same code) sometimes works...</title>
<content type="html">_masaka: @gridinoc, same API URI (and same code) sometimes works...</content>
<link rel="alternate"
href="http://twitter.com/_masaka/statuses/823422648" type="text/html"/>
<published>2008-05-30T15:39:55+00:00</published>
<updated>2008-05-30T15:39:55+00:00</updated>
</entry>
titleとcontentの両方に。userやコンテンツリンク(返信)の情報は失われる。<entry> <id>27508738ea26b9b8213db737d3be8289700ef63b427092</id> <memo>フリードリヒ・エルンスト・フェスカ(Fesca)の交響曲第2番を...</memo> <link rel="alternate" type="text/html" href="http://timelog.jp/msg/?27508738ea26b9b8213db737d3be8289700ef63b427092"/> <modified>2008/06/03 22:54:56</modified> <tag>music</tag> <toid>...</toid> <toname>...</toname> <replyid>...</replyid> <tododate></tododate> <author> <id>masaka</id> <name>masaka</name> <image> <normal>http://img.timelog.jp/imageuserface/masaka.jpg</normal> <thumb>http://img.timelog.jp/imageuserface/masaka_m.jpg</thumb> <small>http://img.timelog.jp/imageuserface/masaka_s.jpg</small> </image> </author> </entry>
<id>をもち、内容は<memo>、作者は<author>で表現される<toid>、<replyid>などでSNS的なつながりが表現されるが、作者のプロフィール情報は名前、アイコンのみ。タグは<tag>で示される。<entry> <id>27508738ea26b9b8213db737d3be8289700ef63b427092</id> <title>フリードリヒ・エルンスト・フェスカ(Fesca)の交響曲第2番を...</title> <link rel="alternate" type="text/html" href="http://timelog.jp/msg/?27508738ea26b9b8213db737d3be8289700ef63b427092"/> <issued>2008-06-03T22:54:56+09:00</issued> <modified>2008-06-03T22:54:56+09:00</modified> <author> <name>masaka</name> </author> </entry>
titleのみ(contentとの重複はない)、作者名はauthor内に保持されている。
http://purl.org/atom/ns#が用いられている<entry> <titletype="text">@gridinoc, same API URI (and same code) sometimes works...</title> <updated>2008-05-30T15:39:55Z</updated> <published>2008-05-30T15:39:55Z</published> <id>tag:friendfeed.com,2007:266de66a-b653-b8da-d1d2-c96a1cee19dd</id> <link href="http://twitter.com/_masaka/statuses/823422648" rel="alternate" type="text/html"/> <ff:id>266de66a-b653-b8da-d1d2-c96a1cee19dd</ff:id> <ff:user> <ff:id>38448916-2977-11dd-bca5-003048343a40</ff:id> <ff:name>Masahide Kanzaki</ff:name> <ff:nickname>mkanzaki</ff:nickname> <ff:profileUrl>http://friendfeed.com/mkanzaki</ff:profileUrl> </ff:user> <ff:service> <ff:id>twitter</ff:id> <ff:name>Twitter</ff:name> <ff:iconUrl>http://...</ff:iconUrl> <ff:profileUrl>http://twitter.com/_masaka</ff:profileUrl> </ff:service> </entry>
idによる識別はできるが、オリジナルとは異なる、FriendFeedとしてのIDになっているtitleで、作者はFriendFeed独自のff:userとff:serviceで示される。
ContainerItemとそのサブクラスPostcontent、内容の対象(書評、ブックマークなど)を表すabouthas_creator
(図はSIOC仕様書より)<sioc:Post rdf:about="http://twitter.com/_masaka/statuses/823422648"> <sioc:content>@gridinoc, same API URI (and same code) sometimes works...</sioc:content> <dc:created>2008-05-30T15:39:55Z</dc:created> <sioc:reply_ofrdf:resource="http://twitter.com/gridinoc/statuses/823401484/"/> <sioc:has_creator> <sioc:User> <foaf:isPrimaryTopicOfrdf:resource="http://twitter.com/_masaka"/> </sioc:User> </sioc:has_creator> </sioc:Post>
reply_ofを利用sioc:has_creatorで記述foaf:isPrimaryTopicOfで識別
name, nick, homepage, weblog, interestなどknowsOnlineAccount, holdsAccount, isPrimaryTopicOf<foaf:Person rdf:about="urn:pin:MK705"> <foaf:name>Masahide Kanzaki</foaf:name> <foaf:homepage rdf:resource="http://www.kanzaki.com/"/> <foaf:holdsAccount> <foaf:OnlineAccount> <foaf:isPrimaryTopicOfrdf:resource="http://twitter.com/_masaka"/> </foaf:OnlineAccount> </foaf:holdsAccount> <foaf:holdsAccount> <foaf:OnlineAccount> <foaf:isPrimaryTopicOfrdf:resource="http://masaka.timelog.jp/"/> </foaf:OnlineAccount> </foaf:holdsAccount> ... </foaf:Person>

foaf:isPrimaryTopicOfはIFP(IDとして機能するプロパティ)なので、同じ値を持つ主語が併合される
sioc:reply_ofを辿ることで、異なる作者のマイクロブログコンテンツを結びつけるsioc:has_creator、foaf:isPrimaryTopicOfをつないでいくと、元コンテンツ作者と、返信先コンテンツ作者のつながりが得られる<http://www.kanzaki.com/>である作者のポストを全て取り出す:PREFIX sioc: <http://rdfs.org/sioc/ns#> PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT?id?memoWHERE {?idsioc:content?memo; sioc:has_creator [foaf:isPrimaryTopicOf?account]. ?person foaf:homepage <http://www.kanzaki.com/>; foaf:holdsAccount [foaf:isPrimaryTopicOf?account].}
sioc:reply_ofをたどって、作者同士のつながりのグラフを得る:PREFIX sioc: <http://rdfs.org/sioc/ns#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX sn: <http://purl.org/net/ns/socialnet#>
CONSTRUCT {
?prof1 sn:owner_contacts ?prof2.
} WHERE {
?item1 sioc:reply_of ?item2 ;
sioc:has_creator [foaf:isPrimaryTopicOf ?prof1].
?item2 sioc:has_creator [foaf:isPrimaryTopicOf ?prof2].}
CONSTRUCTによって新しいグラフを作り出しているL:マイクロフォーマット(追記:ナノフォーマットと呼ぶそうだ)による地域表記<item rdf:about="...">
<foaf:topic>
<rdf:Description>
<rdfs:label>ビジョンセンター</rdfs:label>
<geo:lat>35.6972</geo:lat>
<geo:long>139.7682</geo:long>
</rdf:Description>
</foaf:topic>
...
</item>
getLatLng()L:マイクロフォーマットから地名を取り出して、簡単に地図にプロットできる| 緯度 | 経度 | Geohash |
|---|---|---|
| 35.6972 | 139.7682 | xn77hd2p7 |
| 35.70 | 139.77 | xn77hd2 |
| 35.7 | 139.8 | xn77h |
accuracy、Digital Picture/Document Description vocabularyのdpd:granularity<dpd:Place>
<geo:lat>35.6972</geo:lat>
<geo:long>139.7682</geo:long>
<dpd:granularity>2</dpd:granularity>
<!-- 通常なら粒度4であるところを、プライバシーなどから2としている -->
</dpd:Place>
foaf:based_near<foaf:Person rdf:about="urn:pin:MK705">
<foaf:name>Masahide Kanzaki</foaf:name>
<foaf:based_near>
<dpd:Place>
<geo:lat>35.7</geo:lat>
<geo:long>139.7</geo:long>
</dpd:Place>
</foaf:based_near>
...
</foaf:Person>
dpd:generatedプロパティを用いる<sioc:Post rdf:about="http://twitter.com/_masaka/statuses/...">
<sioc:content>いまイベントの真っ最中。L:東京都千代田区神田淡路町</sioc:content>
<dc:created>2008-06-15T01:30:00Z</dc:created>
<sioc:has_creator>
<sioc:User>
<foaf:isPrimaryTopicOf rdf:resource="http://twitter.com/_masaka"/>
</sioc:User>
</sioc:has_creator>
<dpd:generated>
<rdf:Description>
<geo:lat>35.6972</geo:lat>
<geo:long>139.7682</geo:long>
</rdf:Description>
</dpd:generated>
</sioc:Post>

<sioc:Post rdf:about="http://twitter.com/_masaka/statuses/...">
<sioc:content>いまイベントの真っ最中。L:東京都千代田区神田淡路町</sioc:content>
...
<dpd:generated rdf:resource="http://www.kanzaki.com/ns/geo/xn77hd2p7"/>
</sioc:Post>