konigio / konig

A collection of tools for semantic modeling
4 stars 4 forks source link

Generate OpenAPI specification #803

Open gmcfall opened 6 years ago

gmcfall commented 6 years ago

I want a tool that generates OpenAPI specifications for the resources described in my semantic model.

This issue is part of the larger issue #787

Acceptance Criteria

gmcfall commented 6 years ago

@svenk9575 Please add acceptance criteria for this issue.

At a minimum, the acceptance criteria should address the following concerns:

  1. How will the tool know which OWL classes need a REST API?
  2. How will the tool know what endpoint to use for each OWL class?
  3. How will the tool know what query parameters to support?
  4. How will the tool know what HTTP methods to support?
  5. How will the tool know which Shapes to support for a given class?
gmcfall commented 6 years ago

PATCH is intended to be used when you are changing only a subset of properties of a given entity. PUT should be used if you are completely replacing the entire set of properties of the entity.

I think we ought to support both PUT and PATCH. Is there a reason why you did not include PUT?

gmcfall commented 6 years ago

We need more details that explain how to handle GET requests in cases where one is filtering based on a property that can have multiple values.

Is it possible to specify multiple values for the property in the query? If so, how? Should the multiple values be interpreted as an OR or AND?

I suggest that we not allow multiple values for a single property to be specified, at least initially.
We can add that capability later if it is needed.

gmcfall commented 6 years ago

We need more details that explain how to handle GET requests in cases where one is filtering based on a property whose value is a related entity.

Does the GET method support only restrictions to IRI references to related entities? If the GET method supports filtering based on properties of a related entity, how is that filter expressed in the query string?

I suggest that we not allow filtering based on properties of a related entity in this Issue. We can add support for that capability later.

svenk9575 commented 6 years ago