| Version 4 (modified by , 12 years ago) ( diff ) |
|---|
BluePrint: HXL
Table of Contents
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

