maxthomas / dictum

Java NLP schema with functional style

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Circle CI Maven Badges javadoc.io codecov

Current Break version:

<dependency>
  <groupId>io.maxthomas</groupId>
  <artifactId>dictum</artifactId>
  <version>0.6.0</version>
</dependency>

dictum

Java NLP schema with functional style

Dictum is a wrapper around Concrete. While a Java library exists, the Thrift generated code leads to a ton of boilerplate, prone to NullPointerExceptions and other landmines. This project is an attempt to resolve some warts in concrete-java. In particular:

  • Some class names have changed to be more clear. Example: SituationMentionSet is not actually a set (as in, the data structure). In dictum, this class is renamed SituationMentionGroup.
  • Null hostility. Attempts to set values to null will result in unchecked NullPointerExceptions.
  • Validation. Attempts are made to validate data structures that have embedded, non-semantic rules. These are 'fail-fast': invalid data is treated as hostile, and an exception is throw immediately upon calling the .build() method on the Builder objects.
  • Use of FreeBuilder to implement the Builder pattern on the objects and more effectively control required, default and optional fields.

License

See LICENSE in root directory.

About

Java NLP schema with functional style

License:Apache License 2.0


Languages

Language:Java 100.0%