Application profile generator
To make it easier for you to create your own application profiles, Coscine provides a generator for user-defined application profiles. This not only allows you to create application profiles, but also validates them for syntactical correctness. You can then easily transfer your application profile directly into Coscine via the generator.
Create a new Application Profile
When creating a new resource, at step 3 "Resource Metadata" you can either select an existing application profile or select the "Create" option (see figure below). Selecting "Create" will take you to the Application Profile Generator page.
About the Application Profile Generator
Application profiles in Coscine are formulated using SHACL and maintained in RDF data format. This format grants users the ability to specify the structure of their metadata. To enable the creation of application profiles, Coscine provides the Application Profile Generator - a simple GUI making it easier to develop an application profile without deep technical knowledge of the underlying data format.
Menu bar of the application profile generator
After navigating to the aforementioned URL, you will be confronted with the interface illustrated in the screenshot above. Note that some of the buttons described above in the menu bar may not be available in every state of the generator. Located at the top of the interface is a menu bar which you can use to perform various actions:
Via "Action" (see figure above) you get access to the following options:
- Create a new application profile from scratch.
- Note: We recommend this option for professionals - as a beginner it makes sense to base your work on an already established application profile and adapt it to your own needs.
- Copy an existing application profile to add new fields or delete old fields.
- These changes can then be published in a new application profile.
- Extend an already existing application profile with new fields
- Existing fields of the application profile cannot be changed
- These changes can then be published in a new application profile
- Here you create a new version of an already existing application profile.
- You remain in the context of the previous version of the application profile, changes are technically traceable
- Based on the previous version, new fields can be added or old fields can be deleted.
- These changes can then be published in a new application profile.
Via "Add token" (see figure on top) you can specify a personal Coscine user token, which allows you to publish your application profile directly from now on. Without a token, you can only store an application profile locally. If you have been brought to the application profile generator via Coscine, you can ignore this function.
Editor and preview
In the top center you will find the two interlinked buttons "Editor" and "Preview" (see figure above). Via a click you can switch between the editor view and a preview of the final application profile, e.g. to check the functionality and correctness of your progress so far.
Using the Code View (see figure above), you can switch between the actual RDF format and the more user-friendly representation of this format shown by the generator in the "Detail View" section.
The "Save" button (see figure above) allows you to save your application profile....
- save it locally to your hard disk (always recommended as a backup)
- submit it via Git request for publishing on Coscine using the "Submit" button
- Note: before publishing, the application profile will be checked by the FDM team, therefore the implementation in Coscine can take up to 4 weeks.
Web interface of the application profile generator
The interface is divided into four columns:
Available application profiles.
Here you will find an overview of all application profiles publicly available in Coscine. The text field at the top allows you to filter the listed application profiles by name. By clicking on a list entry, the corresponding application profile is loaded into the generator and made available for you to view. You can then view the individual fields of the application profile in the Detail View section.
This section allows you to search for existing and established vocabulary terms. For example, if you want to add a date field to your application profile, you can search for the keyword "date" in the search bar and add this field to your own application profile. The search function searches all ontologies of the NFDI4Ing Terminology Service. Hover over the search results to find out the origin of each field. If you click on a field, it will be added to the current application profile and consequently appear in the "Detail View" section.
In the detail view all fields of the currently selected application profile are listed. If you are currently editing or extending the profile, you can click on the fields to edit them using the last column. You can remove individual fields by clicking on the red cross on the far right. However, you can only do this if you are editing an application profile (i.e. if you have loaded it for editing via the pull-down menu or created a new profile).
- Gear: Edit application profiles
|Application profile URL||Editable, after /ap/ a unique name should be specified for the profile, e.g. "https://purl.org/coscine/ap/engmeta"||subject/baseURL|
|Title||name of the application profile||dcterms:title|
|Description||description of the application profile||rdfs:comment|
|Inherits from||With the "Expand" option, the underlying application profile is displayed here||sh:node|
|Target Class||Copy URL of the application profile (see above) or specify class of an ontology||sh:targetClass|
|Closed||Determines whether additional metadata fields can be specified by users||sh:closed|
If you have selected a field in the detail view, its parameters and properties appear for editing in the "Field properties" section.
|Term IRI||Path/URL to the definition of the term||SHACL sh:path|
|Field Name||Display name of the field||SHACL sh:name|
|Minimale required Entries||Minumum amount of values that have to be specified by the user||SHACL sh:minCount|
|Maximum required entries||Maximum amount of values that can be specified by the user||SHACL sh:maxCount|
|Position on metadata form||Display order of the property among the other properties||SHACL sh:order|
|Property Type||Type of property - "Data type" by default||Eigenschaftstyp|
|Datatype||Data type/format of the expected input values (default: string) based on the XML Schema datatypes.||SHACL sh:datatype|
|Datatype||Explicit datatype, e.g. string, date, integer||SHACL sh:datatype|
|Node Kind||Currently not implemented in Coscine||SHACL sh:nodeKind|
|Class||Supplied value has to be an instance of the class, e.g. http://purl.org/dc/dcmitype/ (Definition)||SHACL sh:class|
|Node||Points to another validating application profile, e.g. https://purl.org/coscine/ap/engmeta||SHACL sh:node|
|List||List of string values, e.g. Apple, Banana, Lemon||SHACL sh:in|
|Value||Explicit expected value (Currently not supported in Coscine)||SHACL sh:hasValue|
|Default value||Default value in the field||SHACL sh:defaultValue|
|Minimum length||Minimum occurrence of the value||SHACL sh:minLength|
|Maximum length||Maximum occurrence of the value||SHACL sh:maxLength|
|Regex Pattern||Regex Pattern for the validation of the value||SHACL sh:pattern|
|Regex Flags||Regex flags||SHACL sh:flags|
|Minimum Exklusive||Set the range of values for a term, Minimum Exklusive (Example: if Min. Exlusive= "1" then value "1" is disallowed)||SHACL sh:minExclusive|
|Minimum Inklusive||Set the range of values for a term, Maximum Inklusive||SHACL sh:minInclusive|
|Maximum Exklusive||Set the range of values for a term, Maximum Exklusive||SHACL sh:maxExclusive|
|Maximum Inklusive||Set the range of values for a term, Maximum Inklusive||SHACL sh:maxInclusive|
|Description||Description of the field displayed to the user||SHACL sh:description|
|Error message||Error message, displayed upon a general error||SHACL sh:message|
|Severity||Severity of the error||SHACL sh:severity|
To show you how to use the shape generator, we have made a short example of how to use it: Example: Creation of an application profile