Create, Get, Update
Manage your concepts.
Within your app you can create concpets, modify them after creation an get them from yoru app. We currently do not support deleting concepts since they are such an integral tie across almost all other data structures in the platform like inputs, models, searches, etc.
You will find that some of our endpoints have additional information returned from the clarifai/main app which contains our pre-trained models but also a large knowledge graph we've assembled over the years.
Create
Add Concepts
To create a new concept in you app you POST the concept with an id and name. You can also post more than one concept in the same API by sending a list of concepts.
import com.clarifai.grpc.api.*;
import com.clarifai.grpc.api.status.*;
// Insert here the initialization code as outlined on this page:
// https://docs.clarifai.com/api-guide/api-overview/api-clients#client-installation-instructions
MultiConceptResponse postConceptsResponse = stub.postConcepts(
PostConceptsRequest.newBuilder()
.addConcepts(Concept.newBuilder().setId("charlie").setName("Charlie Name"))
.build()
);
if (postConceptsResponse.getStatus().getCode() != StatusCode.SUCCESS) {
throw new RuntimeException("Post concepts failed, status: " + postConceptsResponse.getStatus());
}
Get
Get Concept by ID
You can get a singular concept by it's ID.
import com.clarifai.grpc.api.*;
import com.clarifai.grpc.api.status.*;
// Insert here the initialization code as outlined on this page:
// https://docs.clarifai.com/api-guide/api-overview/api-clients#client-installation-instructions
SingleConceptResponse getConceptResponse = stub.getConcept(
GetConceptRequest.newBuilder()
.setConceptId("charlie")
.build()
);
if (getConceptsResponse.getStatus().getCode() != StatusCode.SUCCESS) {
throw new RuntimeException("Get concepts failed, status: " + getConceptsResponse.getStatus());
}
List concepts
You can get a list of concepts within your app with a GET call. This call supports pagination
import com.clarifai.grpc.api.*;
import com.clarifai.grpc.api.status.*;
// Insert here the initialization code as outlined on this page:
// https://docs.clarifai.com/api-guide/api-overview/api-clients#client-installation-instructions
MultiConceptResponse listConceptsResponse = stub.listConcepts(
ListConceptsRequest.newBuilder()
.build()
);
if (listConceptsResponse.getStatus().getCode() != StatusCode.SUCCESS) {
throw new RuntimeException("List concepts failed, status: " + listConceptsResponse.getStatus());
}
Update
Update Concept Name
The code below showcases how to update a concept's name given its id by using the "overwrite" action. You can also patch multiple concepts by sending a list of concepts.
import com.clarifai.grpc.api.*;
import com.clarifai.grpc.api.status.*;
// Insert here the initialization code as outlined on this page:
// https://docs.clarifai.com/api-guide/api-overview/api-clients#client-installation-instructions
MultiConceptResponse patchConceptsResponse = stub.patchConcepts(
PatchConceptsRequest.newBuilder()
.setAction("overwrite") // The only supported action right now is overwrite.
.addConcepts(Concept.newBuilder().setId("charlie").setName("Charlie Name"))
.build()
);
if (patchConceptsResponse.getStatus().getCode() != StatusCode.SUCCESS) {
throw new RuntimeException("Patch concepts failed, status: " + patchConceptsResponse.getStatus());
}
Last updated
Was this helpful?