[Download] | [Documentation Home] | [Release Note]

Step-by-Step Guide on Creating Data Services Using RDF Resource

Introduction WSO2 Data Services Server supports to expose data in RDF(Resource Description Framework) as a service. This guide will use an online RDF resource hosted by NASA, to demonstrate RDF data extraction feature supported by wso2 data services server. The guide will be using the RDF data source available @ (http://nasa.dataincubator.org/) which contains all the aircraft information for the past years. DS Figure 1: Sample RDF File Step 1: Start by giving a name
Lets begin to create the data service by clicking on "Create" link in left menu under Services/Add/Data Service. It requires to enter a name to the Data service. Lets name it as AircraftInfoService and click on "Next". DS Figure 2: Create Data Service Step 2: Enter details about your RDF data source
Second step is to enter details about the data source which we are using to create the service. Not only from an online hosted file, you can also use a RDF file which is in your local machine or the registry. DS Figure 2: Configure RDF Data Source Step 3: Configure how the response should look like
To extract information you need to create a query along with the structure of the response.
Give a name to the query, and select the data source name from the drop down, which is created in previous step. Give the SPARQL query to extract the specific aircraft information from the data source. The following SPARQL query is used to extract aircraft information
PREFIX space: <http://purl.org/net/schemas/space/> 
PREFIX relevance: <http://a9.com/-/opensearch/extensions/relevance/1.0/> 
PREFIX foaf: <http://xmlns.com/foaf/0.1/>       
PREFIX dc: <http://purl.org/dc/elements/1.1/>                                                 

SELECT ?homepage ?name ?alternateName ?internationalDesignator ?mass ?score ?launch ?agency ?description 
WHERE { 
  ?craft foaf:homepage ?homepage. 
  ?craft foaf:name ?name. 
  ?craft space:alternateName ?alternateName. 
  ?craft space:internationalDesignator ?internationalDesignator. 
  ?craft space:mass ?mass. 
  ?craft relevance:score ?score. 
  ?craft space:launch ?launch. 
  ?craft space:agency ?agency. 
  ?craft dc:description ?description. 
}

To give parameters to the query, input mapping section can be used. Following query extract aircraft information according to the agency therefore, we will take agency as an input parameter. Input parameters can be added by clicking "Add Input Mappings" and add the input mappings accordingly. Enter a name for Grouped By Element and Row Name. You can also give a name space if you wish. Click on Add Output Mappings to map the response to output XML DS Figure 3: Create New Query Once you have entered the output mapping details click on "Main Configuration" and click on "Save" button. DS Figure 4: Add Output Mappings Created query will be listed as follows. Click on "Next" to create the operation. DS Figure 5: Created Query Step 4: Create a web service operation
Enter a name for the operation and select the query from the drop down list. Click on "Save". DS Figure 6: Add operation Once you click on "Finish" your data service will be created and deployed. Step 5: Service deployed
You can see the deployed service by clicking on "List" under Manage/Services left menu. Deployed AircraftInfoService service will be list as follows. DS Figure 7: Deployed Services Click on the "EarthquakeInfoService". It will direct to the Service Dashboard (AircraftInfoService). You can click on "Edit Data Service (XML Edit)" and view the created data service as a XML. DS Figure 9: Edit data service Step 6: Try your service
Click on "Try It" link to invoke the service. DS Figure 10: Invoke service using Try-it