All Implemented Interfaces:
IMatcher<org.apache.jena.ontology.OntModel,Alignment,Properties>, eu.sealsproject.platform.res.domain.omt.IOntologyMatchingToolBridge, eu.sealsproject.platform.res.tool.api.IPlugin, eu.sealsproject.platform.res.tool.api.IToolBridge

public class SynonymTextMatcher extends MatcherYAAAJena
Matches resource A (source) to B (target) iff they have at least one label in the same synset. The text used for the resources can be defined (e.g. rdfs:label etc). The processing can also be adjusted by subclassing this class and override method processString.
  • Field Details

    • LOGGER

      private static final org.slf4j.Logger LOGGER
    • synonymSet

      private Map<String,Long> synonymSet
    • properties

      private Collection<org.apache.jena.rdf.model.Property> properties
  • Constructor Details

    • SynonymTextMatcher

      public SynonymTextMatcher(Map<String,Long> synonymSet, Collection<org.apache.jena.rdf.model.Property> properties)
    • SynonymTextMatcher

      public SynonymTextMatcher(Map<String,Long> synonymSet, org.apache.jena.rdf.model.Property... properties)
    • SynonymTextMatcher

      public SynonymTextMatcher(File csvFile, Collection<org.apache.jena.rdf.model.Property> properties)
    • SynonymTextMatcher

      public SynonymTextMatcher(File csvFile, org.apache.jena.rdf.model.Property... properties)
    • SynonymTextMatcher

      public SynonymTextMatcher(File csvFile)
  • Method Details

    • match

      public Alignment match(org.apache.jena.ontology.OntModel source, org.apache.jena.ontology.OntModel target, Alignment inputAlignment, Properties properties) throws Exception
      Description copied from class: MatcherYAAAJena
      Aligns two ontologies specified via a Jena OntModel, with an input alignment as Alignment object, and returns the mapping of the resulting alignment. Note: This method might be called multiple times in a row when using the evaluation framework. Make sure to return a mapping which is specific to the given inputs.
      Specified by:
      match in interface IMatcher<org.apache.jena.ontology.OntModel,Alignment,Properties>
      Specified by:
      match in class MatcherYAAAJena
      Parameters:
      source - This OntModel represents the source ontology.
      target - This OntModel represents the target ontology.
      inputAlignment - This mapping represents the input alignment.
      properties - Additional properties.
      Returns:
      The resulting alignment of the matching process.
      Throws:
      Exception - Any exception which occurs during matching.
    • matchResources

      private void matchResources(org.apache.jena.util.iterator.ExtendedIterator<? extends org.apache.jena.ontology.OntResource> sourceResources, org.apache.jena.util.iterator.ExtendedIterator<? extends org.apache.jena.ontology.OntResource> targetResources, Alignment alignment)
    • getStringRepresentations

      protected Set<String> getStringRepresentations(org.apache.jena.rdf.model.Resource r)
    • parseSynonymCsvFile

      protected Map<String,Long> parseSynonymCsvFile(File f)
      This method parse a synonym file formatted as a csv file. Each line is a synset and each cell in a line is a text.
      Parameters:
      f - the file to be parsed
      Returns:
      a map which maps a text to its synset id.
    • processString

      protected String processString(String text)
    • parseCommonSynonymCsvFile

      public static Map<String,Long> parseCommonSynonymCsvFile(File fileWithSynonyms)
      Parse a synset file which can be shared across different synonym text matchers.
      Parameters:
      fileWithSynonyms - The file containing the synonyms.
      Returns:
      Map from text to synset id.