12 November 2005

I'm an idiot... about RDF (GTD edition)

"hi, i'm jorn, and i'm an idiot"
"hi jorn"

1st things 1st
i'll be promoting this essay to the
GettingThingsDone community

the root idea is that the 13th of each month
should be "i'm an idiot" day

where you pick the least embarrassing
of all the embarrassing things
you feel like you should understand
but don't

and post about it

because in the process of admitting
and trying to articulate
your confusion

(or even in the aftermath of that process)

you're likelier to make a breakthru
than if you kept silent

eventually we'd like to become so comfortable
with admitting our idiocy
that we can even interrupt a weighty seminar
with the stupid-sounding question
that everyone is secretly wanting to
but doesn't dare

because this is a large part
of what keeps meetings
deadly dull

and even as we humiliate ourselves
we can keep one finger crossed
in the secret hope that it will turn out
we're not idiots at all
but rather a different (higher) order of thinker

so the patron saint of i'm-an-idiot day
is probably G. Spencer Brown [Wiki]
who firmly defends the independent thinker's right
to enquire according to their own inner light
at their own pace:

"To arrive at the simplest truth,
as Newton knew and practiced,
requires years of contemplation.
Not activity.
Not reasoning.
Not calculating.
Not busy behaviour of any kind.
Not reading.
Not talking.
Not making an effort.
Not thinking.
Simply bearing in mind
what it is one needs to know.

And yet those with the courage to tread this
path to real discovery
are not only offered practically no guidance
on how to do so,
they are actively discouraged
and have to set about it in secret,
pretending meanwhile to be diligently engaged in the
frantic diversions
and to conform with the deadening personal opinions
which are continually being thrust upon them."

most of my own idiot-topics
have something of this flavor for me

where i see a community on the other side of a fence
busily engaged in not-quite-comprehensible activity

but my inner voice holds me back from
submitting to their tutelage

(Candace Bergen memorably compared
co-hosting Saturday Night Live's original cast
to being kidnapped, like Patty Hearst
by the Symbionese Liberation Army)

so i've been suspicious of
the sgml-xml-rdf community
since way back in the mid 90s

they have a sort of true-believer attack
that sees my questions, perhaps, as threats

so every time i try to penetrate their worldview
i find my eyes glazing over, defensively

even though their domain broadly overlaps my own

we're all looking for the
semantic buildingblock

which Lisp finds in cons-cells
and Prolog finds in horn clauses
and Cyc finds in CycL

the Semantic Web
if i understand at all correctly
sees in RDF triples

A and B have relationship C

and if you want to build
you must pile relationships on relationships

as Lisp piles cons-cells on cons-cells

but programs quickly lose their way
in the twisty maze of cons-cells, all alike

when the master-structure
that underlies All Of It
is a Tree in 4D space

all important entities having
at each moment, T
a position, XYZ

and all important stories
having the general form:
at time T, the relationships were R1
at time T+1, the relationships were R2

(when Prolog was considered hot AI, in the mid 80s
i bought Turbo Prolog
and tried to rewrite a little alife sim
in horn clauses

but horn clauses are about logical if-then
not narrative when-next)

so for each entity on the tree
we might fill out a form
describing its state at a given moment
T =
X =
Y =
Z =

and since we're representing heartrate, too
H =

and these can be dissected
into a twisty maze of RDF triples

which grows far twistier
when relationships between two branches
(A loves B, madly)
are required

(my counterproposal)

my counterproposal
is to start with the types
of the two related entities

(the basic types being
person, place, thing, motive, modality)

and to note that an entity of any given type
has one possible set of relationships
with entities of each other type

so (A loves B)
is first and foremost
a statement about a relationship
between a person and a person

and data/knowledge about such relationships
should be clustered at a specific person-person site
in our core data-structure