0
I Use This!
Activity Not Available
Analyzed about 1 month ago. based on code collected 2 months ago.

Project Summary

FCAlib is an open-source, extensible library for Formal Concept Analysis (FCA) tool developers that implements the FCAAPI. It provides basic functionalities that are needed for building an FCA tool. It supports incomplete contexts and includes efficient implementations of basic FCA algorithms like implicational closure, next-closed set, etc. It implements the attribute exploration algorithm in such a way that it can be used together with a custom implemented expert that supports FCAAPI. Javadoc for FCAlib can be found here.

FCAlib is extended by OntoComPlib for using attribute exploration together with OWL ontologies.

The following code segment shows how to create a formal context, add attributes to it, create an expert for this context, and start attribute exploration:

// Create a formal context whose attributes are of type String, and whose objects have
// identifiers of type String
FormalContext context = new FormalContext();

// Create an expert for this context
MyExpertClass expert = new MyExpertClass(context);

// Add attributes to this context
context.addAttribute("a");
context.addAttribute("b");
context.addAttribute("c");

// Set expert for this context
context.setExpert(expert);
// Context listens to the actions of the expert
expert.addExpertActionListener(context);

// Create an expert action for starting attribute exploration
StartExplorationAction> action =
new StartExplorationAction>();
action.setContext(context);
// Fire the action, exploration starts...
expert.fireExpertAction(action);The following code segment shows how to create a set of implications for the above context, add implications to it, and compute next-closure:

// Create a set of implications for the above context. Attributes are of type String
ImplicationSet = new ImplicationSet(context);

// Create a new implication with empty premise and conclusion
Implication imp = new Implication();

// Add attribute "a" to the premise
imp.getPremise().add("a");

// Add attribute "b" to the conclusion
imp.getConclusion().add("b");

// Add this implication to the implication set
implications.add(imp);

// Compute the next-closed set after mySet, and update mySet
mySet = implications.nextClosure(mySet);For more examples please see the test package in the source.

Tags

analysis concept fca formal library

In a Nutshell, fcalib...

Quick Reference

GNU General Public License v2.0 or later
Permitted

Commercial Use

Modify

Distribute

Place Warranty

Forbidden

Sub-License

Hold Liable

Required

Distribute Original

Disclose Source

Include Copyright

State Changes

Include License

These details are provided for information only. No information here is legal advice and should not be used as such.

Project Security

Vulnerabilities per Version ( last 10 releases )

There are no reported vulnerabilities

Project Vulnerability Report

Security Confidence Index

Poor security track-record
Favorable security track-record

Vulnerability Exposure Index

Many reported vulnerabilities
Few reported vulnerabilities

Did You Know...

  • ...
    there are over 3,000 projects on the Open Hub with security vulnerabilities reported against them
  • ...
    you can subscribe to e-mail newsletters to receive update from the Open Hub blog
  • ...
    55% of companies leverage OSS for production infrastructure
  • ...
    check out hot projects on the Open Hub
About Project Security

Languages

HTML
82%
Java
12%
JavaScript
5%
3 Other
1%

30 Day Summary

Jan 2 2025 — Feb 1 2025

12 Month Summary

Feb 1 2024 — Feb 1 2025
  • 4 Commits
    Up + 3 (300%) from previous 12 months
  • 3 Contributors
    Up + 2 (200%) from previous 12 months