Archive 1.x:Ontology Create/1.1

From OSF Wiki
Jump to: navigation, search
Ontology: Create endpoint version:

The Ontology Create service is used to create/import a new OWL ontology into the OSF Web Service instance.

This service is a web service wrapper over the OWLAPI ontology library. It wraps all the needed functionalities related to ontology creation/import. Most of the relatd API has been implemented. So we can say that web service (with the other related services) turns the OWLAPI into a web service API.

Developers communicate with the Ontology Create Web service using the HTTP POST 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.


This documentation page is used for the version 1.1 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 content management systems, developers or administrators to create ontologies that are hosted on a OSF Web Service instance, and that are used to describe the named entities in the system.

This endpoint, along with the other related endpoints: Ontology Read, Ontology Update and Ontology Delete; can be seen as the brain of your OSF Web Service instance.

Web Service Endpoint Information

This section describes all the 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: True
  • Read: False
  • Update: False
  • Delete: False

As shown on the graph URI:

  • URI of the dataset being created

Note: normally, the URI of an Ontology dataset is the URL used to import that ontology in the system. The URL can be the URI of the ontology if it was resolvable on the Web, or the URL where the OWL file, containing the ontology's description, can be resolved by the server (on the web, on the file system, etc) via a URL.

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:
  • POST

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)


  • http://[...]/ws/ontology/create/ ?uri=param1&globalPermissions=param2&advancedIndexation=param3&reasoner=param4&registered_ip=param5

URI dynamic parameters description:

Note: All parameters have to be URL-encoded

  • param1. URI of the ontology; the URI is the URL used to import that ontology in the system. The URL can be the URI of the ontology if it was resolvable on the Web, or the URL where the OWL file, containing the ontology's description, that can be resolved on the Web by this endpoint. This URL can refers to a file accessible on the web, on the file system, etc. The endpoint will get the ontology's description from that URL.
  • param2 The permissions to set, for accessing this ontology, for the global (guess) user. It is represented by a quadruple with a value "True" or "False" defined as <Create;Read;Update;Delete>. Each value is separated by the ";" character. an example of such a quadruple is: "crud=True;True;False;False", meaning: Create = True, Read = True, Update = False and Delete = False. This defines the permissions granted for global user (so any requester) for that ontology.
  • param3. If
    • "True": Advanced Indexation is enabled. This means that the ontology's description (so all the classes, properties and named individuals) will be indexed in the other data management system in OSF Web Service. This means that all the information in these ontologies will be accessible via the other endpoints such as the Search and the SPARQL web service endpoints. Enabling this option may render the creation process slower depending on the size of the created ontology.
    • "False"(default): Advanced Indexation is disabled. This means that the ontologies will be queriable via the Ontology Read, Ontology Update and Ontology Delete web service endpoints only.
  • param4. Only used when advancedIndexation=true One of:
    • True (Default) — Enable the reasoner for indexing the ontology into OSF Web Service (the triple store and the full text engine)
    • False — Disable the reasoner for this query
  • param5. Target IP address registered in the WSF. Needed when param1 = "access_user". Otherwise this parameter as to be omitted.

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).

  • Code:200
    • Message: OK
  • Code:400
    • Message: Bad Request
    • Message description: No Ontology URI defined for this request
    • Message description: The ontology can\'t be loaded by the endpoint
    • Message description: No requester IP available
    • Message description: No Web service URI available
    • Message description: Target Web service XYZ not registered to this Web Services Framework
    • Message description: No access defined for this requester IP XYZ, dataset (XYZ) and Web service (XYZ)
    • Message description: The target Web service (XYZ) needs read access and the requested user (XYZ) doesn't have this access for that dataset (XYZ)
  • Code:406
    • Message: Not Acceptable
    • Message description: Unacceptable mime type requested
  • Code:500
    • Message:Internal Error