Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 2.4 #120

Merged
merged 95 commits into from
Jul 17, 2023
Merged

Release 2.4 #120

merged 95 commits into from
Jul 17, 2023

Conversation

tomhanika
Copy link
Owner

No description provided.

hirthjo and others added 30 commits December 18, 2020 10:53
The fix for the :anonymous-burmeister write to file function caused
some context io tests to fail.  This commit removes the
:anonymous-burmeister format from the out-in and out-in-out-in tests.

The reasoning is as follows:

- Before fixing the io write function, the tests went through because
calling `count` on a context results in an
`UnsupportedOperationException` which is caught and accepted (other
formats throw this exception, namely :fcalgs, which only accepts
integral objects and attributes).

- Fixing the write part for the :anonymous-burmeister format meant
that the tests were actually running

- The out-in tests fail for the :anonymous-burmeister format basically
by design because the object and attribute labels are discarded on write

- The out-in-out-in tests usually fail too because the order of
objects and attributes is not guaranteed to be kept intact on
write. This is because `(seq (set (range N)))` is not guaranteed to be
the same as `(range N)`. Hence the context after importing is the same
context but possibly with shuffled objects and attributes, and thus
the equality check fails.
Previously there were no working tests for the :anonymous-burmeister
format.  Because this format drops object and attribute names when
writing a context to a file and there is no determinism in the order
of objects and attributes written to file, we can not test for
equality in out-in and out-in-out-in tests.  Therefore, we resort to
testing for possible isomorphy -- testing for true isomorphy is not
trivial and expensive to compute.
Fix critical bug in anonymous Burmeister context IO

The corresponding writer function actually never worked and has never been included in any tests.  Both has been fixed now.
Added Named Binary CSV Input and Doc
LaTeX Output for lattices supports valuation functions
jana-fischer and others added 26 commits June 29, 2022 12:03
* use csv reader library for named-binary-csv

* use csv reader library for :csv input

* use csv reader library for :binary-csv input

* use csv reader library for :csv output

* use csv reader library for :binary-csv output

* use csv reader library for :named-binary-csv output

Co-authored-by: Johannes Hirth <hirth@cs.uni-kassel.de>
* add json export for layouts

* save valuations in :json format

* don't add nil valuations to layout

* code cleanup and add annotations / labels when reading :json layout

* save labels with position

* annotations are saved, but not read

* change layout api functions

* use json io functions for layout api
* flake.lock: Update

Flake lock file changes:

• Updated input 'flake-compat':
    'github:edolstra/flake-compat/12c64ca55c1014cdc1b16ed5a804aa8576601ff2' (2021-08-02)
  → 'github:edolstra/flake-compat/b4a34015c698c7793d592d66adbab377907a2be8' (2022-04-19)
• Updated input 'flake-utils':
    'github:numtide/flake-utils/74f7e4319258e287b0f9cb95426c9853b282730b' (2021-11-28)
  → 'github:numtide/flake-utils/a4b154ebbdc88c8498a5c7b01589addc9e9cb678' (2022-04-11)
• Updated input 'gitignoresrc':
    'github:hercules-ci/gitignore.nix/5b9e0ff9d3b551234b4f3eb3983744fa354b17f1' (2021-10-25)
  → 'github:hercules-ci/gitignore.nix/bff2832ec341cf30acb3a4d3e2e7f1f7b590116a' (2022-03-05)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/86453059bf8312f0f5bf1fe8a2f52da2be664489' (2021-12-20)
  → 'github:NixOS/nixpkgs/3a9e0f239d80fa134e8fcbdee4dfc793902da37e' (2022-04-25)

* Nix: Update hash for dependencies

* Nix: fix shell.nix compatibility wrapper

* Ignore .lsp

* Nix: Drop conexp-clj from devShell PATH

Remove `conexp-clj` from the devShell PATH, so that `nix develop`
works even if the current checkout fails to build. A shell with
`conexp-clj` in PATH is still available using `nix shell`.
* rename "lattice" to "poset" in layouts

* fix some errors

* renaming and fixing errors

