Dataset: Read

From OSF Wiki
Jump to: navigation, search
Dataset: Read endpoint version:
1.1
2
3

The Dataset: Read Web service is used to get information (title, description, creator, contributor(s), creation date and last modification date) for a dataset belonging to an OSF Web Services instance.

Developers communicate with the Dataset: Read Web service using the HTTP GET method. You may request one of the following mime types: (1) text/xml, (2) application/rdf+xml, (3) application/rdf+n3 or (4) application/json. The content returned by the Web service is serialized using the mime type requested and the data returned depends on the parameters selected.

Version

This documentation page is used for the version 3 of this endpoint. Check at the top of this page to see the documentation pages for the other versions of this endpoint.

Usage

This Web service is intended to be used by any user that wants to get some information about a dataset registered to a WSF (Web Service Framework) for querying or other purposes.

Web Service Endpoint Information

This section describes all you permissions you need in the WSF (Web Service Framework) to send a query to this Web service endpoint, and it describes how to access it.

To access this Web service endpoint you need the proper CRUD (Create, Read, Update and Delete) permissions on a specific graph (dataset) of the WSF. Without the proper permissions on this graph you won't be able to send any queries to the endpoint.

Needed registered CRUD permission:
  • Create: False
  • Read: True
  • Update: False
  • Delete: False

As shown on the graph URI:

  • http://[...]/wsf/dataset/

Here is the information needed to communicate with this Web service's endpoint. Descriptions of the parameters are included below.

Note: if a parameter has a default value, the requester can omit it and the default value will be used. Also, some baseline Web services may not offer other values than the default.

HTTP Method:
  • GET

Possible "Accept:" HTTP header field value:

  • text/xml (structXML)
  • application/json (structJSON)
  • application/rdf+xml (RDF+XML)
  • application/rdf+n3 (N3/Turtle)
  • application/iron+json (irJSON)
  • application/iron+csv (commON)

URI:

  • http://[...]/ws/dataset/read/?uri=&interface=&version=

URI dynamic parameters description:

