5 exec(findGroupings) -- findGroupings | findSources | findClasses
9 input = io.read("*all")
10 output = process(input,task)
14 /* ---------- Base vocabulary --------------------------------------------- */
18 CopiedBy(Manuscript,Manuscript)
19 VariantOf(Manuscript): Variant
22 /* ---------- Three tasks ------------------------------------------------- */
24 #include "findGroupings.idp"
25 #include "findSources.idp"
26 #include "findClasses.idp"
28 /* ---------- Procedures for processing ----------------------------------- */
29 #include "readData.idp"
31 /** Process input in json format **/
32 procedure process(input,task) {
34 local input = json.decode(input)
35 local stemma = readStemma(input.graph)
36 local samples = readSamples(stemma,input.groupings)
37 local result = task(samples)
38 return json.encode(result)
41 /** Process input from two files **/
42 procedure processFiles(stemmafile,samplefile,task) {
44 local f = assert(io.open(stemmafile,"r"))
45 local stemma = readStemma(f:read("*all"))
47 local f = assert(io.open(samplefile,"r"))
48 local samples = readSamples(stemma,json.decode(f:read("*all")))
50 local result = task(samples)
51 return json.encode(result)