2/* ======================================================================== 3 File Search Paths 4=========================================================================*/ 5 6file_search_path(semlib, 'src/prolog/lib'). 7file_search_path(boxer, 'src/prolog/boxer'). 8file_search_path(lex, 'src/prolog/boxer/lex'). 9 10 11/* ======================================================================== 12 VerbNet 13=========================================================================*/ 14 15:- dynamic roles/2. 16 17 18/* ======================================================================== 19 Modules 20=========================================================================*/ 21 22:- use_module(library(lists),[reverse/2,member/2,append/3]). 23:- use_module(boxer(slashes)). 24:- use_module(lex(verbnet)). 25 26 27/* ======================================================================== 28 Generate 29=========================================================================*/ 30 31generate([],_). 32 33generate([X|L],V):- 34 length(X,Len), 35 format('~p ~p ~q~n',[V,Len,X]), 36 generate(L,V). 37 38 39/* ======================================================================== 40 Process 41=========================================================================*/ 42 43process([]). 44 45process([V1|L]):- 46 setof(Roles,C^(verbnet(V2,C,Roles),V1==V2),Rs), 47 generate(Rs,V1), 48 process(L). 49 50 51/* ======================================================================== 52 Main 53=========================================================================*/ 54 55run:- 56 setof(V,A^B^(verbnet(V,A,B),nonvar(V)),L), 57 process(L), 58 halt. 59 60:- run.