Sebastian Trüg wrote:
> I fully aggree that phase 1 should not deal with automated context "guessing" 
> just yet. We first need a proper framework to manage and activate contexts. 
> Also, the used ontology needs to be set in stone, as well as its usage.
>   

Yes, that's fine.
It is definitely a good idea to FIRST define how to represent context, 
as well as, how to activate/switch (between) these contexts.
After this, "guessing" contexts, switching proposals, etc. can be done 
in a THIRD step - definitely.
I would suggest, that a SECOND step would be to look the user over the 
shoulder and _automatically_ track the (contextually relevant!) 
resources he uses for the currently activated context.
[Please note the semantic web talking here: "resources" means documents, 
web pages, but also: contacts, locations, and even up to more abstract 
things like: topics, projects, etc.]


Sebastian Trüg wrote:
> Using this approach we could even stick to one simple Context class and link 
> tasks or projects or whatever to it as something like 
>
>   "Context definingResource Resource"
>
> this would allow to model stuff like:
> we have a context "Plasma Context Support" resource which is of type Context. 
> In addition a development project is defined which might have a similar name 
> and a bunch of files and emails and what not related. The project is then 
> related to the context and thus, becomes available for dashboard switches.
> This would allow to use arbitrary things as contexts without much additional 
> syntax.
>
> I would need input from Sven and Leo here: would the 
> workcontext:UserWorkContext class be a choice here? Or should we create a 
> new, way simpler, ontology.

As Leo already stated the class MediumTermContextThread (subclass of 
UserWorkContext) would actually be the right class to represent the 
context we all talk about here. The ShortTermContext can be compared to 
the short-term memory of a human being and is hence very 
"fluctuational", and the LongTermContext is more or less what could also 
be called a "user model" containing all the user's PIMO concepts and 
their frequency and so on.
So, in our opinion, the context could be represented best using an 
instance of the class UserWorkContext. Class MediumTermContextThread 
would be better because it is more precise, but that's really not the 
most important question here.

More important is the "containsElement" property pointing from a context 
to a ContextualElement.
So, why ContextualElement now? Why don't we reference the resources used 
in a context directly?
The answer is easy: On the one hand we did not want to use meta-classes, 
but on the other hand we need more meta-information on the contextual 
relevance of such resources. So: We want to capture information about
- WHY is that resource relevant for the context? Has it been read by the 
user or proposed by some magic algorithm?
- HOW relevant is that resource for the context? Not all resources are 
equally relevant for some context. In particular, this holds for 
resources that were estimated to be relevant (context magics).

So, one ContextualElement just wraps one relevant resources for a 
context leading to this picture

    MediumTermContextThread --containsElement--> ContextualElement 
--resource--> Resource

instead of this one:
>   "Context definingResource Resource"

As Leo said, this modeling can be taken as a start and, of course, be 
enhanced.
The MediumTermContextThread could sould a bit strange and crazy at a 
start, but it describes quite well what a context in our (and in your!) 
sense really is, doesn't it? We talk about medium-term tasks, 
medium-term activity, ... well... it is a medium-term context, right?

The postfix "Thread" is used to indicate that we talk about multiple 
threads here between which the user is actually switching - like in 
multi-threading!
So, there is definitely more than one such MediumTermContextThread, 
namely one for each thread the user is really aware of, so one for each 
task, or one for each desktop if you wish...

> as for the ontology figuring, i'm just going to lurk a bit while the experts 
> figure that out =)
:-D

Keep it simple, but keep it shared! That's the important thing here. 
Rebuilding yet another "ontology" from scratch is not really an 
"ontology" because it misses the chance of a shared understanding once 
again. We do already have thousands of "ontologies" that are rather 
"schemas", in particular, scheamas nobody knows and uses...
Our ontology is not a great schema, but it is at least shared by some 
Nepomukians. That's one step towards really building a semantic web...

So, Leo's proposal is good: Start with our schema and extend or enhance 
it. If it is really to complicated, then let's discuss on making it 
simpler, however, I think our ontology is already quite simple.


Aaron J. Seigo wrote:
> On Monday 25 August 2008, Sebastian Trüg wrote:
>   
>> Like I mentioned in a previous mail IMHO we basically need a Context class
>> and maybe two specializations: ActivityContext and TaskContext. TaskContext
>> would add start and end time to the concept.
>>     
>
> personally i'd like at least a start time with ActivityContext as well so 
> they 
> can be put onto a timeline.
>   

A "start time" is fine, but an "end time" will be seldomly used and if 
it is used then what does it tell us?
What I do myself, and what I suggest to do here, too, is to have a set 
of ACTIVATION INTERVALS.
I know, that this will yield scalability problems, but these could and 
should be overcome. Don't we want to see and search(!) really ALL the 
activations of a context (on a timeline for instance)? I do think so!


The mathematics done in the nepomuk is not really intended to be 
patented or something ;-) -- it is not quite the "Quicksort of context 
research" ;-) -- but Leo is right, I have not yet published it. So, it 
is merely a problem of "stealing" a part of my dissertation than 
stealing magic know-how and great technology. Use it if you like it - no 
problem here!


Thanks for the interesting discussion already!

Have a nice day,
Sven
_______________________________________________
nepomuk-kde mailing list
nepomuk-kde@semanticdesktop.org
http://lists.semanticdesktop.org/mailman/listinfo/nepomuk-kde

Reply via email to