Version 4 (modified by 11 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