Releases: kbss-cvut/jopa
0.19.0
- Add support for disabling inference via query hints (Enhancement #101).
- Allow registering custom attribute converters (Enhancement #118).
- Add RDF4J driver, deprecate Sesame driver (Task #75).
- Dependency updates: SLF4J 2.0.3, Logback 1.3.4.
Both query hints and custom attribute converters are covered by the Wiki documentation.
Upgrade Notes
The Sesame driver (artifactId ontodriver-sesame
) has been deprecated. Its usage should be replaced by the new RDF4J driver (artifactId ontodriver-rdf4j
). It is currently functionally almost equivalent to the Sesame driver (with the exception of support for disabling inference for query execution). However, further development will focus on the new driver, so it is highly recommended to migrate to it.
To migrate, do the following:
1. Maven
Replace
<dependency>
<groupId>cz.cvut.kbss.jopa</groupId>
<artifactId>ontodriver-sesame</artifactId>
</dependency>
With
<dependency>
<groupId>cz.cvut.kbss.jopa</groupId>
<artifactId>ontodriver-rdf4j</artifactId>
</dependency>
2. Java
Replace the following class references
cz.cvut.kbss.ontodriver.sesame.SesameDataSource
->cz.cvut.kbss.ontodriver.rdf4j.Rdf4jDataSource
And the following properties:
cz.cvut.kbss.ontodriver.sesame.use-volatile-storage
->cz.cvut.kbss.ontodriver.rdf4j.use-volatile-storage
cz.cvut.kbss.ontodriver.sesame.use-inference
->cz.cvut.kbss.ontodriver.rdf4j.use-inference
cz.cvut.kbss.ontodriver.sesame.load-all-threshold
->cz.cvut.kbss.ontodriver.rdf4j.load-all-threshold
cz.cvut.kbss.ontodriver.sesame.repository-config
->cz.cvut.kbss.ontodriver.rdf4j.repository-config
cz.cvut.kbss.ontodriver.sesame.reconnect-attempts
->cz.cvut.kbss.ontodriver.rdf4j.reconnect-attempts
cz.cvut.kbss.ontodriver.sesame.inference-in-default-context
->cz.cvut.kbss.ontodriver.rdf4j.inference-in-default-context
or switch from the SesameOntoDriverProperties
constants to Rdf4jOntoDriverProperties
constants (note that they do not have the SESAME_
prefix).
0.18.7
0.18.6
0.18.5
0.18.4
0.18.3
- Add a no-arg constructor to
LangString
so that it can be serialized/deserialized by JSON mapping libraries like Jackson. - Fix a classpath scanning issue on Windows.
- Explicitly use UTF-8 encoding when reading mapping file.
- Rename ReleaseNotes to CHANGELOG and give it a more standard format.
0.18.2
0.18.1
0.18.0
- Implemented full support for Java 8 date/time API. It is now the preferred way of representing temporal data (#95). See the wiki for details.
- Do not validate participation constraints on inferred attributes on persist (#98).
- Support mapping lexical form of literals with explicit datatype (#96).
- Allow retrieving entity classes mapping the specified class IRI from
Metamodel
(#99). - Dependency updates - RDF4J 3.7.4, test dependencies, plugins.
Breaking Changes?
Note that the datetime implementation may represent some behavior changes. Note that while not strictly a breaking change, the new date/time handling may lead to values differing from the old implementation, which used java.util.Date
and relied on the underlying repository API to transfer it to a suitable storage value. This mostly meant that java.util.Date
values were interpreted with system local offset, as opposed to the UTC-based interpretation of the new implementation.
The new implementation should be more faithful to the semantics of the date/time classes in Java.
One potential breaking change could appear when accessing temporal values via the unmapped properties (@Properties
). Since the old implementation used java.util.Date
, the values were loaded as such (or Date.toString
for String-based usage). The new implementation will use OffsetDateTime
|OffsetTime
|LocalDate
and its toString
serialization (which is currently ISO-based).