FCA-Map
FCA-Map copied to clipboard
:diamond_shape_with_a_dot_inside: Ontology matching system based on formal concept analysis
FCA-Map: Identifying Mappings by Formal Concept Analysis
Ontology matching system based on formal concept analysis.
Formal Concept Analysis (FCA) is a well developed mathematical model for clustering individuals and structuring concepts.
Table of Contents
- Background
- Install
- Usage
- Contributing
- References
- License
Background
Formal concept analysis is based on mathematical order theory. (See the book for more details)
The following is an example of a formal context (about the characters of Marvel Cinematic Universe) and its derived concept lattice.
Formal Context
Asgardian |
Avenger |
Female |
Human |
Infinity Stones User |
Male |
Scientist |
Villain |
|
|---|---|---|---|---|---|---|---|---|
Black Widow |
✖ | ✖ | ✖ | |||||
Captain America |
✖ | ✖ | ✖ | |||||
Hela |
✖ | ✖ | ✖ | |||||
Hulk |
✖ | ✖ | ✖ | ✖ | ✖ | |||
Iron Man |
✖ | ✖ | ✖ | ✖ | ✖ | |||
Thanos |
✖ | ✖ | ✖ | |||||
Thor |
✖ | ✖ | ✖ |
Concept Lattice
This concept lattice is derived from the above context, only reserved simplified extent and intent as follows.
Install
See dependency graph.
I recommend IntelliJ IDEA for developing! :)
Usage
/****************************************
* *
* file:///src/main/java/Demo.java *
* *
****************************************/
import cn.ac.amss.semanticweb.alignment.Mapping;
import cn.ac.amss.semanticweb.model.ModelStorage;
import cn.ac.amss.semanticweb.matching.MatcherFactory;
import cn.ac.amss.semanticweb.matching.LexicalMatcher;
import cn.ac.amss.semanticweb.matching.StructuralMatcher;
import org.apache.jena.vocabulary.OWL;
import org.apache.jena.vocabulary.RDFS;
public class Demo
{
public static void main(String[] args) {
ModelStorage source = new ModelStorage("src/test/resources/oaei/conference/Conference.owl");
ModelStorage target = new ModelStorage("src/test/resources/oaei/conference/ekaw.owl");
/************************** Lexical-level Matching ***************************/
LexicalMatcher lm = MatcherFactory.createLexicalMatcher();
lm.setSourceTarget(source, target);
lm.setExtractType(true, true);
Mapping lexicalOntClassMappings = new Mapping();
lm.mapOntClasses(lexicalOntClassMappings);
System.out.println(lexicalOntClassMappings);
Mapping lexicalObjectPropertyMappings = new Mapping();
lm.mapObjectProperties(lexicalObjectPropertyMappings);
System.out.println(lexicalObjectPropertyMappings);
/************************* Structural-level Matching *************************/
StructuralMatcher sm = MatcherFactory.createStructuralMatcher();
sm.setSourceTarget(source, target);
sm.setExtractType(true, true);
sm.addCommonPredicate(RDFS.subClassOf);
sm.addCommonPredicate(OWL.disjointWith);
sm.addAllSubjectAnchors(lexicalOntClassMappings);
sm.addAllObjectAnchors(lexicalOntClassMappings);
Mapping structuralOntClassMappings = new Mapping();
sm.mapOntClasses(structuralOntClassMappings);
System.out.println(structuralOntClassMappings);
source.clear();
target.clear();
}
}
Contributing
See the contributing file.
PRs accepted.
FCA-Map for matching biomedical ontologies
See [liweizhuo001/FCA-Map] (no longer maintained), which system is primarily developed by Mengyi Zhao.
Other Systems
- LogMap: An Ontology Alignment and Alignment Repair System [ernestojimenezruiz/logmap-matcher]
- AgrMaker: AgreementMaker Ontology Matching System [agreementmaker/agreementmaker]
- AML: AgreementMakerLight Eclipse Project [AgreementMakerLight/AML-Project]
Acknowledgements
This work has been supported by the National Key Research and Development Program of China under grant 2016YFB1000902, and the Natural Science Foundation of China grant 61621003.
References
-
Identifying mappings among knowledge graphs by formal concept analysis. Guowei Chen, Songmao Zhang. OM@ISWC 2019: 25-35. [technical paper] [slides]
-
FCAMap-KG results for OAEI 2019. Fei Chang, Guowei Chen, Songmao Zhang. OM@ISWC 2019: 138-145. [OAEI paper]
-
FCAMapX results for OAEI 2018. Guowei Chen, Songmao Zhang. OM@ISWC 2018: 160-166. [OAEI paper]
-
Matching biomedical ontologies based on formal concept analysis. Mengyi Zhao, Songmao Zhang, Weizhuo Li, Guowei Chen. J. Biomedical Semantics 9(1): 11:1-11:27 (2018). [publisher page]
-
Identifying and validating ontology mappings by formal concept analysis. Mengyi Zhao, Songmao Zhang. OM@ISWC 2016: 61-72. [technical paper]
-
FCA-Map results for OAEI 2016. Mengyi Zhao, Songmao Zhang. OM@ISWC 2016: 172-177. [OAEI paper]
Maintainer
License
GPLv3 © Guowei Chen