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
