Releases: TNO/knowledge-engine
Releases · TNO/knowledge-engine
1.1.0
- ✨ NEW FEATURE ✨ The reasoner is added. It is disabled by default.
- To enable it:
- If you use the REST API: Add a property
reasonerEnabled
with valuetrue
to thePOST /sc
call to enable it for your smart connector's proactive interactions. - If you use the Java Developer API: Use the
SmartConnector::setReasonerEnabled
method.
- If you use the REST API: Add a property
⚠️ BREAKING⚠️ This might break some client code that depends on the response schema ofGET /sc
. The objects in the returned array now have areasonerEnabled
property that indicates whether the reasoner is enabled for that smart connector.
- To enable it:
- The REST API now consistently returns JSON.
⚠️ BREAKING⚠️ Clients need to be updated, most importantly, they need to make sure that the response ofPOST /sc/ki
is interpreted as a JSON object instead of a plain text string.
- If you use the distributed version of the Knowledge Engine, you can now (1) configure the URL at which your runtime is exposed to different runtimes, and (2) configure the URL at which your Knowledge Directory is exposed to the runtimes.
- This means that it is now possible to place a reverse proxy in front of the Knowledge Engine and Knowledge Directory, allowing TLS-encrypted communication. 🔒
⚠️ BREAKING⚠️ The configuration has changed for this. Refer to the README for the latest examples.
1.0.2
1.0.1
- BREAKING Inactive reactive knowledge bases are now detected, and removed when they are not long polling for longer than 60 seconds.
- When the knowledge request queue limit (50) for a knowledge base is reached, the OLDEST request will now be cancelled.
- Cancelled knowledge requests (or otherwise failed requests in many cases) now are communicated via
ExchangeInfo
so that these things end up in the knowledge base that initiated the interaction. - BREAKING The REST API now omits the JSON properties that have a value of
null
- When trying to renew a lease of a knowledge base that doesn't have a lease, the REST API now returns status code 404.
- When deleting a knowledge base that is already stopping, you will now get status code 404 from the REST API.
- BREAKING Prefixes can no longer be used in variables bound in a binding. (Currently, we erroneously accept e.g.,
rdf:type
, because Jena by default has some prefixes that it uses in the parser.) - BREAKING Semicolon-separated URIs (e.g.,
<http://example.org/foo>;<http://example.org/foo>
) are no longer accepted as valid variables bound to a binding. - When trying to open a second long poll with
GET /sc/handle
, you will now get409 Conflict
rather than400 Bad Request
. - Updated Apache Jena from
4.0.0
to4.3.1
1.0.0
Important announcements:
- We incremented the version number to
1.0.0
. 🎉 - The package names and artifact group ID have been changed from
eu.interconnectproject.knowledge_engine
toeu.knowledge.engine
.
New features:
- When responding to an ASK/POST, a handler can now see from which knowledge base the ASK/POST originated
- In the REST API, this is included in the property
requestingKnowledgeBaseId
, in the object returned fromGET /sc/handle
.
- In the REST API, this is included in the property
Bug fixes:
- When retrieving data about knowledge bases through the REST API (
GET /sc
), the knowledge base's lease renewal time is now included correctly. - There were cases where invalid JSON would result in a status 500. We correctly handle this now, and return status 400.
0.1.13
New features:
- Added support for selecting recipients for messages: !203 !205
- See the API specs
for an example.
- See the API specs
- Added support for prefixes when registering knowledge interactions: !204
- See the API specs
for more details.
- See the API specs
Bug fixes:
- The startup of a new smart connector (
POST /sc
) should now be faster when
the runtime is in local mode, especially when many other smart connectors
already exist.
0.1.12
- Introduces the between-JVM SPARQL+ protocol. This adds support for distributed Knowledge Engine, but is not enabled. It requires an additional component called the Knowledge Directory.
- Bug where Smart Connector was not yet ready for communication when POST /sc/ returned.
- Opt-in lease mechanism for Knowledge Bases, allowing them to let the Knowledge Engine know they are still available. If no longer available, the Knowledge Engine cleans its Smart Connector automatically.
- Validation improvements.
0.1.11
0.1.10
0.1.9
Validation improvement:
- When receiving invalid (or unexpected) JSON, the server now returns status code 400 with an error message, rather than status code 500.
Other improvement:
- Restructured Maven modules to make the REST server more flexible with which SmartConnector implementation it uses.
- We now also release a Docker image. (Thanks, Jarne!)
0.1.8
Improvements:
- When an ASK or POST interaction receives identical bindings from different knowledge bases, they are no longer included both, but only once.
Validation improvements:
- When REACTing or ANSWERing to a handle request with an invalid request (400), you will now have the chance to try again. (Before this, it would return empty bindings to the POSTer/ASKer. Now they have to wait until the REACTer/ANSWERer responds with valid bindings.)
- Unparsable graph patterns now return validation error messages to the client, instead of HTTP 500.
- Empty strings are no longer accepted as knowledge base IDs.