Architecture and Functions
At the center are the 4 main modules of the semantic mind of ALISE: Aglaia, Hephaistos, Peripatos and Leto.
When we start from the top Aglaia is the interface manager. With all her grace (after all she is one of the three Graces) she communicates between the Al!se components and the outside word; translates between JSON, XML/RPC (until v2) and the program.
Calls are secure transmitted via JSON Web Token (JWT – RFC 7519). You must verify a signature before storing and using it. The Web Token is returned from the server after successfully logging in, stored in the Clients Session Store and deleted after terminating the session or a defined time (so it is necessary to request a new token if the session is terminated).
Hephaistos, the god of smithing, forges the information gathered from the other modules and controls the communication between them.
Further down we have Peripatos, the place of the great philosophical school of Aristoteles and unsurprisingly where the brain of the program is located. Here the AI uses statistical methods of probability and analyzes words and sentence structures. The text is further enriched with semantic metadata.
The information is then saved and organized in the database Leto. The Database manages long term knowledge and delivers case based data. The ontologies, according to which the information is characterized, are customized depending on the specific needs of the program.
On top of the main modules is Selene, the interface. Selene is browser based and therefore accessible anywhere. It is connected to the harvester and crawler Athena, which scans and analyzes given documents and collects data. The main function of Selene is the dialogue/chat where questions are answered based on the learned information (scanned in Athena, connected in Hephaistos, analyzed in Peripatos and stored in Leto). The semantic AI will be able to interpret the previously input data and more importantly understand its meaning. According to the information available, it can now make decisions and answer questions.
Aglaia – sample JSON Calls
Calls are secure transmitted via JSON Web Token (JWT – RFC 7519). You must verify a signature before storing and using it. The Web Token is returned from the server after successfully logging in, stored in the Clients Session Store and deleted after terminating the session or a defined time (so it is necessary to request a new token if the session is terminated).
Aglaia Calls
| Method | Request | Body | Response | ||
|---|---|---|---|---|---|
| Authentication | In authentication, when the user successfully logs in using their credentials, a JSON Web Token will be returned and must be saved locally (typically in local storage, but cookies can be also used), instead of the traditional approach of creating a session in the server and returning a cookie. Requested parameters are um which is a valid eMail address of the user, password which is mandatory to receive a token but if not set rqn has to be set with the parameter un to generate a new account. If password is not set and rqn+pwd the password recovery is initiated starting with a mail to the user. | POST | http(s)://[aglaiahost]://api/v1/login | {“user”: “user@mail”,”pwd”: “password”} | {“fn”:”firstName”, “ll”:”lastName”, “sk”:”base64securekey”)Or, if unsucessful {} |
Hephaistos Calls
| Getter | Method | Request | Body | Response | |
|---|---|---|---|---|---|
| Get available semantic DataBases | POST | http(s)://[aglaiahost]://api/v2/get | { “sdb”: “”, „token“:token} | Returns all available ontologies or {} | |
| Get available ontologies | POST | http(s)://[aglaiahost]://api/v2/get | { “ont”: “”, „sdb“: sdburi, „token“:token} | Returns all available ontologies or {} | |
| Get specific ontology | POST | http(s)://[aglaiahost]://api/v2/get | { “ont”: “semcare”, „sdb“: sdburi, „token“:token} | Returns ontology or {} | |
| Get specific class with attributes+datatype, sliks+sliksattribs and subclasses | POST | http(s)://[aglaiahost]://api/v2/get | { “ont”: “semcare”, „class“:“[classuri]“, „sdb“: sdburi, „token“:token} | Returns class of ontology with attributes+datatype, slinks+slikattrib and subclasses-uri | |
| GetSOb: get semantic object | POST | http(s)://[aglaiahost]://api/v2/get | { „soburi“:“[soburi]“, „sdb“: sdburi, „token“:token} | Returns requested object with all set attributes and slinks. | |
| GetSBOb: get binary content of semantic object | POST | http(s)://[aglaiahost]://api/v2/get | { „soburi“ : “[soburi]“, bin : true, „sdb“: sdburi, „token“ : token} | Returns binary content of requested sOb. | |
| Get all sOb fitered by class | POST | http(s)://[aglaiahost]://api/v2/get | {Filter[“class, attrib, slink-value_0…N”], „sdb“: sdburi, „token“ : token} | Returns all sOb if values=nul, otherwise intersection of values depending on filteroperator. |
| Setter | Method | Request | Body | Response | |
|---|---|---|---|---|---|
| SetSOb: set Semantic Object | POST | http(s)://[aglaiahost]://api/v2/set | { “SObURI”:”[URI],”SObLabel”:”[LABEL], “token”:token} | Returns {“SOBURI”:”[SObURI]”, “State”:”[ErrorMessage]”} – ErrorLevel 0=ok | |
| SetSObA: set Attributes of a specific SOb | POST | http(s)://[aglaiahost]://api/v2/set | {} | ||
| setSLink: link two SOb with a SLink | POST | http(s)://[aglaiahost]://api/v2/set | {} | ||
| Delete | Method | Request | Body | Response | |
|---|---|---|---|---|---|
| DelSOb: delete Semantic Object | POST | http(s)://[aglaiahost]://api/v2/del | { “SObURI”:”[URI],”SObLabel”:”[LABEL], “token”:token} | Returns {“SOBURI”:”[SObURI]”, “State”:”[ErrorMessage]”} – ErrorLevel 0=ok | |
| DelSObA: delete Attributes of a specific SOb | POST | http(s)://[aglaiahost]://api/v2/set | {} | ||
| delSLink: delete SLink of two SOb | POST | http(s)://[aglaiahost]://api/v2/set | {} | ||
Peripatos Calls
| Method | Request | Body | Response | ||
|---|---|---|---|---|---|
| POST | http://desktop-v7g1qdl:11000/api/v2/question | {“text”:”The doctor gives the judge a bottle of wine.”,”user”:”mp”,”model”:”de”,”sid”:”1″} | {“text”: “I think… The act has to do with ‘giving'(urn:uuid:5d64d7fc-7bb4-48ea-a5f6-2f4b6fc1058b)”, the person involved ‘doctor'(urn:uuid:a18871c9-1e37-4e32-802c-0b032eadeb13)(perpetrator) and ‘wine’ (new word)(victim/object) to do”} |

No responses yet