Page tree

This paragraph describes the overall API of the RoR.


Access / Query

The RoR has a browsable web interface that allows the user to navigate through the elements of the federation. The RoR has also a RESTful interface providing machine-readable results in JSON encoding.

Registry operations

Register operations

Relation operations

REST query interface

REST filter pattern

http://inspire-regadmin.jrc.ec.europa.eu/ror/rest/ <registries|registers|relations>/q/<field>=<value>


Example RESTful query

Request: http://inspire-regadmin.jrc.ec.europa.eu/ror/rest/registers/27
Response:

{"register": {
  "registry": {
    "description": "The INSPIRE infrastructure involves a number of items, which require clear descriptions and the possibility to be referenced through unique identifiers. Examples for such items include INSPIRE themes, code lists, application schemas or discovery services. Registers provide a means to assign identifiers to items and their labels, definitions and descriptions (in different languages). The INSPIRE registry provides a central access point to a number of centrally managed INSPIRE registers. The content of these registers are based on the INSPIRE Directive, Implementing Rules and Technical Guidelines.",
    "publisher": {
      "label": "European Commission, Joint Research Centre",
      "uri": "https://ec.europa.eu/jrc",
      "email": "inspire-registry-dev@jrc.ec.europa.eu"
    },
    "id": "1",
    "label": "INSPIRE registry",
    "uri": "http://inspire.ec.europa.eu/registry",
    "user": "userid",
    "updatefrequency": "http://publications.europa.eu/resource/authority/frequency/DAILY"
  },
  "description": "Code values for statistics measurement method.",
  "publisher": {
    "label": "European Commission, Joint Research Centre",
    "uri": "https://ec.europa.eu/jrc",
    "email": "inspire-registry-dev@jrc.ec.europa.eu"
  },
  "id": "27",
  "label": "Statistics Measurement Method",
  "uri": "http://inspire.ec.europa.eu/codelist/StatisticsMeasurementMethodValue",
  "updatefrequency": "http://publications.europa.eu/resource/authority/frequency/DAILY"
 }
}


 


RoR Harvesting and Federated Search search indexing system

The RoR user interface will have a private area (using ECAS authentication) where users can specify the URL of the  Registry exchange file  and manage the different procedures related to each of the Registers included in the federation.

The RoR will accept:

For detailed information on required and optional field for the Registry and Register descriptors, prese visit the  conformance classes page .

The system will import all the metadata related to the registry, all the metadata for each of the register specified in the list and all the relations between the registers.

The following paragraphs describe the step performed by the RoR Harvesting system.

Use cases

A list of common use cases are described below.

Use case 1 - The user adds a new Registry descriptor


URL checkIf the request to the specified URL for the Registry descriptor returns a HTTP code other than 200, an error is raised and the procedure stops.
  • Direct feedback in the web UI (visible one time - not stored)
  • Email
Unique checkIf the specified URL for the Registry descriptor is already available, an error is raised and the procedure stops.
  • Direct feedback in the web UI (visible one time - not stored)
  • Email
Add the descriptorThe descriptor is added in the Database. If there is a problem in this operation, an error is raised and the procedure stops.
  • Direct feedback in the web UI (visible one time - not stored)
  • Email
Add the procedure to the procedure listThe harvesting procedure is inserted in the procedure list with the status "first insert". If this operation fails, the system removes the Descriptor previously inserted and it raises an error.
  • Direct feedback in the web UI (visible one time - not stored)
  • Email
Start the Registry harvestingThe Registry descriptor harvesting is started automatically.
  • Errors stored in the procedure's results
  • Email


Use case 2 - The user removes a Registry descriptor


Remove related RegistersThe systems will remove all of the registers listed in the Registry file
Remove RegistryThe systems will remove all of the Registry


Use case 3 - The user removes a Register descriptor from the Registry descriptor


Remove the RegistersThe systems will remove the Registers Object, Register Descriptor and the related Procedure


Use case 4 - Manual start of the Registry or Register harvesting

Manual start button

The system launchs the Registry or Register harvesting procedure. If there are more than  n  procedure currently running in the system, the manual started procedure's status is set to "waiting". It will automatically start when one of the procedures that are running ends.

