package edu.stanford.nlp.sempre; import java.time.LocalDateTime; import java.util.List; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; /** * Tracking where the rule comes from in the grammar induction process. * * @author sidaw */ @JsonIgnoreProperties(ignoreUnknown = true) @JsonInclude(JsonInclude.Include.NON_NULL) public class RuleSource { @JsonProperty public String uid; @JsonProperty public LocalDateTime time; @JsonProperty public String head; @JsonProperty public List<String> body; @JsonProperty public int cite = 0; @JsonProperty public int self = 0; @JsonProperty public boolean align = false; @JsonProperty public String alignInfo = ""; public RuleSource(String uid, String head, List<String> body) { this.uid = uid; this.head = head; this.body = body; this.time = LocalDateTime.now(); } public String toJson() { return Json.writeValueAsStringHard(this); } }