Skip to content

Commit

Permalink
[2.0.0] Bump version, update changelog and readme.
Browse files Browse the repository at this point in the history
  • Loading branch information
ledsoft committed May 27, 2024
1 parent 8290451 commit 18a01d4
Show file tree
Hide file tree
Showing 20 changed files with 40 additions and 56 deletions.
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# JOPA - Change Log

## 2.0.0 - 2024-05-27
- Move internal API from `jopa-api` to the `jopa-impl` module (Enhancement #146).
- Modify name resolution in OWL2Java, support prefixes so that terms are better disambiguated without appending the useless `_A` suffix if possible (Enhancement #85).
- Remove dependency on AspectJ by rewriting object change tracking and lazy loading (Enhancement #145, #231). See the [wiki](https://github.com/kbss-cvut/jopa/wiki/Change-Tracking-and-Lazy-Loading) for details.
- Add support for RDF collections (Enhancement #51).
- Update dependencies (Jena 5.0.0, RDF4J 4.3.11).
- Require Java 17.

## 1.2.2 - 2024-01-30
- Modify `DefaultClasspathScanner` to handle Spring Boot nested JAR introduced in 3.2.0 (Bug #227).

Expand Down
31 changes: 12 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ The library architecture and API is similar to JPA (see [2]) so that Java develo
* Explicit access to inferred knowledge
* Access to unmapped properties and individual's types
* Transactions
* Multilingual strings
* Separate storage access layer - Jena, OWLAPI, RDF4J drivers are available

#### Object-ontological Mapping Based on Integrity Constraints
Expand All @@ -23,13 +24,13 @@ Similarly to object-relational mapping (ORM), OOM enables to map ontological con

More specifically, OOM in JOPA maps (using the JLS [3] terminology):

| Ontology | OO Language |
|---------------------|------------------------------------------|
| OWL Class | Reference type |
| Object property | Reference type member |
| Data property | Primitive type member (+ String, Date) |
| Annotation property | Reference or primitive type member |
| Class assertions | Reference type instance or @Types record |
| Ontology | OO Language |
|---------------------|------------------------------------------------------------|
| OWL Class | Reference type |
| Object property | Reference type member |
| Data property | Primitive type member (+ String, Date, MultilingualString) |
| Annotation property | Reference or primitive type member |
| Class assertions | Reference type instance or @Types record |

All this means that individuals belonging to an OWL class can be retrieved as instances of a (Java) class.

Expand Down Expand Up @@ -101,15 +102,6 @@ Supported storages:
* [OWLAPI](https://github.com/owlcs/owlapi)
* [RDF4J](https://rdf4j.org/)

### Not Supported, yet

JOPA currently does not support referential integrity. This, for example, means that removing an instance that is referenced
by another instance is possible even though it should not.
Such feature is vital for object-oriented application, but not compatible with
the open-world nature of ontologies. Design possibilities and their implications are currently being studied.

Other missing/planned stuff can be found in the GitHub issue tracker and in [TODO.md](TODO.md).

## Modules

The whole framework consists of several modules:
Expand Down Expand Up @@ -141,14 +133,14 @@ JOPA examples can be found in a separate repository at [https://github.com/kbss-

A real-world, up-to-date project using JOPA is [TermIt](https://github.com/kbss-cvut/termit) - a SKOS-compatible vocabulary manager.

Note that JOPA requires **Java 11** or later.
Note that JOPA requires **Java 17** or later.

## Getting JOPA

There are two ways of getting JOPA for a project:

* Clone repository/download zip and build it with Maven,
* Use a Maven dependency from the [Maven central repository](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22cz.cvut.kbss.jopa%22).
* Use a Maven/Gradle dependency from the [Maven central repository](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22cz.cvut.kbss.jopa%22).

Basically, the _jopa-impl_ module and one of the OntoDriver implementations is all that is needed:

Expand All @@ -169,7 +161,7 @@ Basically, the _jopa-impl_ module and one of the OntoDriver implementations is a

## More Info

More information about JOPA can be found for example in articles [4], [5], [6] and on the GitHub [Wiki](https://github.com/kbss-cvut/jopa/wiki).
More information about JOPA can be found, for example, in articles [4], [5], [6] and on the GitHub [Wiki](https://github.com/kbss-cvut/jopa/wiki).

JOPA build status and code metrics can be found at:

Expand All @@ -195,6 +187,7 @@ Some related libraries:

Notable changes:

* **2.0.0** - Major rewrite of change tracking and lazy loading, remove internal API from the `jopa-api` module etc.
* **1.0.0** - Support for static metamodel generation and mapping multiple inheritance via Java interfaces.
* **0.20.0** - Allow editing inferred attributes (See the [wiki](https://github.com/kbss-cvut/jopa/wiki) for more details). Support `IN`, `NOT LIKE`, `<>` operators in SOQL.
* **0.19.0** - Add RDF4J driver (renaming of Sesame driver, which has been deprecated and will be removed in the future)
Expand Down
17 changes: 0 additions & 17 deletions TODO.md

This file was deleted.

2 changes: 1 addition & 1 deletion datatype/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<artifactId>jopa-all</artifactId>
<groupId>cz.cvut.kbss.jopa</groupId>
<version>2.0.0-SNAPSHOT</version>
<version>2.0.0</version>
<relativePath>../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion jopa-api/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>cz.cvut.kbss.jopa</groupId>
<artifactId>jopa-all</artifactId>
<version>2.0.0-SNAPSHOT</version>
<version>2.0.0</version>
<relativePath>../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion jopa-distribution/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>cz.cvut.kbss.jopa</groupId>
<artifactId>jopa-all</artifactId>
<version>2.0.0-SNAPSHOT</version>
<version>2.0.0</version>
<relativePath>../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion jopa-impl/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>cz.cvut.kbss.jopa</groupId>
<artifactId>jopa-all</artifactId>
<version>2.0.0-SNAPSHOT</version>
<version>2.0.0</version>
<relativePath>../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion jopa-integration-tests-jena/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>cz.cvut.kbss.jopa</groupId>
<artifactId>jopa-all</artifactId>
<version>2.0.0-SNAPSHOT</version>
<version>2.0.0</version>
<relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
Expand Down
2 changes: 1 addition & 1 deletion jopa-integration-tests-owlapi/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>cz.cvut.kbss.jopa</groupId>
<artifactId>jopa-all</artifactId>
<version>2.0.0-SNAPSHOT</version>
<version>2.0.0</version>
<relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
Expand Down
2 changes: 1 addition & 1 deletion jopa-integration-tests-rdf4j/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>cz.cvut.kbss.jopa</groupId>
<artifactId>jopa-all</artifactId>
<version>2.0.0-SNAPSHOT</version>
<version>2.0.0</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>jopa-integration-tests-rdf4j</artifactId>
Expand Down
2 changes: 1 addition & 1 deletion jopa-integration-tests/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>cz.cvut.kbss.jopa</groupId>
<artifactId>jopa-all</artifactId>
<version>2.0.0-SNAPSHOT</version>
<version>2.0.0</version>
<relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
Expand Down
2 changes: 1 addition & 1 deletion jopa-maven-plugin/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>jopa-all</artifactId>
<groupId>cz.cvut.kbss.jopa</groupId>
<version>2.0.0-SNAPSHOT</version>
<version>2.0.0</version>
<relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
Expand Down
2 changes: 1 addition & 1 deletion jopa-owl2java/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>cz.cvut.kbss.jopa</groupId>
<artifactId>jopa-all</artifactId>
<version>2.0.0-SNAPSHOT</version>
<version>2.0.0</version>
<relativePath>../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion jopa-owlapi-utils/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>cz.cvut.kbss.jopa</groupId>
<artifactId>jopa-all</artifactId>
<version>2.0.0-SNAPSHOT</version>
<version>2.0.0</version>
<relativePath>../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion modelgen/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<artifactId>jopa-all</artifactId>
<groupId>cz.cvut.kbss.jopa</groupId>
<version>2.0.0-SNAPSHOT</version>
<version>2.0.0</version>
<relativePath>../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion ontodriver-api/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<artifactId>jopa-all</artifactId>
<groupId>cz.cvut.kbss.jopa</groupId>
<version>2.0.0-SNAPSHOT</version>
<version>2.0.0</version>
<relativePath>../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion ontodriver-jena/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<parent>
<groupId>cz.cvut.kbss.jopa</groupId>
<artifactId>jopa-all</artifactId>
<version>2.0.0-SNAPSHOT</version>
<version>2.0.0</version>
<relativePath>../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion ontodriver-owlapi/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
<parent>
<groupId>cz.cvut.kbss.jopa</groupId>
<artifactId>jopa-all</artifactId>
<version>2.0.0-SNAPSHOT</version>
<version>2.0.0</version>
<relativePath>../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion ontodriver-rdf4j/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
<parent>
<artifactId>jopa-all</artifactId>
<groupId>cz.cvut.kbss.jopa</groupId>
<version>2.0.0-SNAPSHOT</version>
<version>2.0.0</version>
</parent>

<properties>
Expand Down
8 changes: 4 additions & 4 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>

<groupId>cz.cvut.kbss.jopa</groupId>
<version>2.0.0-SNAPSHOT</version>
<version>2.0.0</version>
<artifactId>jopa-all</artifactId>
<packaging>pom</packaging>
<name>JOPA</name>
Expand Down Expand Up @@ -165,11 +165,11 @@
</build>
</profile>
<profile>
<id>github</id>
<id>kbss</id>
<distributionManagement>
<snapshotRepository>
<id>github</id>
<url>https://maven.pkg.github.com/kbss-cvut/jopa</url>
<id>kbss</id>
<url>sftp://kbss.felk.cvut.cz/var/www/m2repo</url>
</snapshotRepository>
</distributionManagement>
</profile>
Expand Down

0 comments on commit 18a01d4

Please sign in to comment.