Note: All parameters have to be URL-encoded

  • uri. Unique identifier used to refer to this new dataset
    • Optionally, the user can specify "all" for the URI to get the description of all datasets accessible to him.
  • interface. Source interface used for this web service query. The interface is a different way to process a query (different algorithms, different data management system, etc. The default interface is 'default'
  • version. (default: 3.0) Version of the interface to query

Available Sources Interfaces

A source interface is a way to process a web service query. Different sources interfaces can be implemented for the same OSF Web Service endpoint. Each interface will process the query differently, but all the queries to the web service endpoint will be the same, at the exception of the interface parameter. Each interface shares the same API (the one defined by the web service endpoint), but their processing may differ (like using different algorithms, using different data management systems, etc.)

This is a list of the core interfaces for this endpoint. Organizations that hosts a OSF Web Service network could create their own interface and make it available to the users. However such private source interface won't be part of this list, but should be publicized by the organization.


Source Interface Name Description
default Default source interface for this OSF Web Service endpoint. This interface implements the default behavior of this OSF Web Service endpoint.

Example of Returned XML Document

This is an example of the XML document returned by this Web service endpoint for a given dataset URI.

This example returns the description of a dataset registered to a WSF.

Query:
  • http://[...]/ws/dataset/read/?uri=http://[...]/wsf/datasets/237/

"Accept:" HTTP header field value:

  • text/xml

Result:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!DOCTYPE resultset PUBLIC "-//Structured Dynamics LLC//Dataset Read DTD 0.1//EN" "http://bknetwork.org:8890/ws/dtd/dataset/datasetRead.dtd">
  3. <resultset>
  4.    <prefix entity="wsf" uri="http://purl.org/ontology/wsf#"/>
  5.    <prefix entity="void" uri="http://rdfs.org/ns/void#"/>
  6.    <prefix entity="rdf" uri="http://www.w3.org/1999/02/ 22-rdf-syntax-ns#"/>
  7.    <prefix entity="sioc" uri="http://rdfs.org/sioc/ns#"/>
  8.    <prefix entity="dcterms" uri="http://purl.org/dc/terms/"/>
  9.    <subject type="void:Dataset" uri="http://bknetwork.org/wsf/ datasets/237/">
  10.       <predicate type="dcterms:title">
  11.          <object type="rdfs:Literal">RePEC</object>
  12.       </predicate>
  13.       <predicate type="dcterms:created">
  14.          <object type="rdfs:Literal">2009-05-13</object>
  15.       </predicate>
  16.       <predicate type="dcterms:creator">
  17.          <object type="sioc:User" uri="http://bknetwork.org/drupal/ user/1/"/>
  18.       </predicate>
  19.    </subject>
  20. </resultset>

DTD of the XML Document

  1. <!ELEMENT resultset (subject)+ (prefix)* >
  2. <!ELEMENT prefix EMPTY>
  3. <!ATTLIST prefix entity CDATA #IMPLIED>
  4. <!ATTLIST prefix uri CDATA #IMPLIED>
  5. <!ELEMENT subject (predicate)*>
  6. <!ATTLIST subject type (void:Dataset) "void:Dataset">
  7. <!ATTLIST subject uri CDATA #IMPLIED>
  8. <!ELEMENT predicate (object)>
  9. <!ATTLIST predicate type (dcterms:title | dcterms:description | dcterms:creator | dcterms:contributor | dcterms:created | dcterms:modified) "dcterms:creator">
  10. <!ELEMENT object EMPTY>
  11. <!ATTLIST object type (sioc:User | rdfs:Literal) "rdfs:Literal">
  12. <!ATTLIST object uri CDATA #IMPLIED>
  13. <!ATTLIST object label CDATA #IMPLIED>
Descriptions of the Types of XML Elements

Here are descriptions of the types of XML elements that might be returned from from this Web service. Please read the XML data structure documentation to understand how the data is structured within these XML documents.

Example of Returned RDF/XML Document

Here is an example of a RDF/XML document returned by this Web service endpoint for a given URI.

Query:
  • http://[...]/ws/dataset/read/?uri=http://[...]/wsf/datasets/237/

"Accept:" HTTP header field value:

  • application/rdf+xml

Result:

  1. <?xml version="1.0"?>
  2. <rdf:RDF xmlns:void="http://rdfs.org/ns/void#" xmlns:dcterms= "http://purl.org/dc/terms/" xmlns:rdfs="http://www.w3.org/2000/ 01/rdf-schema#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf- syntax-ns#">
  3.    <void:Dataset rdf:about="http://bknetwork.org/wsf/datasets/237/">
  4.       <dcterms:title>RePEC</dcterms:title>
  5.       <dcterms:created>2009-05-13</dcterms:created>
  6.       <dcterms:creator rdf:resource="http://bknetwork.org/drupal/ user/1/" />
  7.    </void:Dataset>
  8. </rdf:RDF>

Example of Returned RDF/N3 Document

Here is an example of a RDF/N3 document returned by this Web service endpoint for a given URI.

Query:
  • http://[...]/ws/dataset/read/?uri=http://[...]/wsf/datasets/237/

"Accept:" HTTP header field value:

  • application/rdf+n3

Result:

  1. @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
  2. @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
  3. @prefix void: <http://rdfs.org/ns/void#> .
  4. @prefix dcterms: < [http://purl.org/dc/terms/%3E http://purl.org/dc/terms/>] .
  5. <http://bknetwork.org/wsf/datasets/237/> a void:Dataset ;
  6. dcterms:title """RePEC""" ;
  7. dcterms:created """2009-05-13""" ;
  8. dcterms:creator <http://bknetwork.org/drupal/user/1/> .

HTTP Status Codes

Here are the possible HTTP status (error) codes returned by this Web service endpoint.

On error code and the specific error, a different message description can be issued (meaning a different error has been returned).


HTTP 200

Message Description
OK


HTTP 400

ID Level Name Description
WS-DATASET-READ-200 Warning No unique identifier specified for this dataset No URI defined for this new dataset
WS-DATASET-READ-201 Warning Invalid dataset URI The URI of the dataset is not valid.
WS-DATASET-READ-300 Fatal Can't get the description of any dataset An error occured when we tried to get information about all datasets
WS-DATASET-READ-301 Fatal Can't get the description of the target dataset An error occured when we tried to get information about the target dataset
WS-DATASET-READ-303 Fatal Can't get information about the contributors An error occured when we tried to get information about the contributors of this dataset
WS-DATASET-READ-304 Warning This dataset doesn't exist in this WSF The target dataset doesn't exist in this web service framework
WS-DATASET-READ-306 Fatal Requested source interface not existing The source interface you requested is not existing for this web service endpoint.
WS-DATASET-READ-307 Fatal Requested incompatible Source Interface version The version of the source interface you requested is not compatible with the version of the source interface currently hosted on the system. Please make sure that your tool get upgraded for using this current version of the endpoint.
WS-DATASET-READ-308 Fatal Source Interface's version not compatible with the web service endpoint's The version of the source interface you requested is not compatible with the one of the web service endpoint. Please contact the system administrator such that he updates the source interface to make it compatible with the new endpoint version.

HTTP 403

ID Level Name Description
WS-AUTH-VALIDATION-100 Fatal Unauthorized Request Your request cannot be authorized for this web service call
WS-AUTH-VALIDATION-101 Fatal Unauthorized Request Your request cannot be authorized for this web service call
WS-AUTH-VALIDATION-102 Fatal Couldn't authorize request An internal error occured when we tried to authorize this request
WS-AUTH-VALIDATION-103 Fatal Unauthorized Request Your request cannot be authorized for this user: "---", on this dataset: "---", using this web service endpoint: "---"


HTTP 406

Message Description
Not Acceptable Unacceptable mime type requested


HTTP 500

Message Description
Internal Error