Deployers
Deployers allow data to be exported to different types of destinations. In VocBench they are realized as plugin implementations of the eponym extension point that can be invoked in the context of data dump operations.
Available extensions
This section describes how to use the deployers bundled with the current VocBench. They are available at "Global Data Management" / "Export data". Under "Deployment" you can configure the destination of the data being exported and, optionally, transformed.
The technical details about the extension point and its available plugins, such as the interface definition, method signatures and parameters description are provided on dedicated Semantic Turkey pages.
ShowVoc Deployer
Use this deployer if you have a project in VocBench that you want to make available in ShowVoc. To do this,
- Go to Global Data Management > Export data.
- As "Deployment", select "Deploy to triple store" from the dropdown list.
- As "Deployer", select "ShowVoc Deployer" from the dropdown list.
- Then you can choose "Deploy to existing project" or "Deploy to new project". In the screenshot below, the second option has been chosen.
After selecting Deploy to new project, click "Configure". Note also the two buttons next to it that can be used to load and save configurations. The figure below shows an example of a configuration.
The following fields are required:
- Semantic Turkey host: the URL of the ShowVoc server, e.g. http://localhost:1980/
- Username and Password of a user with admin rights.
- Project: The name of the new project to create.
- Core repository configuration, e.g. "GraphDB 10+ (remote only)".
Finally, click "OK" and "Submit" to start the deployment. When the deployment is successful, VocBench will display a success message.
Now, to make the project visible in ShowVoc, you need to login to ShowVoc as an administrator, then go to the "Administration Dashboard" and change the project's status from "Staging" to "Public".
After having selected "Public", you will be presented with a dialog box asking you to agree to create indexes and create dataset metadata for the project.
At this point you can log out and go back to the ShowVoc homepage and you should find the new record.
Important Note: When you deploy to an existing project, you still need to go to the ShowVoc admin dashboard to update indexes and recompute the metadata.
How to simplify the process described above
In VocBench, it is possible to create a super user account and save its credentials as default. In this way, when you submit a new dataset from VocBench to ShowVoc, you will no longer be prompted to insert your credentials. The same solution can be applied to the configuration of the triple store when deploying new projects. This can be done in the section Administration in VocBench.
Then, go the tab Settings Mgr and configure the connected ShowVoc instance. See the steps below.
At step 3, enter the base URLs of the ShowVoc instance you want to connect to:
- Scope: Select "SYSTEM"
- API base URL: e.g. http://localhost:1980/
- Frontend base URL: e.g. http://localhost:1980/showvoc/ for a local installation or the "external" address (given by the proxy) of the ShowVoc web application. This could be something like http://example.org:1980/showvoc/
- Username and Password: credentials mentioned above.
Click button Submit to save the data just inserted. Then, select scope "PROJECT" and as "Core repository configuration" select "GraphDB 10+ (remote only)". Click submit again.
If you now repeat all the steps, you will find that all the fields are populated except for the Project field. Note that the credentials are not displayed, nor are they ever returned to the client.
Unfortunately, the project name must be entered each time. To avoid errors, it is advisable to use the same project name for VocBench and ShowVoc.
Graph Store HTTP Deployer
This deployer allows to deploy a VocBench project to any triple store complying to the SPARQL 1.1 Graph Store HTTP Protocol. This deployer can only write to an existing repository and does not support the creation of new datasets. To use it,
- Go to Global Data Management > Export data.
- As "Deployment", select "Deploy to triple store" from the dropdown list.
- As "Deployer", select "Graph store HTTP Deployer" from the dropdown list.
The warning sign on the right of the widget indicates the necessity of further configuration. A click on the Configure button will open a dialog to edit the configuration. The two other buttons to the right can be used to load and save configurations. Here below we describe the information that needs to be provided.
- Graph Store HTTP endpoint (required): The address (URL) of the endpoint to which the data will be deployed.
- Destination graph: The IRI of the graph where data should be deployed. If not provided, the triples will be written to the default graph (also known as null graph).
- Clear first (True/False) (required): Tells if already existing data should be cleared first.
- Username and Password of a user with sufficient privileges. Leave empty if the server does not require authentication.
The following configuration shows the general pattern for GraphDB. If you use another triple store, please consult its documentation.
- Graph Store HTTP endpoint: http://localhost:7200/repositories/{repositoryID}/rdf-graphs/service
- Destination graph: {named graph}
- Clear first: True
To try it out,
- replace {repositoryID} with the GraphDB name of an existing repository, e.g. "HTTP_Deployed_core".
- replace {named graph} with the URL of the destination graph, e.g. "http://example.org/data/" (you may want to use the URL of the graph to be exported).
OntoPortal Deployer
This deployer allows to submit an ontology (or more precisely, an OWL ontology or a SKOS thesaurus) to an OntoPortal repository (e.g. BioPortal, EcoPortal, AgroPortal, etc.). The deployer can only make submissions for already existing ontologies (identified through their acronym) on the target repository. The deployer also implements some validation checks, to warn the user about violations of data constraints imposed by OntoPortal and, to some extent, suggest fixes as RDF Transformers.
OntoPortal and EcoPortal require almost the same parameters:
- API base URL (required): The base URL of the OntoPortal REST API.
- API Key (required): A valid API key for the OntoPortal REST API. A user''s API key be found on the account page of that user.
- Acronym (required): The acronym of the ontology for which the submission is being done.
- Description(required): The acronym of the ontology for which the submission is being done
- Version: Version of the ontology.
- Format (required): Ontology language (either "OWL" or "SKOS")
- Status (required): Status of the ontology (either "alpha", "beta", "production" or "retired").
- Release date (required): Release date. The date shall be formatted as yyyy-mm-dd (e.g. 2020-02-20)
- Contacts (required): Contacts for the ontology. Each contact should be provided as a string matching this pattern: name (email).
- Homepage: Address (URL) of the main web page of the ontology
- Documentation: Address of a web page providing documentation for the ontology.
- Publications (required for EcoPortal): Address of a web page listing publications about the ontology.
- Creators (required for EcoPortal): The main researchers involved in producing the data, or the authors of the publication, in priority order.
HTTP Deployer
The HTTP deployer can be used for a wide range of uses cases. You need to provide the following information:
How to configure:
- Endpoint (required): The address (URL) of the endpoint to which the data will be deployed.
- HTTP verb (required): HTTP verb to use (either PUT or POST).
- Query parameters: Additional query parameters.
- Request headers: Additional request headers.
- Username and Password of a user with sufficient privileges. Leave empty if the server does not require authentication.
SFTP Deployer
Secure File Transfer Protocol (SFTP) is a network protocol that enables secure and encrypted file transfers between a client and a server.
To use this deployer, you need to provide the following information:
- Host (required): The name/address of the target host, i.e. an IP address or a domain name, identifying a machine on which there is an active SFTP service.
- Port (required): The target port (integer, default: 21).
- Server key fingerprint (required): The fingerprint of the target server. The allowed forms are (MD5:)?[\\dA-F][\\dA-F](:[\\dA-F][\\dA-F]){15} and SHA(1|224|256|384|512):[Base64 encoding without trailing =].
- Username (required): Username
- Password: Password
- Timeout (ms) (required): Timeout in milliseconds (default: 300000).