Skip to content

Releases: TNO/knowledge-engine

1.1.0

15 Dec 11:03
Compare
Choose a tag to compare
  • 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 value true to the POST /sc call to enable it for your smart connector's proactive interactions.
      • If you use the Java Developer API: Use the SmartConnector::setReasonerEnabled method.
    • ⚠️ BREAKING ⚠️ This might break some client code that depends on the response schema of GET /sc. The objects in the returned array now have a reasonerEnabled property that indicates whether the reasoner is enabled for that smart connector.
  • The REST API now consistently returns JSON.
    • ⚠️ BREAKING ⚠️ Clients need to be updated, most importantly, they need to make sure that the response of POST /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

15 Dec 11:03
Compare
Choose a tag to compare
  • (Bug fix) When stopping a smart connector gracefully REST API (via the DELETE /sc route), the inactivity timer is now canceled so that we do not try to stop it twice.

1.0.1

15 Dec 11:03
Compare
Choose a tag to compare
  • 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 get 409 Conflict rather than 400 Bad Request.
  • Updated Apache Jena from 4.0.0 to 4.3.1

1.0.0

15 Dec 11:02
Compare
Choose a tag to compare

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 to eu.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 from GET /sc/handle.

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

15 Dec 11:02
Compare
Choose a tag to compare

New features:

  • Added support for selecting recipients for messages: !203 !205
  • Added support for prefixes when registering knowledge interactions: !204

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

15 Dec 11:02
Compare
Choose a tag to compare
  • 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

15 Dec 11:02
Compare
Choose a tag to compare

Correct server response (400) with a useful error message when certain kinds of invalid graph patterns are given.

0.1.10

15 Dec 11:02
Compare
Choose a tag to compare
  • Validation improvements.
  • distinction between data and metadata largely removed.

0.1.9

15 Dec 11:02
Compare
Choose a tag to compare

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

15 Dec 11:02
Compare
Choose a tag to compare

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.