Skip to content

Releases: gouttegd/sssom-java

SSSOM-Java 1.10.0

19 Dec 21:21
82f649a

Choose a tag to compare

Changes since version 1.9.1:

  • New format modifier functions for mapping format strings:
    • prefix and suffix, to get the prefix and the suffix (“local name”), respectively, of a shortened identifier;
    • lower and upper, to transform a substituted value into lower- and upper-case;
    • replace, to perform basic find-and-replace operations on a substituted value.
  • New options to control SSSOM-CLI’s --split feature:
    • --split-with-predicates to split the set along the mapping predicates, in addition to the subject and object prefixes (courtesy of @ptgolden);
    • --split-by to fully control which slots are used to split the mapping set.

SSSOM-Java 1.9.1

28 Oct 22:20
f57ace0

Choose a tag to compare

Changes since version 1.9.0:

  • Updated the RDF parser and writer to reflect changes in the latest draft of the SSSOM/RDF specification.

SSSOM-Java 1.9.0

20 Sep 14:16
cc80e9c

Choose a tag to compare

Changes since version 1.8.2:

  • Core library:
    • Add helper methods to enforce compliance with a given version of the specification.
    • Silently accept some incorrect, but non-ambiguous enum values (e.g. rdfs:Literal accepted for rdfs literal).
  • RDF support:
    • Allow to optionally inject “direct triples” when producing RDF output.
  • SSSOM/T:
    • New filters to select on date-typed slots: mapping_date and publication_date.
    • New filter to select on the predicate only, without taking into account the predicate modifier: raw_predicate.
  • SSSOM/T-OWL:
    • All pre-1.0 features that were previously marked as deprecated have now been removed.
  • Command-line tool:
    • New --force-version to ensure that the output set is compliant with a specific version of the specification.
    • New experimental feature to allow encoding extension slots into other slots (--extensions-to-other) and decoding extension slots from other slots (--extensions-from-other). This is intended to allow preserving the values of extension slots even when a set has to be manipulated by an implementation without support for extension slots, such as SSSOM-Py.

SSSOM-Java 1.8.2

19 Aug 16:57
e2ac3d4

Choose a tag to compare

Changes since version 1.8.1:

  • Added support for the new cardinality value 0:0.
  • When computing cardinality, use special cardinality values 1:0, 0:1, and 0:0 for mapping records involving sssom:NoTermFound as respectively the object, the subject, or both the subject and the object.

SSSOM-Java 1.8.1

10 Aug 11:05
664103d

Choose a tag to compare

Changes since version 1.8.0:

  • core: Added support for set-level, propagatable curation_rule and curation_rule_text slots.
  • sssom-cli: When removing mapping_cardinality from the output (--cardinality REMOVE, which is the default behaviour), also removes any cardinality_scope slot.

SSSOM-Java 1.8.0

01 Aug 17:40
5f597d3

Choose a tag to compare

Changes since version 1.7.0:

Core library

  • Added support for the new cardinality_scope slot.

Command-line tool

  • New option --input-format to allow overriding the automatic detection of the format of input files.
  • New option --blanket-rule to allow quickly specifying a SSSOM/T rule that should apply to all mappings without having to explicitly use a catch-all filter.
    • For example, use --blanket-rule invert() to invert all mappings.
    • This is a shortcut for --rule "predicate==* -> invert()".
  • New option --cardinality {REMOVE|KEEP|FORCE} to control what to do with mapping cardinality values when producing the output files:
    • REMOVE removes all cardinality values (this is the default behaviour);
    • KEEP leaves any cardinality value in place;
    • FORCE re-computes all cardinality values and overwrites any pre-existing value; this replaces the (now deprecated) option --force-cardinality.

SSSOM/T

  • New function infer_cardinality([scope]) to force the recomputing of cardinality values within a SSSOM/T ruleset.

ROBOT plugin

  • The sssom:inject command can now produce a full SSSOM/OWL export of a mapping set.
  • The default value of the /annots_uris flag in SSSOM/T-OWL is now standard_map.

Deprecation warning: All pre-1.0 features of SSSOM/T-OWL (all features listed here) are going to be removed in the next version. Update your SSSOM/T-OWL rulesets accordingly!

SSSOM-Java 1.7.0

13 Jul 20:13
f8f588e

Choose a tag to compare

Changes since version 1.6.0:

