package edu.stanford.nlp.sempre; /** * Maps a string to a Date. * * @author Percy Liang */ public class DateFn extends SemanticFn { public DerivationStream call(final Example ex, final Callable c) { return new SingleDerivationStream() { @Override public Derivation createDerivation() { String value = ex.languageInfo.getNormalizedNerSpan("DATE", c.getStart(), c.getEnd()); if (value == null) return null; DateValue dateValue = DateValue.parseDateValue(value); if (dateValue == null) return null; return new Derivation.Builder() .withCallable(c) .formula(new ValueFormula<>(dateValue)) .type(SemType.dateType) .createDerivation(); } }; } }