-
Notifications
You must be signed in to change notification settings - Fork 149
Customize DCAT output
Geoportal Server (starting from 1.2.4) now support DCAT (Data Catalog Vocabulary) outputs. The DCAT output is in json format and is available through url pattern http://servername:port/geoportal/rest/find/document?f=dcat, it is possible to add additional parameters to the url as well, please refer to REST API Syntax for additional parameters.
Capabilities available since:
To enable/disable DCAT support:
- Open gpt.xml in geoportal/WEB-INF/classes/gpt/config
- Uncomment/comment the following section to enable/disable DCAT response
<parameter key="dcat.mappings" value="gpt/metadata/dcat-mappings.xml"/>
- Save gpt.xml and retart the geoportal application
If you would like to customize DCAT response, you modify gpt/metadata/dcat-mappings.xml
. Here, you will find a section for FGDC, ISO, and other formats by default. The fgdc
section handled the FGDC metadata, the iso
section processes ISO format metadata, and all other formats are handled by the others
section.
Within each section, there are field mapping for the DCAT response for the specified metadata format, where name attribute is the name of the field in DCAT response, and index attribute is the equivalent field name in gpt\metadata\property-meanings.xml
for the metadata.
Following is a segment of dcat-mappings.xml
:
<fields schema="others">
<field name="title" index="title" />
<field name="abstract" index="abstract" />
<field name="keyword" index="keywords,dataTheme,apisoTopicCategory" />
<field name="modified" index="dateModified" isDate="true" />
...
If you would like to add/remove/modify mapping for a field:
- Find the section for the metadata format in
dcat-mappings.xml
. - To delete a mapping: delete the row that contain the field name to be deleted.
- To modify a mapping: find the index name for the field in
property-meanings.xml
and modify the index name. - To add a new mapping: copy/paste another row and modify the field name, find the equivalent index name for the field in
property-meanings.xml
and modify the index name. - For the index attribute, a combination of fields can also be used: a semicolon separated list means Geoportal Server will use the value from the first index, if the first is empty then the second, and so on. The
+
concatenates the results through the join operator. - To map value of a field from one value to a new value in DCAT output, using the format like below, the "from" attribute can be a string or regular expression:
...
<field name="accessLevel" index="accessLevel" required="true">
<map from="High Confidentiality|Non-public|Secret|Top Secret" to="non-public"/>
...
- By default all values are treated as string type. To make sure dates are formatted and treated as dates, add
<code>isDate=true</code>
to field. - Save
dcat-mappings.xml
and restart the geoportal application.
If you would like to add DCAT support for a metadata format that is not yet in dcat-mappings.xml
- Copy and paste an existing section.
- Find the schema name for the matadata format and modify the value of schema attribute in
<code><fields schema="schemaname"></code>
. - Add/modify/delete the mapping entry for the fields as necessary as described above.
- Save ```dcat-mappings.xml and restart geoportal application.
Starting from Geoportal 1.2.5, it is possible to make the entire Geoportal Server catalog available as a single DCAT file in json format. This allows client applications such as those used by Data.gov to download the entire Geoportal Server catalog every now and then as a form of harvesting. To enable this option:
- Create a folder that will store the DCAT output.
- Update value of parameter
dcat.cache.path
ingeoportal/WEB-INF/classes/gpt/config/gpt.xml
as follows:
<parameter key="dcat.cache.path" value="C:/geoportaldata/dcatcache"/>
- Make sure the following line is uncommented and update the value as needed. Similar to the harvesting schedule, this determines how often the single file is updated and how long Geoportal Server will wait before updates are started.
<thread class="com.esri.gpt.control.georss.dcatcache.DcatCacheTask" period='1[DAY]' delay="15[SECOND]"/>
- Save
gpt.xml
and restart the Geoportal application. - Download the DCAT output file using url pattern:
http://servername:port/geoportal/dcat.json
.
- 144 - Allow mapping between value domains.
- 145 - Distribution endpoints missing mandatory tag.
-
146 - The
distributionURLs
need a mediatype. -
148 - Ensure
accessLevelComment
or rights element no longer appears in the data.json output. - 149 - Allow mapping between periodicity values to ISO 8601 equivalents.
- 150 - Allow defining cascading elements to look up values.
- Added DCAT profile into Geoportal Server
- Added support for harvesting DCAT outputs (geoportal and non-geoportal sites)
- Added support for DCAT in metadata editor
- Enhanced DCAT outputs, including enhancements to dataQuality, modified, issued, rights, landingPage, describedBy, describedByType, and date related fields.