Skip to end of metadata
Go to start of metadata

This page documents the way users are identified and managed in RODL and its clients.

Introduction 

User accounts are stored in RODL and can be manipulated via its REST API.

User Management Application is a web based application that works on top of the REST API and facilitates user management.

Users are identified by an identifier, which is a unique string of chars. It is used as a username in dLibra and it may or not be a URI. Currently the User Management Application imposes the use of OpenID as a user identifier (which is a URI pointing to some resource of the OpenID Provider).

The RODL REST API uses a "user" resource to manipulate users*. That means that given a user identifier, a RODL URI can be constructed such as http://sandbox.wf4ever-project.org/rosrs5/users/<user_id_base64_encoded> which can be used with GET, PUT and DELETE methods. In particular, using the GET method (i.e. opening it in a browser) returns an RDF graph with user data.

* Currently the resource users is within the rosrs API. It will have its own API in the future, i.e.,http://sandbox.wf4ever-project.org/users instead of http://sandbox.wf4ever-project.org/rosrs5/users

User identification in RO metadata

For RDF metadata, users must be identified by absolute URIs, which should be independent from the URIs of resources that the users are related to. Basically, there are 2 options as to what these URIs are:

  1. The user identifiers (suggested by Piotr). 
    1. It resolves to anything, can be a personal page or nothing.
    2. If they are not absolute URIs (not the case with OpenID), there must be an unambiguous method of converting them to absolute URIs (for instance by prefixing "http://sandbox.wf4ever-project.org/users/") and back.
    3. If it's an OpenID, it can be opaque (i.e. https://www.google.com/accounts/o8/id?id=AItOawl7tEZAtdiQmIigvXcU4KkhGsBzgm0gfKM) or not (i.e. piotrekhol.myopenid.com).
    4. If it's an OpenID, then it is an actual user identifier, possibly reused by the user in other applications.
    5. Clients need to use the RODL URI to get user metadata.
    6. In the future, it may by any URI selected by the user, such as his FOAF URI if he has one.
  2. The RODL URI (suggested by Raúl). 
    1. It resolves to RDF graph with user metadata.
    2. The URI contains the user identifier, though encoded, e.g.. http://sandbox.wf4ever-project.org/rosrs5/users/aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9hY2NvdW50cy9vOC9pZD9pZD1BSXRPYXdsN3RFWkF0ZGlR bUlpZ3ZYY1U0S2toR3NCemdtMGdmS00=
    3. The user metadata can include the user identifier, in addition to other properties, e.g., name, surname, etc.
    4. Clients can use it directly to get user metadata.

Currently RODL and RODL Portal use user identifiers.

Example (based on first option - User Identifiers)

Let's take a user with an OpenID https://www.google.com/accounts/o8/id?id=AItOawl7tEZAtdiQmIigvXcU4KkhGsBzgm0gfKM (Piotr).

If you open this URI you will find some OpenID data, nothing user friendly.

In the http://sandbox.wf4ever-project.org/rosrs5/ROs/HyperLEDALuminosities/.ro/manifest.ttl you will only find the reference to the OpenID, not additional data, for example:

Retrieving user metadata

The user metadata is stored in separate named graphs in RODL so they don't automatically appear in RO metadata. You may get these metadata by

  • executing a simple SPARQL query:

for example by calling http://sandbox.wf4ever-project.org/rosrs5/sparql?query=DESCRIBE%20%3Chttps://www.google.com/accounts/o8/id?id=AItOawl7tEZAtdiQmIigvXcU4KkhGsBzgm0gfKM%3E

  • or you can use the RODL REST API. 

This OpenID base64-encoded is aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9hY2NvdW50cy9vOC9pZD9pZD1BSXRPYXdsN3RFWkF0ZGlR  bUlpZ3ZYY1U0S2toR3NCemdtMGdmS00=.

So, can go to http://sandbox.wf4ever-project.org/rosrs5/users/aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9hY2NvdW50cy9vOC9pZD9pZD1BSXRPYXdsN3RFWkF0ZGlR bUlpZ3ZYY1U0S2toR3NCemdtMGdmS00= 

and you will see:

Example (based on second option - RODL URI)

Let's take a user with an OpenID https://www.google.com/accounts/o8/id?id=AItOawl7tEZAtdiQmIigvXcU4KkhGsBzgm0gfKM (Piotr). This OpenID base64-encoded is aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9hY2NvdW50cy9vOC9pZD9pZD1BSXRPYXdsN3RFWkF0ZGlR  bUlpZ3ZYY1U0S2toR3NCemdtMGdmS00=.

In the http://sandbox.wf4ever-project.org/rosrs5/ROs/HyperLEDALuminosities/.ro/manifest.ttl you will only find the URI of the user metadata graph, for example:

Retrieving user metadata

You may get these metadata by

  • executing a simple SPARQL query:

  

for example by calling http://sandbox.wf4ever-project.org/rosrs5/sparql?query=DESCRIBE%20%3Chttp://sandbox.wf4ever-project.org/rosrs5/users/aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9hY2NvdW50cy9vOC9pZD9pZD1BSXRPYXdsN3RFWkF0ZGlR bUlpZ3ZYY1U0S2toR3NCemdtMGdmS00=

  • or you can use directly the RODL REST API

Just go to http://sandbox.wf4ever-project.org/rosrs5/users/aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9hY2NvdW50cy9vOC9pZD9pZD1BSXRPYXdsN3RFWkF0ZGlR bUlpZ3ZYY1U0S2toR3NCemdtMGdmS00= 

and you will see:

  • No labels