Ok, I'm looking ahead a little here in a bit of my personal
knowledgebase organising pseudo-project (written down here before I
forget). Early on I'll be wanting to create identifiers (/IFPs) for
things, including concepts. Later on I want to use heuristics to
discover implicit relationships between them.
I have plans… But without worrying about all that just
yet, I will definitely want to be able to capture as much
information as possible regarding characteristics of things. I've
got all the usual vocabs available for explicit stuff, including
dc:description etc. for wordy literals, and the
W6 vocab covering
the more general, human side of properties. What I haven't yet got
is something to cover another aspect of description which I want
available to heuristics, where things can be described on bipolar
scales. Rather than trying to pin this down in some precise way, I
intend to go with the flow of human-oriented description. Here's a
sketch of a first attempt at expressing this:
<Resource> hasTrait [ skos:inScheme <uri for my scheme>; skos:prefLabel "label"; e.g. "temperature"; level "X"; (-1 < X < 1) scaleHigh "label"; e.g. "hot" scaleLow "label"; e.g. "cold" traitGroup <group uri> ] .
With
Trait rdfs:subClassOf skos:Concept
The thing being described will have other descriptions and I'm hoping they'll be enough to give a context for the scale. So if the thing is a drink then 'temperature, 0.9′ (i.e. very hot, 90úC) will mean something different if it were a star (i.e. very very hot, 90,000úC) . I'm not after physical, semiotic or even logical precision here, just trying to get enough to be able to help discover associations that might make sense to humans.
I'm going to have to reread the N-ary Relations doc and around SKOS, but I think this should capture what I'm after. I'll probably write a simple form UI for this, try out examples once I'm happy I've got the structure roughed out.
One bit which might make an interesting experiment is the
traitGroup part. Yesterday on a walk I was telling
Caroline about this stuff, as one of the ideas I want to play with
later was hers ("Interstices" - I'll describe when I get to it).
She pointed out the way adjectives in English have a certain order:
"Suzan has long brown hair" sounds ok,
"Suzan has brown long hair" creepy. Caro reckoned it was
probably a good trick for poets, the emphasis really changes:
"Suzan has a blue small car" sounds like the car's
miserable. This morning Caro pulled out some grammar books which
tell how the order of adjective of quality generally depends on the
type of adjective, roughly: opinion, size, general description
(excluding emotion/personality), general description
(emotion/personality), age [plus
'little'!?], shape, colour, origin (e.g. nationality),
material composition, purpose (gerunds -
walking stick). I've no intention of diving into the natural
language side of this, but these do look like they might make
useful groupings for the characteristics. What I'm not 100% sure
about is whether it would be better to use subclassing - ColorTrait
- or a tag pointing to the group. The former might well be easier
to reason over, but I've a feeling the modelling might get messy.
As always, suggestions welcome.