August 04, 2003

FOAF 'vs' Introvertster

Things are heating up in the battle for the hearts, minds and contact lists of introverted Web geeks. While an Introvertster craze sweeps through workplaces and homes, FOAF's under-used foaf:myersBriggs support seems to be slowly catching on, revealing a disturbing trend. According to members of the Myers Briggs personality classification cult, individuals branded as IN** (ie INTJ, INFJ,INTP,INFP) should number no more than about 4 or 5% of the population. Yet a recent sampling by RDFWeb's FOAF scutter shows an alarming outburst of introversion amongst FOAF early adopters...

(I'm mostly serious...;-)

While I generally find MBTI a bit contentious, including foaf:myersBriggs has been an interesting exercise and even from the rather small dataset we have currently, there appear to be a distinct leaning towards the IN** side of things.

Dusting off my sociologists hat, there are various hypotheses we could investigate. Maybe FOAF's current audience is mainly geeky early adopters, people who show up as IN** when they go through the annoying-but-probing online questionnaires which try to approximate a full (tm)-compatible MBTI analysis. Maybe the character summaries for INTP are more flattering and ego-stroking than for other 'types' (or at least, more flattering to the kinds of people who show up as INTP in the surveys). Or at least, more likely to evoke a 'heheh, yeah that is sorta like me' reaction. Maybe INTP's like FOAF as a non-extraverted way of describing what they're like, and perhaps this extends to attaching a 'beware I'm an INTP / introverted freak, don't expect me to talk to you' health warning to their machine-readable homepage. Maybe INTP-ish people are the only ones obsessive and nit-picky enough to deal with RDF and XML syntax, while other types have malformed FOAF files which don't get past the RDF parser? Maybe the survey sample is too statistically insignificant to tell us anything.

Enough armchair sociologising about how 4% turned into 50%+, where's the data?

The results mentioned above come from an incomplete (but 24hrs+) run of my FOAF harvester ('scutter') from a couple days ago, ie. are based on a bunch of source-attributed RDF statements stored in a PostgreSQL database. I'll give the code example first, then the results, summarising all the foaf:myersBriggs properties that the database knows about. It uses my rough-n-ready RubyRdf library, and might some day be nicely packaged for others to use. In the meantime, here's the rough idea...

The mbti.rb script:

#!/usr/bin/env ruby
#
# Quick script to query RDF store for Myers Briggs data
$LOAD_PATH.unshift '../lib/'
$LOAD_PATH.unshift '../../lib/'

require 'basicrdf'
require 'squish'
require 'dbi'

query = SquishQuery.new.parseFromText <<EOQ;
    SELECT ?x, ?n, ?mb,
    WHERE
        (foaf::name ?x ?n)
        (foaf::myersBriggs ?x ?mb)
    USING
      foaf for http://xmlns.com/foaf/0.1/
EOQ

seen=Hash.new(false)
stats=Hash.new(0)
log=''
DBI.connect('DBI:Pg:scutter1','danbri','') do |connection|
  connection.select_all(query.toSQLQuery) do |row|
    if !seen[row['x']]
      log += "foaf:name='#{row['n']}' foaf:myersBriggs='#{row['mb']}'\n"
      seen[row['x']]=true
      stats[row['mb']]=stats[row['mb']]+1
    end
  end
end
puts "Statistics:"
stats.each_key do |type| puts "mbti type: #{type} count:#{stats[type]}\n" end
puts "Details:\n"+log

And here's the results of running it just now:

./mbti.rb
Stats:
mbti type: .... count:1
mbti type: ENFP count:1
mbti type: INTP count:11
mbti type: ENTJ count:1
mbti type: ISFJ count:1
mbti type: INFP count:2
mbti type: INTJ count:3
mbti type: ISTP count:1
mbti type: ISFP/ISFJ count:1
mbti type: ENTP count:1
mbti type: ISFP count:1
Details:
foaf:name='Michael Hanscom' foaf:myersBriggs='ISFP'
foaf:name='Bill Bradford' foaf:myersBriggs='ISFJ'
foaf:name='Jay Fienberg' foaf:myersBriggs='INTP'
foaf:name='Hiroki Ono' foaf:myersBriggs='INTP'
foaf:name='Eric Wahlforss' foaf:myersBriggs='ENTP'
foaf:name='Margaret Hart' foaf:myersBriggs='....'
foaf:name='Adam Gessaman' foaf:myersBriggs='INTP'
foaf:name='Simon' foaf:myersBriggs='INTP'
foaf:name='Jack Letourneau' foaf:myersBriggs='INTJ'
foaf:name='Earle Martin' foaf:myersBriggs='INFP'
foaf:name='Atsushi Suzuki' foaf:myersBriggs='INTP'
foaf:name='Evan Williams' foaf:myersBriggs='INTP'
foaf:name='Amy van der Hiel' foaf:myersBriggs='INTJ'
foaf:name='Dave Seidel' foaf:myersBriggs='ISFP/ISFJ'
foaf:name='\343\201\221\343\202\223\343\201\237\343\202\215' foaf:myersBriggs='INTP'
foaf:name='Nicole Sullivan' foaf:myersBriggs='INFP'
foaf:name='Bounty Hunters Guild' foaf:myersBriggs='INTP'
foaf:name='Chun-shek Chan' foaf:myersBriggs='ENFP'
foaf:name='Amy Alford' foaf:myersBriggs='INTJ'
foaf:name='Mark Pilgrim' foaf:myersBriggs='ISTP'
foaf:name='Jim Ley' foaf:myersBriggs='INTP'
foaf:name='Manuel Gonz\303\241lez Mart\303\255nez' foaf:myersBriggs='INTP'
foaf:name='Justin Knol' foaf:myersBriggs='INTP'
foaf:name='Masahide Kanzaki' foaf:myersBriggs='ENTJ'

Not much more to add really, thought this might be a fun mini-tutorial on RDF query. But I would be interested in pointers to other statistical analysis of MBTI data. In particular I reckon it would be worthwhile to feed the raw answers to the online quizes to statisticians, to see if the 16 types proposed by MBTI-advocates actually reflect clusterings within the data...

Posted by danbri at August 4, 2003 02:58 PM | TrackBack
Comments

Odd, my entry didn't show up. I'm INTP, fwiw.

Posted by: Dan Brickley on August 4, 2003 08:07 PM

OK, trying to debug my RDF query gadget. Here is a raw SQL query see PostgreSQL schema is at http://www.w3.org/2001/12/rubyrdf/db/initdb-pg.sql

Note that writing this raw SQL is no fun, so normally we write RDF queries instead (see mbti.rb) and translate them into enormous self-joins of dubious efficiency.

scutter1=> select distinct s1.o, s2.o from simple s1, simple s2 where s1.p='http://xmlns.com/foaf/0.1/myersBriggs' AND s2.p='http://xmlns.com/foaf/0.1/name' AND s1.o='INTP' AND s2.s=s1.s;

o | o
------+--------------------------------------------------
INTP | Adam Gessaman
INTP | Atsushi Suzuki
INTP | Bounty Hunters Guild
INTP | Dan Brickley
INTP | Dan Brickley
INTP | Evan Williams
INTP | Hiroki Ono
INTP | Jay Fienberg
INTP | Jim Ley
INTP | Jim ley
INTP | Justin Knol
INTP | Manuel Gonz\303\241lez Mart\303\255nez
INTP | Manuel Gonzalez Martinez
INTP | Simon
INTP | Simon St. Laurent
INTP | Simon St.Laurent
INTP | \343\201\221\343\202\223\343\201\237\343\202\215
INTP | danbri
INTP | kentaro"-en
(19 rows)

...so according to this my data is in there. I dunno what's up... Should've added an extra hypothesis in the speculations about -- dodgy software!

Posted by: Dan Brickley on August 4, 2003 08:16 PM

OK, narrowing it down. There is a clash of internal-IDs in the database:

Seen _:bnodeid:82389582 name was Bounty HuntersGuild
Skipping _:bnodeid:82389582 name was Dan Brickley
Skipping _:bnodeid:82389582 name was Dan Brickley

Not sure what's up with that, but the basic stats don't change much because of this. Investigating...

Posted by: Dan Brickley on August 4, 2003 08:21 PM

Talking to myself now ;)

