Hi all,

I understand that currently nepomuk URIs are auto-generated to be
unique within the system, and that the scenario where they are
imported into another system is not yet handled.

But, to fully realise the potential of the Dikku (user context
framework where activities play a central role), in future phases, we
need exactly that capability. For example, consider an activity that
is shared with some collaborators. All the resources should ideally be
shared between them (vis syncing resources when needed etc) and any
URI clashes should be handled.

So, it would be great if we can kickstart discussions on how to handle
URIs when they are imported into another system.. that would really
make nepomuk more future-ready ;)

Ideally, that can only be achieved only if the URIs are unique across
systems at any time. But, typically URI clash occurs only in 2
scenarios:
1. when nepomuk items are passively imported into a different system
2. when nepomuk items are actively shared across systems (for
collaboration, etc ).

I think i can safely say that all we need to do is to handle those two
scenarios...


Here is my first take on it : Proposal for adding a machine Id into the URI

Currently the nepomuk URI, consists of just a resource identifier (am i right?).

Consider the case, when there is a machine identifier (something that
uniquely identifies the machine. It can be auto-generated by a central
server( in case of big networks) or can be autogenerated within the
machine itself (which might work for smaller adhoc collaborations. I
will explain more on this below).

If we can add a machine identifier in addition to the resource
identifier to the URI, then i think we can solve many of the problems
listed with the above considered scenarios

scenario 1 : when nepomuk items are passively imported into a different system
having a machine identifier simplifies the process of checking
uniqueness from 'checking every resource' to just 'checking the
machine identifier uniqueness'.

if the machine identifier does not clash with that of the imported
machine, the resoures with their URIs, can be imported as such. And,
when there is a clash, i think we can safely regenerate a new
identifier instead of the imported machine identifier and use it
instead in the URIs of the imported resources


scenario 2. when nepomuk items are actively shared across systems (for
collaboration, etc ).
Here, i only consider the scenario where the machine identifier is
autogenerated by the machine itself (instead of a central server) and
this is the case only when smaller number of people are involved in
collaboration...

I assume that the entire activity will be initiated by a single user
who creates the activity and then invites other for collaboration. In
this case, during the initial phase of establishing collaboration
between persons, when the initial machine identifier of one of
collaborators (say machineA) clashes with any of the other
collaborators (say machineB), i think a newly generated machine
identifier (say machineCTmp) can be generated for machineB which will
be used for tagging resources created in machineB for that *particular
activity* only


Any thoughts on scenarios where the above would not work?
_______________________________________________
nepomuk-kde mailing list
[email protected]
http://lists.semanticdesktop.org/mailman/listinfo/nepomuk-kde

Reply via email to