public void write(Sentence s) { try { for (Predicate p : s.getPredicates()) { if (p.getSense().equals("Action") || p.getSense().equals("OPERATION")) { out.write( id(p) + "\t" + "Action" + " " + p.getBegin() + " " + p.getEnd() + "\t" + p.getForm() + "\n"); for (Word w : p.getArgMap().keySet()) { String label = p.getArgMap().get(w); if (label.equals("Theme")) label = "Object"; if (!word2id.containsKey(w)) out.write( id(w) + "\t" + label + " " + w.getBegin() + " " + w.getEnd() + "\t" + w.getForm() + "\n"); out.write( "R" + (rnum++) + "\t" + (label.equals("Actor") ? ("IsActorOf Arg1:" + id(w) + " Arg2:" + id(p)) : (label.equals("Property") ? ("HasProperty Arg1:" + id(p) + " Arg2:" + id(w)) : ("ActsOn Arg1:" + id(p) + " Arg2:" + id(w)))) + "\n"); } } if (p.getSense().equals("Object") || p.getSense().equals("CONCEPT") || p.getSense().equals("Property")) { if (!word2id.containsKey(p)) out.write( id(p) + "\t" + p.getSense() + " " + p.getBegin() + " " + p.getEnd() + "\t" + p.getForm() + "\n"); for (Word w : p.getArgMap().keySet()) { String label = p.getArgMap().get(w); if (label.equals("Theme")) label = "Object"; if (!word2id.containsKey(w)) out.write( id(w) + "\t" + label + " " + w.getBegin() + " " + w.getEnd() + "\t" + w.getForm() + "\n"); out.write( "R" + (rnum++) + "\t" + "HasProperty Arg1:" + id(p) + " Arg2:" + id(w) + "\n"); } } } // out.write(s.toString()+"\n\n"); } catch (Exception e) { e.printStackTrace(); System.out.println("Failed to write sentance."); System.exit(1); } }