Skip to content

Quality labels certification like GEOLabel, geoviqua.org

Chris Lush edited this page Jan 29, 2014 · 2 revisions
  • Provide standard labels to show quality of metadata
  • Framework to automatically label (via a process)
  • One option is to have geonetwork process to evaluate
  • Another is to submit metadata to remote service to evaluate
  • Could be a schedule if on edit the quality is cleared
  • Allow editor/reviewer to manually label
  • Have labels in database table (for configuration)
  • Support multiple labels per metadata record.
  • Label storage:
  • In metadata (maybe keyword) (not too popular)
  • Or in metadata table
  • Provide defaults
  • Labels
  • GEOLabel.info - Website that presents the research done to create the GEO label
  • geoviqua.org - Project website
  • geolabel.net - Demo & API for one of the GEO label web services available
  • Linked Open Data stars and 5stardata.info
  • Interested Parties
  • Ine
  • Vincent

Concept of GeoLabel

GEO label

Integration

A Java client library has been developed by 52North to call the GEO label web service. In the code example below, a GEO label for an external metadata record is generated. This label also incorporates submitted feedback for the metadata record since a GeoViQua feedback document returned from the GeoViQua Feedback API is also set:

InputStream geolabel = GeoLabelClientV1.createGeoLabelRequest()
    .setMetadataDocument("http://schemas.geoviqua.org/GVQ/4.0/example_documents/PQMs/DigitalClimaticAtlas.xml")
    .setFeedbackDocument("https://geoviqua.stcorp.nl/api/v1/feedback/collections/?format=xml&target_code=mtri2an1ib&target_codespace=opengis.uab.cat")
    .getSVG();
// SVG string that can be embedded into any HTML view
String geolabelSVG = IOUtils.toString(geolabel));

NB: A feedback document does not have to be present to generate a GEO label, however metadata records using the GeoViQua and ISO19115-1 schemas will have an MD_Identifier under gmd:identificationInfo that allow for both a code and codespace, so it's recommended to query the feedback API when those elements are present to include any feedback that has been submitted using the same code and codespace.

More relevant to GeoNetwork integration, the setMetadataDocument and setFeedbackDocument methods also accept org.w3c.dom.Document and java.io.InputStream objects. If another type would be better suited for GeoNetwork's purposes please open an issue!

The client can be included as a Maven dependency:

<dependencies>
    <dependency>
        <groupId>org.n52.geolabel</groupId>
        <artifactId>client</artifactId>
        <version>0.0.2</version>
    </dependency>

[...]

<repositories>
    <repository>
        <id>n52-releases</id>
        <name>52n Releases</name>
        <url>http://52north.org/maven/repo/releases</url>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
    <repository>
        <id>n52-snapshots</id>
        <name>52n Snapshots</name>
        <url>http://52north.org/maven/repo/snapshots/</url>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>

A minimum example Maven project can be found here: https://github.com/52North/GEO-label-java/tree/master/client-example

Clone this wiki locally