Rapportive is a plugin for gmail, which trawls the social graph.
I would class it as one of the few applications which makes use of foaf (perhaps more the ideals than the direct execution); but it lets you view someone's connectivity to you on the social web.
Half person, half home automation, an under loved blog for all things Ruby, python and more in Adelaide
Showing posts with label foaf. Show all posts
Showing posts with label foaf. Show all posts
Monday, November 08, 2010
Sunday, April 05, 2009
FOAF from Freebase
I made a quick FOAF from Freebase application.
Here's mine.
You just pass in an ID and out comes RDF/XML. It's limited to things typed as people.
This will help mend the gap between freebase RDF and common vocabularies, and was pretty easy to do - what other RDF vocabularies exist out there which would be nice to map onto freebase?
Here's mine.
You just pass in an ID and out comes RDF/XML. It's limited to things typed as people.
This will help mend the gap between freebase RDF and common vocabularies, and was pretty easy to do - what other RDF vocabularies exist out there which would be nice to map onto freebase?
Thursday, March 13, 2008
Fire eagle
Andrew points to Fireeagle.
It's a geotwitter, basically - applications can read and write information for "where is user X now".
This is the web 2.0 version of menow.
Neat.
It's a geotwitter, basically - applications can read and write information for "where is user X now".
This is the web 2.0 version of menow.
Neat.
Monday, March 10, 2008
A stupid OpenID question
I am only dimly aware of what openid is/how it works.
All of a sudden I've got a livejournal, blogger, and flickr openid. So how would I merge them?
For instance, I log into a foo.com via the livejournal openid to leave a comment. The next time I log in, about 3 months later, its via my blogger openid.
I'm the same person, but how do I tell foo.com that?
The only answer I really have is "OpenID + FOAF", but only livejournal and one or two others bother outputting this.
All of a sudden I've got a livejournal, blogger, and flickr openid. So how would I merge them?
For instance, I log into a foo.com via the livejournal openid to leave a comment. The next time I log in, about 3 months later, its via my blogger openid.
I'm the same person, but how do I tell foo.com that?
The only answer I really have is "OpenID + FOAF", but only livejournal and one or two others bother outputting this.
Wednesday, December 06, 2006
PEAR is getting foaf...
Monday, October 23, 2006
Drupal 4.7 and the foaf.module
I wanted the foaf module for drupal on 4.7; so instead of being a whinger; I just went out and did it.
Here's the patch:
Here's the patch:
Index: modules/foaf/foaf.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/foaf/foaf.module,v
retrieving revision 1.13
diff -u -r1.13 foaf.module
--- modules/foaf/foaf.module 12 Jul 2006 17:13:51 -0000 1.13
+++ modules/foaf/foaf.module 23 Oct 2006 13:21:35 -0000
@@ -1,5 +1,5 @@
<?php
-// $Id: foaf.module,v 1.13 2006/07/12 17:13:51 walkah Exp $
+// $Id: foaf.module,v 1.6.2.4 2005/11/29 18:22:34 walkah Exp $
/**
* Implements hook_help
@@ -11,8 +11,8 @@
$output .= '<p>'. t('The FOAF module allows users to export FOAF documents based on their profile information. It also allows users to import profile information from external FOAF files, and even includes an option to let profiles auto sync when using distributed authentication. The FOAF module can export your buddy list if the buddy list module is enabled. You can download FOAF files in the view tab of a user profile if FOAF is enabled.') .'</p>';
$output .= t('<p>You can</p>
<ul>
-<li>read the <a href="%external-http-en-wikipedia-org-wiki-FOAF" title = "explanation of FOAF from wikipedia the free encyclopedia">FOAF wikipedia explanation</a>.</li>
-<li>read the <a href="http://www.socialtext.net/foafnet/index.cgi?basic_specs" title = "a programmers level description of this social networking standard">FOAFNet specificiation</a>.</li>
+<li>read the <a href="%external-http-en-wikipedia-org-wiki-FOAF" title="explanation of FOAF from wikipedia the free encyclopedia">FOAF wikipedia explanation</a>.</li>
+<li>read the <a href="http://www.socialtext.net/foafnet/index.cgi?basic_specs" title="a programmers level description of this social networking standard">FOAFNet specificiation</a>.</li>
<li>view <a href="%profile"> user profiles</a> and select a user to see their FOAF file.</li>
<li>enable the buddy list module at <a href="%admin-modules" > administrator >> modules</a>.</li>
', array('%external-http-en-wikipedia-org-wiki-FOAF' => 'http://en.wikipedia.org/wiki/FOAF', '%external-http-www-socialtext-net-foafnet-index-cgi' => 'http://www.socialtext.net/foafnet/index.cgi?basic_specs', '%profile' => url('profile'), '%admin-modules' => url('admin/modules'))) .'</ul>';
@@ -55,9 +55,15 @@
break;
case 'view':
drupal_set_html_head("\n".'<link rel="meta" type="application/rdf+xml" title="FOAF" href="'.url('foaf/'.$user->uid, NULL, NULL, TRUE).'" />');
- $output = '';
if (_foaf_allow_export($user)) {
- return array(t('Personal Information') => l(t('Download <acronym title="Friend of a Friend">FOAF</acronym>'), 'foaf/'.$user->uid, NULL, NULL, NULL, FALSE, TRUE));
+
+ $title = t('Personal Information');
+
+ $link = l('Download FOAF', 'foaf/'.$user->uid, NULL, NULL, NULL, FALSE, TRUE);
+ $output = array();
+ $output[$title][] = array('value' => $link);
+
+ return $output;
}
break;
case 'form':
@@ -69,31 +75,41 @@
}
function foaf_settings() {
- $output = '';
-
- $output.= form_radios(t('Export <acronym title="Friend of a Friend">FOAF</acronym> for users by default'), 'foaf_export_default', variable_get('foaf_export_default', 0), array(0 => t('no'), 1=> t('yes')), t('This can be overridden by individual users'));
+ $form = array();
+ $form["foaf_export_default"] = array();
+ $form["foaf_export_default"]["#title"] = t('Export <acronym title="Friend of a Friend">FOAF</acronym> for users by default');
+ $form["foaf_export_default"]["#type"] = 'radios';
+ $form["foaf_export_default"]["#default_value"] = variable_get('foaf_export_default', 0);
+ $form["foaf_export_default"]["#options"] = array(0 => t('no'), 1=> t('yes'));
+ $form["foaf_export_default"]["#suffix"] = t('This can be overridden by individual users');
+
+ $formItemTemplate = array('#type' => 'select');
+
+ $fields = array('foaf_name', 'foaf_title','foaf_firstName',
+ 'foaf_surname', 'foaf_Organization',
+ 'foaf_phone', 'foaf_aimChatID', 'foaf_icqChatID',
+ 'foaf_msnChatID', 'foaf_yahooChatID', 'foaf_jabberChatID',
+ 'foaf_workplaceHomepage');
+ $fields["vCard:Street"] = 'foaf_street';
+ $fields["vCard:Locality"] = 'foaf_locality';
+ $fields["vCard:Region"] = 'foaf_region';
+ $fields["vCard:PCode"] = 'foaf_pcode';
+ $fields["vCard:Country"] = 'foaf_country';
+ $fields["bio:keywords"] = 'foaf_keywords';
+
+ $form["settings"] = array("#title" => t('Field Mappings'), "#type" => "fieldset");
+ foreach ($fields as $name => $field) {
+ if (!is_string($name)) {
+ $name = str_replace('_', ':', $field);
+ }
+ $form["settings"][$field] = array_merge($formItemTemplate,
+ array('#title' => t('Field for ' . $name),
+ '#default_value' => variable_get($field, false),
+ '#options' => _foaf_profile_fields()
+ ));
+ }
- $mapping.= form_select(t('Field for foaf:name'), 'foaf_name', variable_get('foaf_name', ''), _foaf_profile_fields());
- $mapping.= form_select(t('Field for foaf:title'), 'foaf_title', variable_get('foaf_title', ''), _foaf_profile_fields());
- $mapping.= form_select(t('Field for foaf:firstName'), 'foaf_firstName', variable_get('foaf_firstName', ''), _foaf_profile_fields());
- $mapping.= form_select(t('Field for foaf:surname'), 'foaf_surname', variable_get('foaf_surname', ''), _foaf_profile_fields());
- $mapping.= form_select(t('Field for foaf:Organization'), 'foaf_Organization', variable_get('foaf_Organization', ''), _foaf_profile_fields());
- $mapping.= form_select(t('Field for foaf:phone'), 'foaf_phone', variable_get('foaf_phone', ''), _foaf_profile_fields());
- $mapping.= form_select(t('Field for foaf:aimChatID'), 'foaf_aimChatID', variable_get('foaf_aimChatID', ''), _foaf_profile_fields());
- $mapping.= form_select(t('Field for foaf:icqChatID'), 'foaf_icqChatID', variable_get('foaf_icqChatID', ''), _foaf_profile_fields());
- $mapping.= form_select(t('Field for foaf:msnChatID'), 'foaf_msnChatID', variable_get('foaf_msnChatID', ''), _foaf_profile_fields());
- $mapping.= form_select(t('Field for foaf:yahooChatID'), 'foaf_yahooChatID', variable_get('foaf_yahooChatID', ''), _foaf_profile_fields());
- $mapping.= form_select(t('Field for foaf:jabberID'), 'foaf_jabberID', variable_get('foaf_jabberID', ''), _foaf_profile_fields());
- $mapping.= form_select(t('Field for foaf:workplaceHomepage'), 'foaf_workplaceHomepage', variable_get('foaf_workplaceHomepage', ''), _foaf_profile_fields());
- $mapping.= form_select(t('Field for vCard:Street'), 'foaf_street', variable_get('foaf_street', ''), _foaf_profile_fields());
- $mapping.= form_select(t('Field for vCard:Locality'), 'foaf_locality', variable_get('foaf_locality', ''), _foaf_profile_fields());
- $mapping.= form_select(t('Field for vCard:Region'), 'foaf_region', variable_get('foaf_region', ''), _foaf_profile_fields());
- $mapping.= form_select(t('Field for vCard:Pcode'), 'foaf_pcode', variable_get('foaf_pcode', ''), _foaf_profile_fields());
- $mapping.= form_select(t('Field for vCard:Country'), 'foaf_country', variable_get('foaf_country', ''), _foaf_profile_fields());
- $mapping.= form_select(t('Field for bio:keywords'), 'foaf_keywords', variable_get('foaf_keywords', ''), _foaf_profile_fields());
-
- $output.= form_group(t('Field Mappings'), $mapping);
- return $output;
+ return $form;
}
function foaf_xmlrpc() {
@@ -349,6 +365,7 @@
while ($row = db_fetch_object($result)) {
$output[$row->fid] = $row->title;
}
+
return $output;
}
Sunday, January 16, 2005
Automatic Movie Ratings web service!
FilmTrust is a semantic web research project by Jen Golbeck. It's nifty and finally fills that void in my life where I want to share it all with the blogosphere.
To that end, I've written some very simple and poorly implemented base classes for PHP blogs. All you need is to install PEAR::XML_Serializer and extract some files, then you are off on the road to developing.
For a live demo, see my movies.
Download FilmTrust Webservices Kit.
As ever, the code is under the GPL.
Do you want to get movie ratings and reviews on your site or blog? It's really simple!
To that end, I've written some very simple and poorly implemented base classes for PHP blogs. All you need is to install PEAR::XML_Serializer and extract some files, then you are off on the road to developing.
For a live demo, see my movies.
Download FilmTrust Webservices Kit.
As ever, the code is under the GPL.
For Non Geek Blogger
Do you want to get movie ratings and reviews on your site or blog? It's really simple!
- Sign up to FilmTrust and rate some movies.
- Add some code to your website or blog template.
<script
src="http://www.ahsonline.com.au/dod/filmtrust/example.php?
user=[YourUsernameHere]
&javascript=true">
</script>
Note: The above Javascript will insert your movies as well as a small Google Adsense advertisement. Ensure that your blog host allows advertising (ie, livejournal does not). I request that you keep the advertising present. You don't have to if you don't want to. But while the code is free providing bandwidth and eating isn't.
Technorati Tags
PHP, Movies, Semantic Web, FOAF, FilmTrust, Blogging, Social Networks, Web Services.
Tags
foaf,
idea,
movies,
open source,
pear,
php,
rdf,
semantic web
Subscribe to:
Posts (Atom)