iKnow Web Services
The %iKnow package provides web service classes that execute NLP queries. This chapter provides an overview of these classes and describes how to use them. It discusses the following topics:
In InterSystems IRIS®, a web service runs within an InterSystems IRIS web application. In turn, the web application is served by your choice of web server (the same web server that serves the Management Portal).
Available Web Services
NLP provides the following web service classes:
The %iKnow.Queries package also contains classes that the compiler generated when these classes were compiled. For example, when the compiler compiled the class %iKnow.Queries.CcWSAPIOpens in a new tab, it generated the classes in the %iKnow.Queries.CcWSAPIOpens in a new tab package. These generated classes are not intended for direct use.
Using an NLP Web Service
To use a web service, you create and use a web client that communicates with it. To do so for an NLP web service, you use the same procedure as with any other web service:
Create a web client that can communicate with the web service. Typically, to do so, you generate the web client using a tool provided by the client technology and you provide the WSDL of the web service as input. This process generates a set of client classes.
For an InterSystems IRIS® data platform web service, the WSDL is available at a specific URL. The URL has the following form, using the <baseURL> for your instance:
namespace is the namespace name.
web_service_class is the full package and class name of the web service with .cls at the end.
For example, for the class %iKnow.Queries.EntityWSAPIOpens in a new tab, use %25iKnow.Queries.EntityWSAPI.cls
Be sure to replace the leading percent sign of the package with the URL escape sequence %25 as shown here.
Rather than editing the generated client classes, create an additional class or routine that uses them. The details depend on the technology.
In InterSystems IRIS, to use a web client, you create an instance of the web client class and then invoke its instance methods. See the following example.
Comparison of NLP Web Services with Primary NLP APIs
The primary NLP APIs use arguments that cannot be easily represented in SOAP messages, so the methods in NLP web services have different signatures than do the methods in the primary NLP APIs. In particular, note the following differences: