All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
@roundrepr
now adds a minimal docstring to the generated__repr__
method.Ontology
caches subclassing relationships to greatly improve performance ofTerm.subclasses
.
Entity
subclasses now store theirid
directly to improve performance.Term.subclasses
andTerm.superclasses
usecollections.deque
instead ofqueue.Queue
as a LIFO structure since thread-safety is not needed.
1.0.0 - 2019-10-11
- Issues with typedef serialization in
FastoboSerializer
. Ontology.create_term
andOntology.create_relationship
not raisingValueError
when given an identifier already in the knowledge graph.- Signature of
BaseSerializer.dump
to removeencoding
argument. - Missing
__slots__
inEntity
in non-typechecking runtime.
- Bumped
fastobo
requirement tov0.6.0
.
1.0.0-alpha.3 - 2019-10-10
- Extraction of
oboInOwl:consider
annotation inRdfXMLParser
. - Extraction of
oboInOwl:savedBy
annotation inRdfXMLParser
. - Extraction of
subsetdef
andsynonymtypedef
as annotation properties inRdfXMLParser
. - Support for
doap:Version
instead ofowl:VersionIri
for specification of ontology data version. - Proper comparison of
PropertyValue
classes, based on the lexicographic order of their serialization. Ontology.dump
andOntology.dumps
methods to serialize an ontology in obo or obojson format.
Metadata
not storing optional description of ID spaces if any.- Wrong type hints in
RelationshipData.equivalent_to_chain
.
- Added type checking to some more property setters.
- Avoid using
networkx
inTerm.subclasses
. fastobo
-derived parsers will not create a new entity if one exists in the graph of dependencies already.- Exposed
pronto.warnings
and the complete warnings hierarchy.
1.0.0-alpha.2 - 2019-10-03
- Support for extraction of relationships from OWL/XML files to
OwlXMLParser
.
- Type hints of
RelationshipData.synonyms
attribute.
1.0.0-alpha.1 - 2019-10-02
- Dropped support for Python earlier than
3.6
. - Brand new data model that follow the OBO 1.4 object model.
- Partial OWL XML parser implementation using the OBO 1.4 semantics.
- New OBO parser implementation based on
fastobo
. - Imports are properly separated from the top-level ontology.
Ontology.__getitem__
can also access entities from imports.Term
,Relationship
,Xref
,SynonymType
compare only based on their ID.Subset
,Definition
compare only based on their textual value.
- Support for OBO JSON parser based on
fastobo
. - Provisional
mypy
type hints. - Type checking for most properties in
__debug__
mode. - Proper
repr
implementation that should roundtrip most of the time. - Detection of file format and encoding based on buffer content.
- OBO and JSON serialization support (for now).
Term.rchildren
andTerm.rparents
and stop making direction assumptions on relationships.