Releases: hyperquest-hq/hyperbase
Releases · hyperquest-hq/hyperbase
v0.8.0
[0.8.0] - 26-03-2026 - hyperbase is the successor of graphbrain
Added
- parser plugin foundation.
- more comprehensive Hyperedge.check_correctness.
- check parse correctness.
- type checking: full code coverage.
Changed
- renamed library to hyperbase.
- trimmed down library to the essentials: hyperedge, patterns and parser foundations.
- converted documentation to Material for MkDocs.
Removed
- hypergraph module, hypergraph database (memory module).
- alphabeta parser implementation.
- old scripts, examples, processors.
- ad hoc utils.
- cli.
- notebook utils.
- obsolete constants.
v0.7.0
Added
- patterns.is_wildcard().
- Base class hypergraph.memory.keyvalue.KeyValue for key-value hypergraph databases, removing redundant code between LevelDB and SQLite.
- Tests for LevelDB (only the SQLite Hypergraph implementation was being directly tested).
- Hyperedge.is_unordered_pattern().
- Functional pattern: any.
- Parser-level inference of coreferences between proper nouns.
- Parser.parse_and_add() now adds token information to the main edge of a sentence: the attribute 'tokens' contains the list of tokens and 'tok_pos' a structure with the token position for each atom in the edge.
- Post-processing step improves parser.
- Hypergraph.get_attributes().
Changed
- Entire project is now in pure Python
- Python >=3.10 now required.
- Hypergraph.search(), .match() and .count() now working with functional patterns and argument role matching.
- Fixed bug on match_pattern(), variables were not correctly matched when argument roles were specified past the first position in an atoms functional pattern.
- Simplified default systems connectors (breaks hypergraph DB backwards compatibility).
- max_text argument in parser.parse_and_add().
- Matches from patterns with repeated variables are collected in lists.
Removed
- graphbrain.logic obsolete module.
- LevelDB backend
Version 0.6.1
Changed
- Hyperedge.replace_argroles() .insert_argrole() and .insert_edge_with_argrole() now works with functional patterns such as var.
- Fixed bug when matching patterns containing atoms functional pattern where no atom has argroles.
Removed
- interactive_case_generator() from graphbrain.notebook.
Version 0.6.0
Added
- Hyperedge.atom and .not_atom properties.
- Hyperedge.mtype() and .connector_mtype() methods.
- Hyperedge.t, .mt, .ct and .cmt type shortcut properties.
- Functional patterns: var, atoms, lemma.
- Moved all patterns functions to graphbrain.patterns.
- Hypergraph.text().
- Parser.parse_and_add().
- Parser.sentences().
- Hyperedge.normalized().
- New package graphbrain.readers, for text readers from various sources.
- New package graphbrain.processors, for miscellaneous processors.
- Processor class.
Changed
- Coreference resolution now using the new spaCy experimental model.
- Now using spaCy transformer GPU models by default, can fallback to CPU model.
- Hyperedge.is_atom() deprecated.
- Improved Hyperedge.main_concepts().
- Hyperedge.atom() renamed to .inner_atom().
- Sequences keep track of their size, no need to specify position when adding edge to sequence.
- Improved wikipedia reader.
- Improved coreference resolution.
- LevelDB included by default again.
- Old package graphbrain.meaning renamed to graphbrain.utils.
- Hyperedge.argroles() now also works at relation/concept level.
Removed
- graphbrain.patterns.normalize_edge().
- graphbrain.stats obsolete package.
- graphbrain.cognition obsolete package.
- graphbrain.op obsolete module.
- Hyperedge .predicate() and .predicate_atom().
Version 0.5.0
Added
- SQLite3 hypergraph database backend.
- Hypergraph.add_with_attributes().
- import and export commands.
- Hypergraph context manager for batch writes (with hopen(hg_locator) as hg ...).
Changed
- Main hypergraph database backend is now SQLite3.
- LevelDB backend becomes optional. (disabled by default)
- Neuralcoref becomes optional. (disabled by default)
Removed
- Hypergraph.atom_count().
- Hypergraph.edge_count().
- Hypergraph.primary_atom_count().
- Hypergraph.primary_edge_count().
- info command.
- corefs_unidecode agent.
Version 0.4.3
[0.4.3] - 22-04-2021
Changed
- Fixed AlphaBeta bug related to temporary atoms being removed too soon from atom2tokens.
- Hypergraph.add_sequence() converts sequence name directly to atom.
- Parser level coreference resolution (neuralcoref) disabled by default, requires dedicated build.
Version 0.4.2
[0.4.2] - 12-04-2021
Changed
- Solving wheel compilation issue.
Version 0.4.1
[0.4.1] - 07-04-2021
Changed
- Solving issue with inclusion of auxiliary data file in non-binary distributions.
Version 0.4.0
[0.4.0] - 07-04-2021
Added
- Agents system.
- Conjunctions resolution agent.
- Number agent (singular/plural relations) and related meaning.number module.
- Wikipedia agent.
- Coreference resolution in the parser through local fork of neuralcoref.
- atom_gender(), atom_number(), atom_person(), atom_animacy() in parsers.
- Coreference inference: gender, number and animacy.
- Coreference inference:'X is Y' relationships.
- dir_parser agent (looks for text files in directory tree).
- Function meaning.concepts.has_common_or_proper_concept(edge).
- Function Hypergraph.add() now has optional 'count' parameter.
- Function Hypergraph.sequences().
- Function Hyperedge.replace_argroles().
- Function Hyperedge.insert_argrole().
- Function Hyperedge.insert_edge_with_argrole().
- Function Hyperedge.all_atoms().
- Function Hyperedge.size().
- Function Hyperedge.predicate().
- Function Hyperedge.predicate_atom().
- Function Hyperedge.simplify().
- Function Hyperedge.connector_atom().
- Utility functions to show colored edges in the terminal.
Changed
- Special characters in atoms are now percent-encoded.
- parse() now returns a dictionary that includes inferred edges.
- parse() now returns a dictionary of edges to text.
- New parser framework, improved English parser + scripts to help train and test new parsers.
- Hyperedge main type character codes become upercase (apple/C instead of apple/c).
- Conjunction hyperedge type, character code: "J" (e.g.: and/J).
- Modifier hyperedge type can now be applied to anything.
- Searching patterns can now include types, argument roles and other atom parts.
- Hypergraph.search_count() renamed to Hypergraph.count().
- corefs_names agent is simplified.
- corefs_onto agent is simplified.
- Tests now run with pytest instead of the deprecated './setup.py test'.
- Hyperedge.replace_atom() optional unique argument.
Removed
- Meta-modifier hyperedge type.
- Auxiliary, subpredicate and dependency hyperedge types.
- Obsolete Hyperedge.nest() method.
Version 0.3.2
Added
- simplify_role() on Atom objects produces an atom with only its simple type as role.
Changed
- Lemmas are now based on atoms with simplified roles.
- Improved actors agent (more accurate identification of actors, English only for now).