[ 
https://issues.apache.org/jira/browse/OPENNLP-579?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13679387#comment-13679387
 ] 

Joern Kottmann commented on OPENNLP-579:
----------------------------------------

I reviewed the EntityLinkerFactory, in its current implementation it is not 
thread safe. To make it thread safe I suggest that we create a static factory 
method and remove all the state variables from the factory.

It could look like this.
class EntityLinkerFactory {
    EntityLinker createEntityLinker(Properties properties) throws ... { ... }
}

What do you think? Each invocation of the factory will produce a new instance, 
I don't think it is necessary to implement caching, if user code is calling it 
frequently they can do the caching on their own, or implement a design which 
makes it unnecessary.

What do you think?

Why do you distinguish between the Linkable and the EntityLinker? Couldn't that 
be simply the same interface? I really liked how that was done in one of the 
first versions (only EntityLinker) you uploaded here, because it made things 
really simple. The implementation of the EntityLinker can just support to link 
multiple types if it is necessary.
                
> Framework to dynamically link N-best matches from external data to named 
> entities by type (EntityLinker framework)
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: OPENNLP-579
>                 URL: https://issues.apache.org/jira/browse/OPENNLP-579
>             Project: OpenNLP
>          Issue Type: Wish
>          Components: Name Finder
>    Affects Versions: 1.6.0
>         Environment: Any
>            Reporter: Mark Giaconia
>            Priority: Minor
>              Labels: features
>             Fix For: 1.6.0
>
>         Attachments: EntityLinker_30may2013.zip, entitylinker_8Jun2013.zip, 
> entitylinker_9Jun2013.zip, entitylinkerFramework.zip, 
> geonamefinder.properties, geonamefind.zip
>
>   Original Estimate: 672h
>  Remaining Estimate: 672h
>
> A framework for integrating/linking external data to named entities. For 
> instance, geocoding or georeferencing location entities to geonames gazateers 
> can be implemented as an EntityLinker. Initially created ticket to 
> specifically solve the georeferencing problem, but the framework should allow 
> linkage of any external data to any entity type. Commercial applications that 
> do this are expensive, and there are many free gazateers one could use to 
> create solutions with OpenNLP. The capability should provide a default 
> implementation using MySQL or Postgres and the USGS/Geonames Gazateers.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to