DSP-TOOLS Documentation
DSP-TOOLS is a Python package with a command line interface that helps you interact with a DSP server. A DSP server is a remote server or a local machine where the DSP-API is running on.
To install the latest version, run:
pip3 install dsp-tools
To update to the latest version run:
pip3 install --upgrade dsp-tools
The two main tasks that DSP-TOOLS serves for are:
- Create a project with its data model(s), described in a JSON file, on a DSP server
In order to archive your data on the DaSCH Service Platform, you need a data model that describes your data. The data model is defined in a JSON project definition file which has to be transmitted to the DSP server. If the DSP server is aware of the data model for your project, conforming data can be uploaded into the DSP repository. - Upload data, described in an XML file, to a DSP server that has a project with a matching data model
Sometimes, data is added in large quantities. Therefore, DSP-TOOLS allows you to perform bulk imports of your data. In order to do so, the data has to be described in an XML file. DSP-TOOLS is able to read the XML file and upload all data to the DSP server.
All functionalities of DSP-TOOLS revolve around these two basic tasks.
DSP-TOOLS provides the following functionalities:
dsp-tools create
creates the project with its data model(s) on a DSP server from a JSON file.dsp-tools get
reads a project with its data model(s) from a DSP server and writes it into a JSON file.dsp-tools xmlupload
uploads data from an XML file (bulk data import) and writes the mapping from internal IDs to IRIs into a local file.- New workflow for
xmlupload
:dsp-tools upload-files
uploads all files that are referenced in an XML file to a DSP server.dsp-tools ingest-files
kicks off the ingest process, and retrieves the mapping CSV when it is finished.dsp-tools ingest-xmlupload
creates the resources contained in the XML file, using the mapping CSV
dsp-tools resume-xmlupload
resumes a previously interruptedxmlupload
oringest-xmlupload
.dsp-tools excel2json
creates an entire JSON project file from a folder with Excel files in it.dsp-tools excel2lists
creates the "lists" section of a JSON project file from one or several Excel files. The resulting section can be integrated into a JSON project file and then be uploaded to a DSP server withdsp-tools create
.dsp-tools excel2resources
creates the "resources" section of a JSON project file from an Excel file. The resulting section can be integrated into a JSON project file and then be uploaded to a DSP server withdsp-tools create
.dsp-tools excel2properties
creates the "properties" section of a JSON project file from an Excel file. The resulting section can be integrated into a JSON project file and then be uploaded to a DSP server withdsp-tools create
.
dsp-tools new-excel2json
does the same as the oldexcel2json
command, but the Excel format for thelists
section has been adapted.dsp-tools new-excel2lists
does the same as the oldexcel2lists
command, but the Excel format has been adapted.
dsp-tools excel2xml
transforms a data source to XML if it is already structured according to the DSP specifications.- The module
excel2xml
provides helper methods that can be used in a Python script to convert data from a tabular format into XML. dsp-tools id2iri
takes an XML file for bulk data import and replaces referenced internal IDs with IRIs. The mapping has to be provided with a JSON file.dsp-tools start-stack / stop-stack
assist you in running a DSP stack on your local machine.dsp-tools template
creates a template repository with a minimal JSON and XML file.dsp-tools rosetta
clones the most up to date rosetta repository, creates the data model and uploads the data.