* handle inf-irreducible and sup-irreducible layout functions for posets

* compute context for poset

* move Poset type to separate file and add change some layout tests

* add more tests for posets and move neighbor functions from lattices to posets

* add tests for posets

* fix some errors and add tests for posets in layout functions

* add to-inf-additive-layout for Posets

* improve to-inf-additive-layout function for Posets

* add tests for order-ideal and order-filter

* add tests for poset and dim-draw layout

* add tests for poset and freese layout

* force layout does not work for posets, as inf-irreducibles are needed

* fix failing tests

* add GUI frame title for Poset

* when constructing a poset from positions and connections in Layout, save it as Lattice if it has lattice order

* add tests for concept-lattice-annotation with poset

* add wrapper function for poset layouts

* use wrapper function for to-inf-additive-layout with posets

* add error handling for valuations in GUI

* change order in annotation function

* remove 2nd condition from annotation function for layouts, as it is never reached

* minor changes in documentation
* Bump json-schema to 0.3.4

json-schema-0.3.3 still refers to
com.github.everit-org.json-schema/org.everit.json.schema, which is a
redirect -- this breaks clj-nix.

* Prefer clj-nix over fixed-output mvn build

* Expose unit tests as a flake app

* Add workflows for tests and dependency locking

* Enable test workflow for clj-nix branch

* Update deps-lock.json

* Revert "Enable test workflow for clj-nix branch"

This reverts commit 0f7f1aa.

Co-authored-by: mmarx <mmarx@users.noreply.github.com>
* add Protoconcept data type

* add preconcepts? and protoconcepts? function

* add protoconcept functions and tests

* fix preconcepts? tests

* add semiconcept? function

* add protoconcepts order and visualization

* add tests for protoconcept-layout

* use preconcepts? as defined by R. Wille

* add draw-protoconcepts function

* add print method for protoconcepts

* fix errors

* enable draw for protoconcepts

* add more protoconcepts functions and tests

* remove functions that are not needed any more fore protoconcepts

* add draw functions for posets and protoconcepts

* improve documentation

* add documentation for protoconcepts

* minor changes in documentation

* minor changes in documentation

* minor changes in documentation
* add Protoconcept data type

* add preconcepts? and protoconcepts? function

* add protoconcept functions and tests

* fix preconcepts? tests

* add semiconcept? function

* add protoconcepts order and visualization

* add tests for protoconcept-layout

* use preconcepts? as defined by R. Wille

* add draw-protoconcepts function

* add print method for protoconcepts

* fix errors

* enable draw for protoconcepts

* add more protoconcepts functions and tests

* remove functions that are not needed any more fore protoconcepts

* add draw functions for posets and protoconcepts

* improve documentation

* add documentation for protoconcepts

* minor changes in documentation

* minor changes in documentation

* minor changes in documentation

* add protoconcepts function in gui
* added edge swapping and edge rewiring for contexts

* added tests for swapping and rewiring

* fixed function aliases
* generate random context that does not contain the maximal contranominal scale (for the generated size of context)

* fixed bug in dimdraw greedy

* Incomplete Contexts and exploration with multiple experts

* added brief doc

---------

Co-authored-by: Tom Hanika <hanika@cs.uni-kassel.de>
* modify :json context schema so that empty attribute columns are not dropped any more

* add layouts to fca json schema

* add schema and example for mv-context

* add IO of fca schema in api and update context schema

* adapt io :json schema to api for lattices

* adapt api for implications to :json schema

* change api handler tests for lattices and layouts - still failing

* remove all UnsupportedOperationExceptions from context io tests

* update lattice schema so that it can process both basic and concept-lattices

* code cleanup in io/lattices

* add json schema for mv-contexts

* fix errors in IO for mv-contexts and update tests

* add tests for mv-contexts automatic format detection

* fix failing test
* add IO of fca schema in api and update context schema

* make draw-lattice work without args

* add tests for draw-lattice and draw-protoconcepts

* rename file

* fix failing tests
* Fix `buildInputs` in flake

