Releases: gouttegd/sssom-java
Releases · gouttegd/sssom-java
SSSOM-Java 1.0.0
Changes since version 0.9.0:
sssom-core
:- The
core
module is now strictly dedicated to the implementation of the SSSOM specification. All additional features (such as SSSOM/Transform) have been moved to a new module calledsssom-ext
. This is so that library users who just need to read and write mapping sets and perform their own operations on mappings can do so without bringing the whole SSSOM/Transform or OWL-related features that they may not need.
- The
- SSSOM/Transform:
- Add the possibility to define filter functions, to filter mappings by executing some custom, application-specific code.
- Add the possibility to define callback functions, to execute custom code intended to have side-effects on the SSSOM/T engine.
- Add optional named arguments (“flags”) to function calls.
- Two features that were previously specific to the SSSOM/T-OWL dialect have now been consolidated and generalised into the base SSSOM/T lamguage:
- placeholder substitutions in function arguments, e.g. the possibility to write
"%{subject_id}"
to insert the subject ID of the current mapping; - the possibility to define variables that can be dereferenced in a placeholder substitution.
- placeholder substitutions in function arguments, e.g. the possibility to write
- Add experimental support for URI Expressions.
- New functions in SSSOM/T-OWL:
Breaking change for SSSOM/T-OWL users
Variables dereferenced within a call to create_axiom
should no longer be enclosed in angled brackets, as this will prevent them from being successfully recognised by the Manchester syntax parser. To dereference a variable in a call create_axiom
, use either the un-bracketed form without angled brackets (%MY_VARIABLE
), or the (new in this version) bracketed form with angled brackets (<%{MY_VARIABLE}>
).
SSSOM-Java 0.9.0
Changes since version 0.8.0:
sssom-core
:- Add support for the special value
sssom:NoTermFound
. - Add support for
similarity_score
andsimilarity_measure
slots (old slotssemantic_similarity_*
are still supported when reading, and converted to their renamed variants). - Add support for “literal mappings” as defined in the upcoming version 1.0 of the SSSOM specification (“old-style” literal mappings that were defined in the now deprecated “literal profile” of the spec are supported when reading, and automatically converted to their 1.0 equivalent).
- The parser now accepts date and time values (e.g.
20240809T21:12:30
), in addition to pure date values, in themapping_date
slot. The time part is silently discarded.
- Add support for the special value
- SSSOM/T:
- It is now possible to select mappings that have no value for a given slot.
- For free-form text slots, this is done by filtering on the empty string (example:
mapping_tool=="" -> ...
will apply to mappings with an emptymapping_tool
slot). - For entity reference slots, this is done by filtering on the special value
~
(example:subject==~ -> ...
will apply to mappings with an emptysubject_id
slot).
- For free-form text slots, this is done by filtering on the empty string (example:
- It is now possible to select mappings that have no value for a given slot.
sssom-cli
:- Input files can now be specified as positional arguments in addition to (or instead of)
-i
options. That is,sssom-cli my-input-file.sssom.tsv
is equivalent tosssom-cli -i my-input-file.sssom.tsv
.
- Input files can now be specified as positional arguments in addition to (or instead of)
SSSOM-Java 0.8.0
Changes since version 0.7.9
- Added JSON support
- SSSOM-Core now provides a parser and writer for the JSON serialisation format.
- As the JSON format is not fully specified yet, three “flavours” of JSON are supported:
- pure JSON with full-length identifiers,
- pure JSON with shortened identifiers, with a CURIE map stored in a top-level
curie_map
slot (not yet officially part of the spec, but should be added soon), - “JSON-LD-like” with shortened identifiers, with a CURIE map stored in a top-level
@context
object (for compatibility with SSSOM-Py; this is not real JSON-LD, it only contains the minimal context needed to make SSSOM-Py happy).
- All ROBOT commands and the CLI tool can now accept indifferently SSSOM/TSV and JSON files (any flavour).
- SSSOM-CLI can produce JSON files (any flavour) as output:
- use
--json-output
to trigger output in pure JSON with full-length identifiers, - add
--json-short-iris
to trigger output in pure JSON with shortened identifiers, - add
--json-write-ld-context
to trigger output in SSSOM-Py compatibility mode.
- use
- Other changes:
- Range constraints of double-typed slots (accepting values between 0.0 and 1.0) are now enforced.
SSSOM-Java 0.7.9
Changes since version 0.7.8:
- The SSSOM/TSV writer now supports writing the metadata block in a separate file.
- Consequently, the
sssom-cli
tool gets a new--metadata-output
option to write the metadata to a separate file. - The
--update-from-ontology
option accepts new flags to allow for better control of what gets updated:label
to updatesubject_label
and/orobject_label
;source
to updatesubject_source
and/orobject_source
;existence
to remove a mapping if the subject and/or object does not exist (or is obsolete);subject
to only consider the subject side of mappings;object
to only consider the object side of mappings.
SSSOM-Java 0.7.8
Changes since version 0.7.7:
- The SSSOM/TSV writer now writes scalar values in YAML “plain style” whenever possible.
- Incorrect parsing of some unquoted scalar values in the metadata block has been fixed.
- Incorrect handling of missing extension values has been fixed.
- The propagation and condensation of “propagatable slots” is now deactivatable. With
sssom-cli
, new options--no-propagation
and--no-condensation
have been added to that effect.
SSSOM-Java 0.7.7
Changes since version 0.7.6:
- SSSOM/TSV writer (SSSOM-Core):
- Align the format of floating point values with SSSOM-Py.
- When a propagatable metadata is effectively propagated to individual mappings, remove it from the set-level metadata.
xref-extract
(SSSOM-Robot):- Fill in the
subject_source
field with the ontology IRI. - Accept multiple spaces in the value of the
--map-prefix-to-predicate
option.
- Fill in the
- SSSOM-CLI:
- New option
--update-from-ontology
to check/update a mapping set against a OWL ontology.
- New option
SSSOM-Java 0.7.6
Changes since version 0.7.5:
sssom-core
:- Ignore empty lines when reading a SSSOM/TSV file.
sssom-cli
:- Added convenience options
--include
and--exclude
. - Write non-standard metadata by default (
--write-extra-metadata
now defaults toDEFINED
rather thanNONE
).
- Added convenience options
SSSOM-Java 0.7.5
Changes since version 0.7.4:
- The support for non-standard metadata has been updated to align with the latest proposition from the SSSOM specification.
- When generating OWL axioms, they can now be annotated with values from non-standard metadata slots in addition to the standard slots.
- When writing a set, if the set is actually empty (contains no mappings), a TSV header line is written. This makes the resulting file readable by the SSSOM/TSV parser.
- Compatibility with the old slot
match_term_type
has been improved.
SSSOM-Java 0.7.4
Changes since version 0.7.3:
- The SSSOM/TSV writer now correctly escapes strings in the YAML metadata block and in TSV values.
- Experimental support for reading and writing non-standard metadata.
SSSOM-Java 0.7.3
Changes since version 0.7.2:
- SSSOM-Core library:
- Added support for Extended Prefix Maps.
- SSSOM-Robot plugin:
- New option
--use-input-prefix-map
to allow using the prefix map from the input set(s) in SSSOM/T rules.
- New option
- SSSOM-CLI tool:
- New option
--split
to write the result set in several chunks splitted along the subject and object ID prefixes. - New option
--mangle-iris
to “reconciliate” the IRIs in a mapping set against an extended prefix map. - New option
--no-metadata-merge
to disable merging of multi-valued metadata slots when merging several input sets. - New option
--output-metadata
to set the metadata of the result set from a specific file. - New option
--prefix-map
to set the transform prefix map from the metadata of a specific file. - New option
--prefix-map-from-input
to fill the transform prefix map with the prefixes from the input set(s). - New option
--output-prefix-map
to control which prefix map should be used to write the result set.
- New option