The CRUD: Create Web service is used to create a new instance record in a target dataset registered to an OSF Web Services instance. When a new instance record is created, it becomes accessible to the users that have access to this dataset. A new instance record is a record for which we have no revisions.
Developers communicate with the CRUD: Create Web service using the HTTP POST method. You may request any of the available content types (*/*).
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.
This Web service is intended to be used by any user that wants to create some information instance records in a dataset registered to a WSF (Web Service Framework) for querying or other purposes.
It is used to create the initial version of a record. A record is newly created when there exists no revision for that record. You cannot create a record using this web service endpoint if the record already exists. An existing record is a record that is published, or that have unpublished revisions.
Here are a few things you can configure to change the behavior of a CRUD: Create web service endpoint.
You can geo-enable the CRUD: Create web service endpoint. By geo-enabling the service, you will change the behavior of the endpoint such that if it detects that a record that is being indexed has geo-related information, then it will properly index that information such that other geo-enabled services, such as the Search web service endpoint, can leverage that information to perform different geo-related tasks.
Also read that other zWiki page that tells you how to geo-enabled a record description: Geo-enabling Datasets
To geo-enable a CRUD: Create web service endpoint you have to make sure that:
- The Solr instance is using the the Solr Spatial Query fix, and read this introduction article for good background information about this topic: Location-aware search with Apache Lucene and Solr
- The Solr instance is using the
- The network.ini configuration file specify that the OSF Web Service instance is geo-enabled by specifying
geoenabled = truein the
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.
- Create: True
- Read: False
- Update: False
- Delete: False
As shown on the graph URI:
- Target dataset URI
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.
Possible "Accept:" HTTP header field value:
URI dynamic parameters description:
Note: All parameters have to be URL-encoded
- document. RDF document where instance record(s) are described. The size of this document is limited to 8MB
- mime. One of:
- application/rdf+xml — RDF document serialized in XML
- application/rdf+n3 — RDF document serialized in N3
- mode. One of:
- full (default) — Index in both the triple store (Virtuoso) and search index
- triplestore — Index in the triple store (Virtuoso) only. This mode cannot be used if the record is already existing.
- searchindex — Re-index the records in the search index (Solr) using the triples currently indexed into the triple store. This mode can only be used on published records. The payload of this query can be composed of records that only have a single type triple since the other information won't be used by the endpoint to populate the search index.
- dataset. Dataset URI where to index the RDF document
- 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 source interface for this OSF Web Service endpoint. This interface implements the default behavior of this OSF Web Service endpoint.|
Query Answer from the Endpoint
If the query is successfully performed by the endpoint (i.e., the Web service resource has been properly created, updated or deleted), the endpoint will return the HTTP status message "200 OK" with an empty body. If an error occurred, one of the HTTP status messages with the description of the error message in the body of the HTTP query will be returned.
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).
|WS-CRUD-CREATE-200||Notice||No RDF document to index||No RDF document has been defined for this query|
|WS-CRUD-CREATE-201||Warning||Unknown MIME type for this RDF document||An unknown MIME type has been defined for this RDF document|
|WS-CRUD-CREATE-202||Warning||No dataset specified||No dataset URI defined for this query|
|WS-CRUD-CREATE-301||Fatal||Can't parse RDF document||Can't parse the specified RDF document|
|WS-CRUD-CREATE-302||Fatal||Syntax error in the RDF document||A syntax error exists in the specified RDF document|
|WS-CRUD-CREATE-303||Fatal||Can't update the Solr index||An error occured when we tried to update the Solr index|
|WS-CRUD-CREATE-304||Fatal||Can't commit changes to the Solr index||An error occured when we tried to commit changes to the Solr index|
|WS-CRUD-CREATE-306||Fatal||Can't parse the classHierarchySerialized.srz file||We can't parse the classHierarchySerialized.srz file. Please do make sure that this file is properly serialized. You can try to fix that issue by re-creating a serialization file from the latest version of the OntologyRead web service endpoint and to replace the result with the current file being used.|
|WS-CRUD-CREATE-307||Fatal||Requested source interface not existing||The source interface you requested is not existing for this web service endpoint.|
|WS-CRUD-CREATE-308||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-CRUD-CREATE-309||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.|
|WS-CRUD-CREATE-310||Fatal||Can't parse the propertyHierarchySerialized.srz file||We can't parse the propertyHierarchySerialized.srz file. Please do make sure that this file is properly serialized. You can try to fix that issue by re-creating a serialization file from the latest version of the OntologyRead web service endpoint and to replace the result with the current file being used.|
|WS-CRUD-CREATE-311||Fatal||Can't query the revisions graph||Can't read the revisions graph to check if revisions exists for one of the record(s)|
|WS-CRUD-CREATE-312||Fatal||A revision exists for one of the record(s)||A revision exists for one of the record(s) that are being created. This web service endpoint cannot be used to re-create a record. That record needs to be updated using CRUD: Update.|
|WS-CRUD-CREATE-313||Fatal||Can't refresh search index for an un-published record||You are trying to refresh the search index using records that are currently unpublished. Only published records can be used to update the search index.|
|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: "---"|
|Not Acceptable||Unacceptable mime type requested|