Use case 5 - Automatic start of the Registry or Register harvesting


Action based on the scheduleThe system checks (based on a defined interval - for example: every day at 00.00) if there are procedures with the "next harvest date" set to the current date. If so, it starts the Registry or Register harvesting. The system can run  n  procedures at the same time; if there are more than  n  procedure to run, the other procedures' status are set to "waiting". They will start one by one once the other procedures will finish.



Harvesting

The harvesting procedures are divided based on the type of resource: Registry descriptor and Register descriptor.

Registry harvesting steps

XML checkThe system checks the validity of the XML
  • Errors stored in the procedure's results
  • Email
RDF checkThe system checks the descriptor using the XSL validators
  • Errors stored in the procedure's results
  • Email
Registry insert/updateThe system creates or update the Registry object
  • Errors stored in the procedure's results
  • Email
Registers insert/update

The system check if there are any Registers specifyed in the Registry Descriptor. If so, it checks if the descriptor for each register is already available in the database. If not, it create the Register descriptor.

Then it starts the harvesting for each of the Registers.

  • Errors stored in the procedure's results
  • Email

Register harvesting steps


XML checkThe system checks the validity of the XML
  • Errors stored in the procedure's results
  • Email
RDF checkThe system checks the descriptor using the XSL validators
  • Errors stored in the procedure's results
  • Email
Register insert/updateThe system creates or update the Register object
  • Errors stored in the procedure's results
  • Email
Relation insert/updateThe system check if the Register has a relation with another register (reliesOn property). If so, it creates/update the relation
  • Errors stored in the procedure's results
  • Email
Search index creation If some items (defined in that register) are available, the system creates the Solr index.
  • Errors stored in the procedure's results
  • Email




Access / Query

The RoR has a browsable web interface that allows the user to navigate through the elements of the federation. The RoR has also a RESTful interface providing machine-readable results in JSON encoding.

Registry operations

Register operations

Relation operations

REST query interface

REST filter pattern

http://inspire-regadmin.jrc.ec.europa.eu/ror/rest/ <registries|registers|relations>/q/<field>=<value>


Example RESTful query

Request: http://inspire-regadmin.jrc.ec.europa.eu/ror/rest/registers/27
Response:

{"register": {
  "registry": {
    "description": "The INSPIRE infrastructure involves a number of items, which require clear descriptions and the possibility to be referenced through unique identifiers. Examples for such items include INSPIRE themes, code lists, application schemas or discovery services. Registers provide a means to assign identifiers to items and their labels, definitions and descriptions (in different languages). The INSPIRE registry provides a central access point to a number of centrally managed INSPIRE registers. The content of these registers are based on the INSPIRE Directive, Implementing Rules and Technical Guidelines.",
    "publisher": {
      "label": "European Commission, Joint Research Centre",
      "uri": "https://ec.europa.eu/jrc",
      "email": "inspire-registry-dev@jrc.ec.europa.eu"
    },
    "id": "1",
    "label": "INSPIRE registry",
    "uri": "http://inspire.ec.europa.eu/registry",
    "user": "userid",
    "updatefrequency": "http://publications.europa.eu/resource/authority/frequency/DAILY"
  },
  "description": "Code values for statistics measurement method.",
  "publisher": {
    "label": "European Commission, Joint Research Centre",
    "uri": "https://ec.europa.eu/jrc",
    "email": "inspire-registry-dev@jrc.ec.europa.eu"
  },
  "id": "27",
  "label": "Statistics Measurement Method",
  "uri": "http://inspire.ec.europa.eu/codelist/StatisticsMeasurementMethodValue",
  "updatefrequency": "http://publications.europa.eu/resource/authority/frequency/DAILY"
 }
}


Search interface

The "Federated search" web interface provide a simple searching form with the autocomplete feature. THe system will search through all of the items defined in the different registers that are in the INSPIRE Register Federation.

The result list will provide:

  • The label of the item
  • The URI of the item
  • The URI of the register containing this item


Validation

To be completed


Translation

To be completed

  • No labels