Skip to content

Releases: gouttegd/sssom-java

SSSOM-Java 1.1.1

24 Dec 14:47
15ca2ac
Compare
Choose a tag to compare

Changes since version 1.1.0:

  • Add support for propagation and condensation of slots with the RDF/Turtle format.
    • In SSSOM-CLI, condensation is disabled by default when writing to RDF/Turtle; use the --condensation option to enable it.
  • Add support reading non-standard metadata from a RDF/Turtle file.

SSSOM-Java 1.1.0

20 Dec 20:46
0a8df79
Compare
Choose a tag to compare

Changes since version 1.0.0:

  • sssom-core:
    • Support the new entity_type value composed entity expression.
    • Support the new predicate_type slot.
    • When reading from a SSSOM/TSV file, strip trailing tabs in the embedded YAML metadata block. This is a workaround to allow reading a file that has been mangled by a non-SSSOM-aware spreadsheet editor.
    • Improved new ISlotVisitor interface.
  • sssom-ext:
    • Support for Extended Prefix Maps (EPMs) moved from the Core library to the Extended Library.
    • Support reading and writing a mapping set to and from the RDF/Turtle format (see below).
  • SSSOM-CLI:
    • Can now read and write files in RDF/Turtle in addition to SSSOM/TSV and SSSOM/JSON.
    • New option -f, --output-format to select the output format (allowed values: tsv, json, ttl). The --json-output option is still supported but is deprecated in favor of --output-format json.
  • SSSOM/Transform:
    • Allow passing an explicit inverse predicate to the invert() function.
    • Allow filtering on the predicate_type slot.
  • SSSOM/T-OWL:
    • Allow using the is_a function on object and data properties, instead of only classes.
    • Allow using the exists function on all type of OWL entities.

About RDF/Turtle support

As the RDF serialisation is not formally specified by the SSSOM standard, RDF/Turtle support has been designed to match the output of SSSOM-Py’s convert -O rdf command. The produced output should not be considered definitive and could change in the future.

Non-standard metadata slots (“extensions”) are currently only supported when writing, not when reading. That is, the RDF/Turtle writer can write a mapping set containing non-standard metadata, but the RDF/Turtle reader will ignore all non-standard metadata when reading a set from a RDF/Turtle file.

Breaking API changes

  • The SlotVisitor and SimpleSlotVisitor interfaces have been replaced by new ISlotVisitor and ISimpleSlotVisitor interfaces with slightly different methods.
  • Some classes have been moved to new packages:
    • the SlotHelper class has been moved to the new org.incenp.obofoundry.sssom.slots package;
    • the ExtendedPrefixMap class has been to the new org.incenp.obofoundry.sssom.util package, in the Extended Library.

SSSOM-Java 1.0.0

01 Dec 11:45
c42d076
Compare
Choose a tag to compare

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 called sssom-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.
  • 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.
    • Add experimental support for URI Expressions.
  • New functions in SSSOM/T-OWL:
    • exists, to check whether an entity exists in the ontology and is not obsolete;
    • is_a, to check whether an entity is a descendant of another entity;
    • annotate, to add arbitrary annotations on entity.

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

09 Aug 20:21
5817f1f
Compare
Choose a tag to compare

Changes since version 0.8.0:

  • sssom-core:
    • Add support for the special value sssom:NoTermFound.
    • Add support for similarity_score and similarity_measure slots (old slots semantic_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 the mapping_date slot. The time part is silently discarded.
  • 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 empty mapping_tool slot).
      • For entity reference slots, this is done by filtering on the special value ~ (example: subject==~ -> ... will apply to mappings with an empty subject_id 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 to sssom-cli -i my-input-file.sssom.tsv.

SSSOM-Java 0.8.0

28 Jul 08:11
5ff94b9
Compare
Choose a tag to compare

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.
  • Other changes:
    • Range constraints of double-typed slots (accepting values between 0.0 and 1.0) are now enforced.

SSSOM-Java 0.7.9

12 Jul 20:52
98ec15a
Compare
Choose a tag to compare

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 update subject_label and/or object_label;
    • source to update subject_source and/or object_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

05 Jul 21:36
6d7b026
Compare
Choose a tag to compare

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

28 Apr 16:06
13d81b8
Compare
Choose a tag to compare

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.
  • SSSOM-CLI:
    • New option --update-from-ontology to check/update a mapping set against a OWL ontology.

SSSOM-Java 0.7.6

27 Mar 17:58
054262a
Compare
Choose a tag to compare

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 to DEFINED rather than NONE).

SSSOM-Java 0.7.5

11 Feb 20:44
6d20721
Compare
Choose a tag to compare

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.