wiki:BluePrint/HXL

Version 4 (modified by Dominic König, 11 years ago) ( diff )

--

BluePrint: HXL

Introduction

HXL is a shared vocabulary for Linked Data for the humanitarian domain.

Linked data use URIs to identify data resources, and RDF statements (triples) to describe their relationships.

Example:

<?xml version="1.0"?>
  <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
           xmlns:hxl="http://hxl.humanitarianresponse.info/ns">
  <rdf:Description rdf:about="http://www.example.org/eden/dvr/population/823">
    <rdf:type>hxl:IDP</rdf:type>
    <hxl:personCount>127386</hxl:personCount>
    <hxl:source>http://www.example.org/eden/org/organisation/2</hxl:source>
  </rdf:Description>
  <rdf:Description rdf:about="http://www.example.org/eden/org/organisation/2">
    <rdf:type>hxl:Organisation</rdf:Type>
    <hxl:orgName>Example Organisation</hxl:orgName>
  </rdf:Description>
</rdf:RDF> 

This example encodes the RDF statements:

  • The resource at http://www.example.org/eden/dvr/population/823 => is a rdf:type => Internally Displaced Population hxl:IDP
  • The resource at http://www.example.org/eden/dvr/population/823 => has a hxl:personCount => 127386
  • The resource at http://www.example.org/eden/dvr/population/823 => comes from hxl:source => http://www.example.org/eden/org/organisation/2

...where the latter refers to the resource described in the next RDF statements:

  • The resource at http://www.example.org/eden/org/organisation/2 => is a rdf:type => rdf:resource hxl:Organisation.
  • The resource at http://www.example.org/eden/org/organisation/2 => has orgName => "Example Organisation".

(Note that this RDF/XML example is only one possible notation)

Typically, data-producing EM applications would export such a RDF/XML description of their data resources to a common database (triple store), which can then be queried from consuming applications using standard APIs (e.g. RDF/SPARQL) and extract/export the data into standard formats, e.g. DOC, KML, or XLS.

The purpose of this BluePrint is to define the role of Eden as

  • HXL exporting application
  • as triple store with RDF/SPARQL API
  • as HXL consumer application

The most obvious role for Eden at this point is that of the HXL exporter.

Stakeholders

  • tbw

User Stories

  • tbw

Requirements

  • tbw

Functional

  • tbw

Non-functional

  • tbw

Interoperability

  • tbw

Standards

  • tbw

System Constraints

  • tbw

Architecture

Again the example from the introduction:

<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:hxl="http://hxl.humanitarianresponse.info/ns">
  <rdf:Description rdf:about="http://www.example.org/eden/dvr/population/823">
    <rdf:type>hxl:IDP</rdf:type>
    <hxl:personCount>127386</hxl:personCount>
    <hxl:source>http://www.example.org/eden/org/organisation/2</hxl:source>
  </rdf:Description>
  <rdf:Description rdf:about="http://www.example.org/eden/org/organisation/2">
    <rdf:type>hxl:Organisation</rdf:Type>
    <hxl:orgName>Example Organisation</hxl:orgName>
  </rdf:Description>
</rdf:RDF> 

Obviously, the structure of this example RDF/XML is very close to S3XML:

<?xml version="1.0"?>
<s3xml>
  <resource name="dvr_population"
            url="http://www.example.org/eden/dvr/population/823">
      <data field="person_count">127386</data>
      <reference field="source_organisation_id"
                 resource="org_organisation"
                 uuid="urn:uuid:40391e28-4e8a-4021-bf29-a5dddd2e38f3"/>
  </resource>
  <resource name="org_organisation"
            uuid="urn:uuid:40391e28-4e8a-4021-bf29-a5dddd2e38f3"
            url="http://www.example.org/eden/org/organisation/2">
    <data field="name">Example Organisation</data>
  </resource>
</s3xml>

...so that we should be able to use our in-line XSLT transformation capabilities to convert S3XML into HXL.

A proof-of-concept XSLT template has been implemented for the project_activity resource.

Design

  • tbw

Data Model

  • tbw

Workflows

  • tbw

Technologies

  • tbw

Current Implementation

  • tbw

Planned Implementation

  • tbw

Future Extensions

  • tbw

Outstanding Questions

  • tbw

References

  • tbw

BluePrint

Note: See TracWiki for help on using the wiki.