select distinct o,p,assertid from simple,triples where simple.s='_:bnodeid:82389582' and triples.subject=simple.scode order by o;

...flushes out every property/value the database attributes to _me_ as well as the src RDF file. It seems to have merged my entry w/ someone mentioned in the http://blogs.thebhg.org/BHGFOAF.php?id=57 etc site, not yet sure why. Could be bug in bnode random generator, or property-to-int hashing being too small a space, or bad data from BHG.

Posted by: Dan Brickley on August 4, 2003 08:33 PM

Well there's a surprise. I'm also INTP. But I choose not to put it in my FOAF.

Posted by: Julian Bond on August 4, 2003 08:34 PM

Here are some statistics from '98: http://www.infj.org/typestats.html

Posted by: Amy van der Hiel on August 4, 2003 11:39 PM

> Odd, my entry didn't show up. I'm INTP, fwiw

FREAK!

Posted by: Dean (INTJ) Jackson on August 5, 2003 03:01 PM

Another alternative for the increase in INTP (or even IN??) entries might be due to the fact that most computer enthusiasts fit to the INT? profile, although i think that some of the INTP's are just those that took a look at the profile text just pick it by the characteristics they want to see..

(yes, i'm a INTP too ;)

Posted by: Sami Haahtinen on August 16, 2003 04:11 PM

I wonder if there would be a skew towards
<handedness>left</handedness<?

Posted by: Danny on August 17, 2003 11:17 AM

Re handedness, interesting question. FOAF may be more suited to being a platform for creating dodgy Internet fads than for 'proper' science, but it'd be interesting to find out.

Fancy creating a namespace / property for this somewhere?

Actually there's a whole load of vaguely interesting, vaguely frivolous stuff I'd like to put into FOAF files, but not sure whether putting into the main FOAF namespace would drown out the more widely useful things. So I've been wondering about a FOAF "Platinum Plus Gold Extras" or somesuch companion namespace for such things.

Anyway fwiw I'm left handed...

(Am I normal? :)

Posted by: Dan Brickley on August 17, 2003 11:25 AM
Post a comment