Core library

  • Fix incorrect validation of sets containing a mix of records with and without a record_id slot.
  • Add a helper class to facilitate merging two sets.
  • Allow extracting a value from a set using an abstract syntax (soon to be proposed to the SSSOM specification).
  • Support URI-typed extension slots (extensions defined with a type_hint of xsd:anyURI).

SSSOM/T

  • Add missing placeholders for the recently introduced slots mapping_tool_id and record_id.
  • Add a new substitution modifier function (default) to insert a default value if a placeholder would not inject anything (e.g. ${object_label|default('no label')} would inject “no label” if the current mapping does not have a object_label).
  • Add a new filter has_extension to filter mappings depending on the existence of an extension slot.

Command-line tool

  • Add the --no-stdout option to disable writing the result set to standard output.
  • Add the --extract option to extract an arbitrary value from the result set.
    • For example, --extract mapping(2).slot(creator_id, 1) would print the ID of the first creator of the second mapping in the set.
    • See the documentation for more details about the argument to the --extract option.

SSSOM-Java 1.6.0

17 Jun 19:03
ada5bb6

Choose a tag to compare

Changes since version 1.5.1:

Core library

  • Added support for new slots from the upcoming version 1.1 of the SSSOM specification:
    • record_id,
    • mapping_tool_id,
    • and mapping_set_confidence.
  • In SSSOM 1.1 compliance mode, URI-typed slots are checked for correctness (their values must indeed be a URI).
  • All readers now automatically make additional validity checks by default:
    • presence of a mapping_set_id slot,
    • presence of a license slot,
    • correct use of the record_id slot (if the slot is used at all, then all records must have a unique value).
  • A new experimental feature allows to generate a unique hash for a mapping record.

RDF serialisation

The RDF writers and parsers have been tweaked based on discussions about what the RDF serialisation of SSSOM should look like. Note that those discussions are still ongoing, and the RDF serialisation is still not specified, so it may still change in the future.

The main difference compared with previous versions is that a mapping set is represented by its mapping_set_id, rather than by a blank node. That is, instead of:

[] a sssom:MappingSet ;
   sssom:mapping_set_id "https://example.org/myset/"^^xsd:anyURI .

this is now:

<https://example.org/myset> a sssom:MappingSet .

(The former representation is still accepted when reading from RDF.)

Likewise, a mapping record is represented using its record_id if present (otherwise, a blank node is still used).

Command-line tool (sssom-cli)

A new --lax option allows to disable the additional validity checks mentioned above.

SSSOM/T

New substitution placeholders

Two new substitution placeholders have been added:

  • %{hash}, which inserts a hash value that uniquely represents the mapping record being processed;
  • and %{serial}, which inserts a number that is automatically incremented whenever a new mapping is processed.

Such placeholders can be used, for example, to automatically generate values for the record_id slot:

subject==* -> assign("record_id", "https://example.org/records/%{hash}");

to generate a record ID of the form https://example.org/records/<UNIQUE_HASH>, or

subject==* -> assign("record_id", "https://example.org/records/%{serial|format(%07d)}");

to generate a record ID of the form https://example.org/records/NNNNNNN.

New filter function

A new filter function, is_duplicate, allows to select mappings for which a mapping-derived value is identical to that of a previously processed mapping.

For example, to filter out all mappings with the same subject_id except the first one:

is_duplicate(%{subject_id}) -> stop();

To filter out all mappings that have the same triple subject_id / predicate_id / object_id, except the first one:

is_duplicate("%{subject_id}%{predicate_id}%{object_id}") -> stop();

Or, using the aforementioned %{hash} substitution, to filter out all mappings that are completely identical, keeping only the first such mapping:

is_duplicate(%{hash}) -> stop();

SSSOM Java 1.5.1

16 May 01:14
be905fa

Choose a tag to compare

Changes since version 1.5.0:

  • sssom-cli:
    • New option --assume-version to change the version of the SSSOM specification that a set is assumed to be compliant with, in the absence of an explicit sssom_version slot (default: 1.0, as mandated by the specification).
    • New option --ignore-missing-imports, to silently ignore any failure to load an imported ontology, when using the --update-from-ontology feature.

SSSOM-Java 1.5.0

14 May 18:57
8ebe8ae

Choose a tag to compare

Changes since version 1.4.0:

  • Added support for the new sssom_version slot that will be part of the next version (1.1) of the specification.