* flake.lock: Update

Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9bdbbaa634aa666eb6a27096bdcb991c59181244' (2022-09-21)
  → 'github:NixOS/nixpkgs/0874168639713f547c05947c76124f78441ea46c' (2023-01-01)
Co-authored-by: tomhanika <tomhanika@users.noreply.github.com>
* add lein-aot-order plugin

* Bump flake to nixpkgs-23.05

* Update conexp version in flake

* Force `lein-aot-order` into deps.lock

The `lein-aot-order` plugin won't be picked up unless it's part of the `main`
profile, and is thus not part of the lock file, which breaks the nix package.

---------

Co-authored-by: Jana <jana.fischer@student.uni-kassel.de>
* Add overlay to flake

* Add documentation on the nix flake
* Added many-valued context functions and quality of life improvements

* Conexp now with pq-cores

* moved files

* renamed namespaces

* moved subconcept function

* fixed comments and removed two duplicate functions

* Added Author Field

* base functionality for smeasures

* Added naive Object Clustering

* smeasures now with clustering
- Made async fast concepts compuatation usable for other methods
- Moved transformation algorithms into their own ns
- Implemented Cluster Scale Measure Algorithms that compute valid
clusterings given an initial set

* Bugfix and updated tests

* Added documentation

* added missing test

* Fixed bug in object clustering

* Added tests

* Added interactive scale exploration

* added draft for genetic algorithm

* Terminal output

* Terminal output smeasure

* added genetic algorithm

* genetic 2d subctx

* removed debug

* refectoring

* repair cluster method

* prepared helper methods for genetic clustering

* Added Tikz support for measures

* Added lattice tikz smeasure export

* Now with genetic clustering

* bugfix

* genetic part 1 works now

* genetic works Part 2

* Code Refactoring

* smart cluster in explor. and decode for genetic

* Fixed and improved Cluster Repair Algorithm

* bigfix

* Added Cluster Validity checkers

* Scale-Measure init restructure

* Scale-Measures Added logical attributes

* Scale-Measures Moved Logical derivations to context.clj

* Added Scale-Measures Framework

* Scale-Measure Apposition

* Recommend based on an importance measure

* Added scale-measure exploration and recommendation by importance measures

* Only meet-irreducible scale-measure attributes

* More intuitive questionary + Minor Bug fix

* smeasures: updated questionary

* Scaling error

* Resolved Merge

* Added comment for cover method

* meet and join operator

* Bugfix

* Added a relative scaling errors

* Compute all concepts containing g and their covering

* Removed prints

* add test for smeasure?

* test "make-smeasure" functions

* test original-extents

* test smeasure-by-exts

* test for canonical-smeasure-representation

* test meet-smeasure

* fix error in canonical-smeasure-representation

* test error-in-smeasure

* fix and test invalid-attributes

* fix & test conceptual-scaling-error + attribute-scaling-error

* change 'make-smeasure' tests

* test smeasure-valid-attr and smeasure-invalid-attr

* test conjunctive normalform

* add test for scale-apposition

* test smeasure-valid-exts and smeasure-invalid-exts

* test rename-scale for objects and attributes

* test pre-image-measure

* add test for join-complement

* add test for recommend-by-importance

* add tests for conceptual-navigation

* add tests for conceptual-navigation

* add tests for exploration-of-scales-iteration

* add test for exploration-of-scales

* add some minor test cases

* add test for concept-lattice-filter+covering-concepts

---------

Co-authored-by: Johannes Hirth <jhi@cs.uni-kassel.de>
Co-authored-by: Johannes Hirth <hirth@cs.uni-kassel.de>
Co-authored-by: De Narm <s3152806@msx.tu-dresden.de>
Co-authored-by: hirthjo <58222089+hirthjo@users.noreply.github.com>
Co-authored-by: Tom Hanika <hanika@cs.uni-kassel.de>
@tomhanika tomhanika self-assigned this Jul 17, 2023
flake.nix Show resolved Hide resolved
@tomhanika tomhanika merged commit ad35c37 into master Jul 17, 2023
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants