[om-list] Comparative schema modelling
Mark Butler
butlerm at middle.net
Wed Oct 8 14:19:31 EDT 2003
One major issue in comparative schema / modelling is whether to model a
complete comparative schema and then map each concept back to the
corresponding concept in the primary schema, or whether just to model
the outstanding differences and agreements between your schema (the
primary) and their comparative schema.
After some consideration, I think it is obvious that most people in the
real world use the latter approach, only expanding to a complete
comparative model for thoroughly foreign belief systems. It is a matter
of simple efficiency. Personally, consideration sufficiently foreign
belief systems gives me a severe headache.
Adopting that rule of thumb, I think we can safely assume semantic
coherence between schemas in many cases, especially considering natural
language communication is impossible without it. The trick of course,
is to know when you can assume it. The whole field of empirical science
is based on the assumption that everyone is talking about the same
thing, where much of philosophy makes no such assumption.
Unified modelling is far more efficient both in space and time, but
extreme care must be taken not to equivocate concepts with the same name
that are actually different. I am convinced that more logical errors
result from inadvertant equivocation than anything else, which is why
proper names for things are so critical to coherent thinking.
Data modelling wise, differential modelling requires evaluative
information, perspectives, and beliefs about the validity of concepts,
attribute values, and relationship strengths to be partitioned from the
concept, attribute, and relation objects themselves.
This is contrary to conventional practice, where for efficiency reasons
we store as many attributes inline as possible. We have long discussed
having one record per relation or attribute, this scheme adds a new
layer of complexity, so that one can represent a statements like this:
He doubts that she really said that
She doubts that she really said that
I plan to store everything in noun counceptual form, where objects,
attributes, and relations are all concepts, relations can relate any
concept, and attributes can describe any concept. So in this case:
(1) "He" - A person
(2) "She" - A person
(3) "that" : An unspecified statement
(4) "She said that" - A temporal relation between (2) and (3)
(5) "He doubts that she really said that" - An evaluative relation
between (1) and (4)
(6) "She doubts that she said that" - An evalative relation between (2)
and (4)
Please note the advantage of this structure, which is that (4) is usable
in contexts (5) and (6). We do this by factoring out evaluative or
connotative qualifiers from the base relation and storing it in
evalulative relations. This is actually a consequence of the idea that
there should only be one relation between any two objects, a complex one
perhaps, but only one. If there needs to be more than one, it is a
strong indication that a model is denormalized - (Tom deserves credit
for introducting me to this idea - it is a key principle of Mathesis)
I have one serious problem, however - if everything is stored in a
relation, the lists of which relationships a concept participates in can
get very long, especially for evaluating entities. For processing
purposes, I need very fast lookup of a very small fraction of those
relationships , and that cannot be done with a linear scan of thousands
of relationships.
For example, say I am looking up my parents, but I also have personal
evaluations of thousands of concepts in the same list. I could
partition regular relations from evaluative relations, but that draws an
unnecessary distinction that cripples some forms of discourse, i.e. you
could not represent "His belief that his father secretly despised him
caused a rift in their relationship".
So does anyone know any fast partial match associative lookup techniques?
- Mark
More information about the om-list
mailing list