private function load_tweet($tweet) { $id = $tweet->id; $username = $tweet->user->screen_name; $local = $this->user; $uri = "http://twitter.com/{$username}/status/{$id}"; $content = $tweet->text; $userid = $tweet->user->id; $name = $tweet->user->name; $ts = date('c', time($tweet->created_at)); $user_uri = "http://twitter.com/{$username}"; $user_foaf_uri = "http://twitter.com/{$username}#me"; $depiction = $tweet->user->profile_image_url; $triples = array(); $triples[] = array(SMOBTools::uri($uri), "a", "sioct:MicroblogPost"); $triples[] = array("sioc:has_container", SMOBTools::uri('http://twitter.com/')); $triples[] = array("sioc:has_creator", SMOBTools::uri($user_uri)); $triples[] = array("foaf:maker", SMOBTools::uri($user_foaf_uri)); $triples[] = array("dct:created", SMOBTools::date($ts)); $triples[] = array("dct:title", SMOBTools::literal("Update - " . $ts)); $triples[] = array("sioc:content", SMOBTools::literal($content)); if (strpos($content, '@' . $this->user) !== false) { $triples[] = array("sioc:addressed_to", SMOBTools::uri(FOAF_URI)); $triples[] = array("sioc:addressed_to", SMOBTools::uri('http://twitter.com/' . $this->user . '#me')); $triples[] = array(SMOBTools::uri(FOAF_URI), 'sioc:name', SMOBTools::literal($this->user)); $triples[] = array(SMOBTools::uri('http://twitter.com/' . $this->user . '#me'), 'sioc:name', SMOBTools::literal($this->user)); } $triples[] = array(SMOBTools::uri($user_foaf_uri), "foaf:name", SMOBTools::literal($name)); $triples[] = array("foaf:depiction", SMOBTools::uri($depiction)); $opo_uri = $uri . '#presence'; $triples[] = array(SMOBTools::uri($opo_uri), "a", "opo:OnlinePresence"); $triples[] = array("opo:declaredOn", SMOBTools::uri($user_uri)); $triples[] = array("opo:declaredBy", SMOBTools::uri($user_foaf_uri)); $triples[] = array("opo:StartTime", SMOBTools::date($ts)); $triples[] = array("opo:customMessage", SMOBTools::uri($uri)); $graph = SMOB_ROOT . "data/twitter/{$id}"; $rdf = SMOBTools::render_sparql_triples($triples); $query = "INSERT INTO <{$graph}> { {$rdf} }"; $res = SMOBStore::query($query); }
public function save() { $graph = $this->graph(); $rdf = SMOBTools::render_sparql_triples($this->triples); $query = "INSERT INTO <{$graph}> { {$rdf} }"; SMOBStore::query($query); print '<li>Message saved locally !</li>'; }