Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 3 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (7.2%) to scientific vocabulary
Repository
SSSOM for Java and ROBOT
Basic Info
- Host: GitHub
- Owner: gouttegd
- License: gpl-3.0
- Language: Java
- Default Branch: main
- Homepage: https://incenp.org/dvlpt/sssom-java/
- Size: 8.86 MB
Statistics
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 0
- Releases: 37
Metadata Files
README.md
SSSOM Java - SSSOM library for Java
SSSOM-Java is an implementation of the Simple Standard for Sharing
Ontology Mappings
(SSSOM) specification
for the Java language – just a hobby, won’t be big and professional like
sssom-py.
The project provides a Java library that can be used to support the SSSOM standard in a Java application, a program to manipulate mapping sets from the command line, and a pluggable command for the ROBOT ontology manipulation tool.
Features
- Reading a SSSOM mapping set from the TSV serialisation format.
```java import org.incenp.obofoundry.sssom.model.MappingSet; import org.incenp.obofoundry.sssom.model.Mapping; import org.incenp.obofoundry.sssom.TSVReader; import org.incenp.obofoundry.sssom.SSSOMFormatException;
[...] MappingSet mappingSet; try { TSVReader reader = new TSVReader("my-mappings.sssom.tsv"); mappingSet = reader.read(); } catch (SSSOMFormatException e) { // Invalid SSSOM data return; }
// play with the mapping set for (Mapping m : mappingSet.getMappings()) { System.out.printf("%s -[%s]-> %s\n", m.getSubjectId(), \ m.getPredicateId(), \ m.getObjectId()); } ```
- Writing a SSSOM mapping set to the TSV serialisation format.
```java import org.incenp.obofoundry.sssom.model.MappingSet; import org.incenp.obofoundry.sssom.TSVWriter;
[...] MappingSet mappingSet = ...; try { TSVWriter writer = new TSVWriter("my-mappings.sssom.tsv"); writer.write(mappingSet); } catch (IOException e) { // I/O error } ```
Reading/writing a mapping set from/to the JSON serialisation format.
Reading/writing a mapping set from/to the RDF/Turtle serialisation format.
Extracting SSSOM mappings from a OWL ontology with ROBOT:
sh
robot sssom:xref-extract -i uberon.owl --mapping-file uberon-mappings.sssom.tsv
By default, this honours the oboInOwl:treat-xrefs-as-... annotations
found in the ontology (contrary to sssom parse or runoak mappings).
- Injecting arbitrary axioms into a OWL ontology with ROBOT, with the axioms to inject being described by rules written in an ad-hoc SSSOM/Transform language. As an example, here is how to use it to generate bridging axioms between the Drosophila Anatomy Ontology (FBbt) and the taxon-neutral ontologies UBERON and CL:
subject==FBbt:* (object==CL:* || object==UBERON:*) {
predicate==semapv:crossSpeciesExactMatch -> {
create_axiom("%subject_id EquivalentTo: %object_id and (BFO:0000050 some NCBITaxon:7227)");
annotate(%{subject_id}, IAO:00000589, "%{subject_label} (Drosophila)");
}
}
Assuming this is written in a file named bridge.rules, one can then
generate a merged ontology between FBbt, UBERON, and CL as follows:
sh
robot merge -i uberon.owl -i cl.owl -i fbbt.owl \
sssom:inject --sssom fbbt-mappings.sssom.tsv \
--ruleset bridge.rules \
annotate --ontology-iri http://purl.obolibrary.org/obo/bridged.owl \
--output bridged.owl
Renaming entities within a OWL ontology, using a SSSOM mapping set as the source of truth for which entity should be renamed and into what.
Manipulating mapping sets from the command line, with a dedicated command-line tool named
sssom-cli.
Building
Build by running mvn clean package. This will produce five distinct
Jar files:
sssom-core-x.y.z.jar(incore/target): a minimal Java library, containing only the classes implementing the SSSOM specification.sssom-ext-x.y.z.jar(inext/target): an extended library, built on top ofsssom-coreand providing more classes to facilitate the manipulation of mappings.sssom-robot-plugin-x.y.z.jar(inrobot/target): a file usable as a ROBOT plugin.sssom-robot-standalone-x.y.z.jar(inrobot/target): a standalone version of ROBOT (1.9.6), which includes the command(s) from the SSSOM plugin as if they were built-in commands.sssom-cli-x.y.z.jar(incli/target): thesssom-clicommand-line tool, as a self-sufficient executable Jar archive.
To use the library in a Java project, use the following identifiers:
- group ID:
org.incenp; - artifact ID:
sssom-corefor the core library, orsssom-extfor extended library (which will bring insssom-coreas a dependency).
Homepage and repository
The project is located at https://incenp.org/dvlpt/sssom-java/, where some documentation is also hosted. The source code is available in a Git repository at https://github.com/gouttegd/sssom-java.
Copying
SSSOM-Java is distributed under the terms of the GNU General Public License, version 3 or higher. The full license is included in the COPYING file of the source distribution.
SSSOM-Java includes code that is automatically derived from the SSSOM
schema (all classes under the
org.incenp.obofoundry.sssom.model namespace). That code is distributed
under the same terms as the schema itself:
Copyright (c) 2022, Nico Matentzoglu All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Owner
- Name: Damien Goutte-Gattat
- Login: gouttegd
- Kind: user
- Location: London, UK
- Company: University of Cambridge
- Website: https://incenp.org/
- Repositories: 32
- Profile: https://github.com/gouttegd
Slacker & Biocurator. Most of my own projects are on https://git.incenp.org/damien, I use this account mainly to contribute to GitHub-hosted projects.
Citation (CITATION.cff)
cff-version: 1.2.0
message: "Should you wish to cite this software, please do so using the following metadata."
title: "SSSOM-Java"
authors:
- family-names: "Goutte-Gattat"
given-names: "Damien"
orcid: "https://orcid.org/0000-0002-6095-8718"
license: GPL-3.0-or-later
url: "https://incenp.org/dvlpt/sssom-java/"
repository-code: "https://github.com/gouttegd/sssom-java"
version: 1.8.1
date-released: "2025-08-19"
doi: 10.5281/zenodo.16904343
references:
- authors:
- family-names: "Matentzoglu"
given-names: "Nicolas"
- family-names: "Balhoff"
given-names: "James P"
- family-names: "Bello"
given-names: "Susan M"
- family-names: "Bizon"
given-names: "Chris"
- family-names: "Brush"
given-names: "Matthew"
- family-names: "Callahan"
given-names: "Tiffany J"
- family-names: "Chute"
given-names: "Christopher G"
- family-names: "Duncan"
given-names: "William D"
- family-names: "Evelo"
given-names: "Chris T"
- family-names: "Gabriel"
given-names: "Davera"
- family-names: "Graybeal"
given-names: "John"
- family-names: "Gray"
given-names: "Alasdair"
- family-names: "Gyori"
given-names: "Benjamin M"
- family-names: "Haendel"
given-names: "Melissa"
- family-names: "Harmse"
given-names: "Henriette"
- family-names: "Harris"
given-names: "Nomi L"
- family-names: "Harrow"
given-names: "Ian"
- family-names: "Hegde"
given-names: "Harshad B"
- family-names: "Hoyt"
given-names: "Amelia L"
- family-names: "Hoyt"
given-names: "Charles T"
- family-names: "Jiao"
given-names: "Dazhi"
- family-names: "Jiménez-Ruiz"
given-names: "Ernesto"
- family-names: "Jupp"
given-names: "Simon"
- family-names: "Kim"
given-names: "Hyeongsik"
- family-names: "Koehler"
given-names: "Sebastian"
- family-names: "Liener"
given-names: "Thomas"
- family-names: "Long"
given-names: "Qinqin"
- family-names: "Malone"
given-names: "James"
- family-names: "McLaughlin"
given-names: "James A"
- family-names: "McMurry"
given-names: "Julie A"
- family-names: "Moxon"
given-names: "Sierra"
- family-names: "Munoz-Torres"
given-names: "Monica C"
- family-names: "Osumi-Sutherland"
given-names: "David"
- family-names: "Overton"
given-names: "James A"
- family-names: "Peters"
given-names: "Bjoern"
- family-names: "Putman"
given-names: "Tim"
- family-names: "Queralt-Rosinach"
given-names: "Núria"
- family-names: "Shefchek"
given-names: "Kent"
- family-names: "Solbrig"
given-names: "Harold"
- family-names: "Thessen"
given-names: "Anne"
- family-names: "Tudorache"
given-names: "Tania"
- family-names: "Vasilevsky"
given-names: "Nicole"
- family-names: "Wagner"
given-names: "Alex H"
- family-names: "Mungall"
given-names: "Christopher J"
title: "A Simple Standard for Sharing Ontological Mappings (SSSOM)"
type: article
journal: "Database"
volume: 2022
pages: baac035
year: 2022
doi: 10.1093/database/baac035
GitHub Events
Total
- Create event: 25
- Release event: 13
- Issues event: 9
- Watch event: 1
- Delete event: 12
- Issue comment event: 24
- Push event: 106
- Pull request event: 5
Last Year
- Create event: 25
- Release event: 13
- Issues event: 9
- Watch event: 1
- Delete event: 12
- Issue comment event: 24
- Push event: 106
- Pull request event: 5
Committers
Last synced: 8 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Damien Goutte-Gattat | d****t@i****g | 615 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 7 months ago
All Time
- Total issues: 10
- Total pull requests: 3
- Average time to close issues: 4 months
- Average time to close pull requests: 3 days
- Total issue authors: 2
- Total pull request authors: 1
- Average comments per issue: 3.3
- Average comments per pull request: 0.0
- Merged pull requests: 2
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 4
- Pull requests: 3
- Average time to close issues: 3 days
- Average time to close pull requests: 3 days
- Issue authors: 2
- Pull request authors: 1
- Average comments per issue: 5.75
- Average comments per pull request: 0.0
- Merged pull requests: 2
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- gouttegd (9)
- cmrn-rhi (1)
Pull Request Authors
- gouttegd (6)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 5
- Total downloads: unknown
-
Total dependent packages: 0
(may contain duplicates) -
Total dependent repositories: 0
(may contain duplicates) - Total versions: 148
repo1.maven.org: org.incenp:sssom-core
SSSOM Java library
- Homepage: https://incenp.org/dvlpt/sssom-java/library.html
- Documentation: https://appdoc.app/artifact/org.incenp/sssom-core/
- License: GPL-3.0-or-later,BSD-3-Clause
-
Latest release: 1.8.1
published 7 months ago
Rankings
repo1.maven.org: org.incenp:sssom-robot
SSSOM plugin for ROBOT
- Homepage: https://incenp.org/dvlpt/sssom-java/robot.html
- Documentation: https://appdoc.app/artifact/org.incenp/sssom-robot/
- License: GPL-3.0-or-later,BSD-3-Clause
-
Latest release: 1.8.1
published 7 months ago
Rankings
repo1.maven.org: org.incenp:sssom-java
SSSOM for Java and ROBOT
- Homepage: https://incenp.org/dvlpt/sssom-java/
- Documentation: https://appdoc.app/artifact/org.incenp/sssom-java/
- License: GPL-3.0-or-later,BSD-3-Clause
-
Latest release: 1.8.1
published 7 months ago
Rankings
repo1.maven.org: org.incenp:sssom-ext
SSSOM Extended Java library
- Homepage: https://incenp.org/dvlpt/sssom-java/library.html
- Documentation: https://appdoc.app/artifact/org.incenp/sssom-ext/
- License: GPL-3.0-or-later,BSD-3-Clause
-
Latest release: 1.8.1
published 7 months ago
Rankings
repo1.maven.org: org.incenp:sssom-cli
SSSOM command line utility
- Homepage: https://incenp.org/dvlpt/sssom-java/cli.html
- Documentation: https://appdoc.app/artifact/org.incenp/sssom-cli/
- License: GPL-3.0-or-later,BSD-3-Clause
-
Latest release: 1.8.1
published 7 months ago