-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
13 changed files
with
587 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
let mc = load[<id: @vec {int -> int}, movie_id: @vec {int -> int}, company_id: @vec {int -> int}, company_type_id: @vec {int -> int}, note: @vec {int -> string}, size: int>]("datasets/job/movie_companies.csv") | ||
let t = load[<id: @vec {int -> int}, title: @vec {int -> string}, imdb_index: @vec {int -> string}, kind_id: @vec {int -> int}, production_year: @vec {int -> int}, imdb_id: @vec {int -> string}, phonetic_code: @vec {int -> string}, episode_of_id: @vec {int -> int}, season_nr: @vec {int -> int}, episode_nr: @vec {int -> int}, series_years: @vec {int -> string}, md5sum: @vec {int -> string}, size: int>]("datasets/job/10b/t.csv") | ||
let ct = load[<id: @vec {int -> int}, kind: @vec {int -> string}, size: int>]("datasets/job/company_type.csv") | ||
let cn = load[<id: @vec {int -> int}, name: @vec {int -> string}, country_code: @vec {int -> string}, imdb_id: @vec {int -> string}, name_pcode_nf: @vec {int -> string}, name_pcode_sf: @vec {int -> string}, md5sum: @vec {int -> string}, size: int>]("datasets/job/10b/cn.csv") | ||
let ci = load[<id: @vec {int -> int}, person_id: @vec {int -> int}, movie_id: @vec {int -> int}, person_role_id: @vec {int -> int}, note: @vec {int -> string}, nr_order: @vec {int -> int}, role_id: @vec {int -> int}, size: int>]("datasets/job/10b/ci.csv") | ||
let rt = load[<id: @vec {int -> int}, role: @vec {int -> string}, size: int>]("datasets/job/10b/rt.csv") | ||
let chn = load[<id: @vec {int -> int}, name: @vec {int -> string}, imdb_index: @vec {int -> string}, imdb_id: @vec {int -> int}, name_pcode_cf: @vec {int -> string}, surname_pcode: @vec {int -> string}, md5sum: @vec {int -> string}, size: int>]("datasets/job/char_name.csv") | ||
|
||
let ct_trie0 = sum(<i, _> <- range(ct.size)) @phmap(ct.size) { unique(ct.id(i)) -> 1 } in | ||
let cn_trie0 = sum(<i, _> <- range(cn.size)) @phmap(cn.size) { unique(cn.id(i)) -> 1 } in | ||
let t_trie0 = sum(<i, _> <- range(t.size)) @phmap(t.size) { t.id(i) -> @smallvecdict(4) { i -> 1 } } in | ||
let interm0_trie0 = sum(<mc_off, _> <- range(mc.size)) | ||
let x0 = mc.company_type_id(mc_off) in | ||
if (x0 ∈ ct_trie0) then | ||
let ct_trie1 = ct_trie0(x0) in | ||
let x1 = mc.company_id(mc_off) in | ||
if (x1 ∈ cn_trie0) then | ||
let cn_trie1 = cn_trie0(x1) in | ||
let x2 = mc.movie_id(mc_off) in | ||
if (x2 ∈ t_trie0) then | ||
let t_trie1 = t_trie0(x2) in | ||
sum(<t_off, _> <- t_trie1) | ||
@phmap(promote[min_sum](1000000) + promote[min_sum](mc.size)) { mc.movie_id(mc_off) -> @smallvecdict(4) { <col1=mc.company_type_id(mc_off), col2=mc.company_id(mc_off), col3=t.title(t_off)> -> 1 } } | ||
in | ||
|
||
let rt_trie0 = sum(<i, _> <- range(rt.size)) @phmap(rt.size) { unique(rt.id(i)) -> 1 } in | ||
let chn_trie0 = sum(<i, _> <- range(chn.size)) @phmap(chn.size) { chn.id(i) -> @smallvecdict(4) { i -> 1 } } in | ||
sum(<ci_off, _> <- range(ci.size)) | ||
let x0 = ci.role_id(ci_off) in | ||
if (x0 ∈ rt_trie0) then | ||
let rt_trie1 = rt_trie0(x0) in | ||
let x1 = ci.movie_id(ci_off) in | ||
if (x1 ∈ interm0_trie0) then | ||
let interm0_trie1 = interm0_trie0(x1) in | ||
let x2 = ci.person_role_id(ci_off) in | ||
if (x2 ∈ chn_trie0) then | ||
let chn_trie1 = chn_trie0(x2) in | ||
let mn_interm0 = sum(<interm0_tuple, _> <- interm0_trie1) promote[min_sum](<col3=interm0_tuple.col3>) in | ||
let mn_chn = sum(<chn_off, _> <- chn_trie1) promote[min_sum](<name=chn.name(chn_off)>) in | ||
promote[min_sum](<col5=mn_interm0.col3, col6=mn_chn.name>) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
let t = load[<id: @vec {int -> int}, title: @vec {int -> string}, imdb_index: @vec {int -> string}, kind_id: @vec {int -> int}, production_year: @vec {int -> int}, imdb_id: @vec {int -> string}, phonetic_code: @vec {int -> string}, episode_of_id: @vec {int -> int}, season_nr: @vec {int -> int}, episode_nr: @vec {int -> int}, series_years: @vec {int -> string}, md5sum: @vec {int -> string}, size: int>]("datasets/job/title.csv") | ||
let miidx = load[<id: @vec {int -> int}, movie_id: @vec {int -> int}, info_type_id: @vec {int -> int}, info: @vec {int -> string}, note: @vec {int -> string}, size: int>]("datasets/job/movie_info_idx.csv") | ||
let mi = load[<id: @vec {int -> int}, movie_id: @vec {int -> int}, info_type_id: @vec {int -> int}, info: @vec {int -> string}, note: @vec {int -> string}, size: int>]("datasets/job/movie_info.csv") | ||
let mc = load[<id: @vec {int -> int}, movie_id: @vec {int -> int}, company_id: @vec {int -> int}, company_type_id: @vec {int -> int}, note: @vec {int -> string}, size: int>]("datasets/job/movie_companies.csv") | ||
let kt = load[<id: @vec {int -> int}, kind: @vec {int -> string}, size: int>]("datasets/job/13a/kt.csv") | ||
let it2 = load[<id: @vec {int -> int}, info: @vec {int -> string}, size: int>]("datasets/job/13a/it2.csv") | ||
let it = load[<id: @vec {int -> int}, info: @vec {int -> string}, size: int>]("datasets/job/13a/it.csv") | ||
let ct = load[<id: @vec {int -> int}, kind: @vec {int -> string}, size: int>]("datasets/job/13a/ct.csv") | ||
let cn = load[<id: @vec {int -> int}, name: @vec {int -> string}, country_code: @vec {int -> string}, imdb_id: @vec {int -> string}, name_pcode_nf: @vec {int -> string}, name_pcode_sf: @vec {int -> string}, md5sum: @vec {int -> string}, size: int>]("datasets/job/13a/cn.csv") | ||
|
||
let miidx_trie0 = sum(<i, _> <- range(miidx.size)) @phmap(miidx.size) { miidx.movie_id(i) -> @smallvecdict(4) { i -> 1 } } in | ||
let interm0_trie0 = sum(<t_off, _> <- range(t.size)) | ||
let x0 = t.id(t_off) in | ||
if (x0 ∈ miidx_trie0) then | ||
let miidx_trie1 = miidx_trie0(x0) in | ||
sum(<miidx_off, _> <- miidx_trie1) | ||
@phmap(promote[min_sum](1000000) + promote[min_sum](t.size)) { t.id(t_off) -> @smallvecdict(4) { <col1=t.title(t_off), col2=t.kind_id(t_off), col3=miidx.info(miidx_off), col4=miidx.info_type_id(miidx_off)> -> 1 } } | ||
in | ||
|
||
let mc_trie0 = sum(<i, _> <- range(mc.size)) @phmap(mc.size) { mc.movie_id(i) -> @smallvecdict(4) { i -> 1 } } in | ||
let kt_trie0 = sum(<i, _> <- range(kt.size)) @phmap(kt.size) { unique(kt.id(i)) -> 1 } in | ||
let it2_trie0 = sum(<i, _> <- range(it2.size)) @phmap(it2.size) { unique(it2.id(i)) -> 1 } in | ||
let it_trie0 = sum(<i, _> <- range(it.size)) @phmap(it.size) { unique(it.id(i)) -> 1 } in | ||
let ct_trie0 = sum(<i, _> <- range(ct.size)) @phmap(ct.size) { unique(ct.id(i)) -> 1 } in | ||
let cn_trie0 = sum(<i, _> <- range(cn.size)) @phmap(cn.size) { unique(cn.id(i)) -> 1 } in | ||
sum(<mi_off, _> <- range(mi.size)) | ||
let x0 = mi.movie_id(mi_off) in | ||
if (x0 ∈ interm0_trie0) then | ||
if (x0 ∈ mc_trie0) then | ||
let interm0_trie1 = interm0_trie0(x0) in | ||
let mc_trie1 = mc_trie0(x0) in | ||
sum(<interm0_tuple, _> <- interm0_trie1) | ||
let x1 = interm0_tuple.col2 in | ||
if (x1 ∈ kt_trie0) then | ||
let kt_trie1 = kt_trie0(x1) in | ||
let x2 = mi.info_type_id(mi_off) in | ||
if (x2 ∈ it2_trie0) then | ||
let it2_trie1 = it2_trie0(x2) in | ||
let x3 = interm0_tuple.col4 in | ||
if (x3 ∈ it_trie0) then | ||
let it_trie1 = it_trie0(x3) in | ||
sum(<mc_off, _> <- mc_trie1) | ||
let x4 = mc.company_type_id(mc_off) in | ||
if (x4 ∈ ct_trie0) then | ||
let ct_trie1 = ct_trie0(x4) in | ||
let x5 = mc.company_id(mc_off) in | ||
if (x5 ∈ cn_trie0) then | ||
let cn_trie1 = cn_trie0(x5) in | ||
let mn_mi = <info=mi.info(mi_off)> in | ||
let mn_interm0 = <col1=interm0_tuple.col1, col3=interm0_tuple.col3> in | ||
promote[min_sum](<col2=mn_mi.info, col5=mn_interm0.col1, col6=mn_interm0.col3>) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
let t = load[<id: @vec {int -> int}, title: @vec {int -> string}, imdb_index: @vec {int -> string}, kind_id: @vec {int -> int}, production_year: @vec {int -> int}, imdb_id: @vec {int -> string}, phonetic_code: @vec {int -> string}, episode_of_id: @vec {int -> int}, season_nr: @vec {int -> int}, episode_nr: @vec {int -> int}, series_years: @vec {int -> string}, md5sum: @vec {int -> string}, size: int>]("datasets/job/title.csv") | ||
let miidx = load[<id: @vec {int -> int}, movie_id: @vec {int -> int}, info_type_id: @vec {int -> int}, info: @vec {int -> string}, note: @vec {int -> string}, size: int>]("datasets/job/movie_info_idx.csv") | ||
let mi = load[<id: @vec {int -> int}, movie_id: @vec {int -> int}, info_type_id: @vec {int -> int}, info: @vec {int -> string}, note: @vec {int -> string}, size: int>]("datasets/job/movie_info.csv") | ||
let mc = load[<id: @vec {int -> int}, movie_id: @vec {int -> int}, company_id: @vec {int -> int}, company_type_id: @vec {int -> int}, note: @vec {int -> string}, size: int>]("datasets/job/movie_companies.csv") | ||
let kt = load[<id: @vec {int -> int}, kind: @vec {int -> string}, size: int>]("datasets/job/13d/kt.csv") | ||
let it2 = load[<id: @vec {int -> int}, info: @vec {int -> string}, size: int>]("datasets/job/13d/it2.csv") | ||
let it = load[<id: @vec {int -> int}, info: @vec {int -> string}, size: int>]("datasets/job/13d/it.csv") | ||
let ct = load[<id: @vec {int -> int}, kind: @vec {int -> string}, size: int>]("datasets/job/13d/ct.csv") | ||
let cn = load[<id: @vec {int -> int}, name: @vec {int -> string}, country_code: @vec {int -> string}, imdb_id: @vec {int -> string}, name_pcode_nf: @vec {int -> string}, name_pcode_sf: @vec {int -> string}, md5sum: @vec {int -> string}, size: int>]("datasets/job/13d/cn.csv") | ||
|
||
let miidx_trie0 = sum(<i, _> <- range(miidx.size)) @phmap(miidx.size) { miidx.movie_id(i) -> @smallvecdict(4) { i -> 1 } } in | ||
let interm0_trie0 = sum(<t_off, _> <- range(t.size)) | ||
let x0 = t.id(t_off) in | ||
if (x0 ∈ miidx_trie0) then | ||
let miidx_trie1 = miidx_trie0(x0) in | ||
sum(<miidx_off, _> <- miidx_trie1) | ||
@phmap(promote[min_sum](1000000) + promote[min_sum](t.size)) { t.id(t_off) -> @smallvecdict(4) { <col1=t.title(t_off), col2=t.kind_id(t_off), col3=miidx.info(miidx_off), col4=miidx.info_type_id(miidx_off)> -> 1 } } | ||
in | ||
|
||
let mc_trie0 = sum(<i, _> <- range(mc.size)) @phmap(mc.size) { mc.movie_id(i) -> @smallvecdict(4) { i -> 1 } } in | ||
let kt_trie0 = sum(<i, _> <- range(kt.size)) @phmap(kt.size) { unique(kt.id(i)) -> 1 } in | ||
let it2_trie0 = sum(<i, _> <- range(it2.size)) @phmap(it2.size) { unique(it2.id(i)) -> 1 } in | ||
let it_trie0 = sum(<i, _> <- range(it.size)) @phmap(it.size) { unique(it.id(i)) -> 1 } in | ||
let ct_trie0 = sum(<i, _> <- range(ct.size)) @phmap(ct.size) { unique(ct.id(i)) -> 1 } in | ||
let cn_trie0 = sum(<i, _> <- range(cn.size)) @phmap(cn.size) { cn.id(i) -> @smallvecdict(4) { i -> 1 } } in | ||
sum(<mi_off, _> <- range(mi.size)) | ||
let x0 = mi.movie_id(mi_off) in | ||
if (x0 ∈ interm0_trie0) then | ||
if (x0 ∈ mc_trie0) then | ||
let interm0_trie1 = interm0_trie0(x0) in | ||
let mc_trie1 = mc_trie0(x0) in | ||
sum(<interm0_tuple, _> <- interm0_trie1) | ||
let x1 = interm0_tuple.col2 in | ||
if (x1 ∈ kt_trie0) then | ||
let kt_trie1 = kt_trie0(x1) in | ||
let x2 = mi.info_type_id(mi_off) in | ||
if (x2 ∈ it2_trie0) then | ||
let it2_trie1 = it2_trie0(x2) in | ||
let x3 = interm0_tuple.col4 in | ||
if (x3 ∈ it_trie0) then | ||
let it_trie1 = it_trie0(x3) in | ||
sum(<mc_off, _> <- mc_trie1) | ||
let x4 = mc.company_type_id(mc_off) in | ||
if (x4 ∈ ct_trie0) then | ||
let ct_trie1 = ct_trie0(x4) in | ||
let x5 = mc.company_id(mc_off) in | ||
if (x5 ∈ cn_trie0) then | ||
let cn_trie1 = cn_trie0(x5) in | ||
let mn_interm0 = <col1=interm0_tuple.col1, col3=interm0_tuple.col3> in | ||
let mn_cn = sum(<cn_off, _> <- cn_trie1) promote[min_sum](<name=cn.name(cn_off)>) in | ||
promote[min_sum](<col4=mn_interm0.col1, col5=mn_interm0.col3, col8=mn_cn.name>) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
let mk = load[<id: @vec {int -> int}, movie_id: @vec {int -> int}, keyword_id: @vec {int -> int}, size: int>]("datasets/job/movie_keyword.csv") | ||
let t = load[<id: @vec {int -> int}, title: @vec {int -> string}, imdb_index: @vec {int -> string}, kind_id: @vec {int -> int}, production_year: @vec {int -> int}, imdb_id: @vec {int -> string}, phonetic_code: @vec {int -> string}, episode_of_id: @vec {int -> int}, season_nr: @vec {int -> int}, episode_nr: @vec {int -> int}, series_years: @vec {int -> string}, md5sum: @vec {int -> string}, size: int>]("datasets/job/title.csv") | ||
let mc = load[<id: @vec {int -> int}, movie_id: @vec {int -> int}, company_id: @vec {int -> int}, company_type_id: @vec {int -> int}, note: @vec {int -> string}, size: int>]("datasets/job/movie_companies.csv") | ||
let k = load[<id: @vec {int -> int}, keyword: @vec {int -> string}, phonetic_code: @vec {int -> string}, size: int>]("datasets/job/2c/k.csv") | ||
let cn = load[<id: @vec {int -> int}, name: @vec {int -> string}, country_code: @vec {int -> string}, imdb_id: @vec {int -> string}, name_pcode_nf: @vec {int -> string}, name_pcode_sf: @vec {int -> string}, md5sum: @vec {int -> string}, size: int>]("datasets/job/2c/cn.csv") | ||
|
||
let k_trie0 = sum(<i, _> <- range(k.size)) @phmap(k.size) { unique(k.id(i)) -> 1 } in | ||
let t_trie0 = sum(<i, _> <- range(t.size)) @phmap(t.size) { t.id(i) -> @smallvecdict(4) { i -> 1 } } in | ||
let mc_trie0 = sum(<i, _> <- range(mc.size)) @phmap(mc.size) { mc.movie_id(i) -> @smallvecdict(4) { i -> 1 } } in | ||
let cn_trie0 = sum(<i, _> <- range(cn.size)) @phmap(cn.size) { unique(cn.id(i)) -> 1 } in | ||
sum(<mk_off, _> <- range(mk.size)) | ||
let x0 = mk.keyword_id(mk_off) in | ||
if (x0 ∈ k_trie0) then | ||
let k_trie1 = k_trie0(x0) in | ||
let x1 = mk.movie_id(mk_off) in | ||
if (x1 ∈ t_trie0) then | ||
if (x1 ∈ mc_trie0) then | ||
let t_trie1 = t_trie0(x1) in | ||
let mc_trie1 = mc_trie0(x1) in | ||
sum(<mc_off, _> <- mc_trie1) | ||
let x2 = mc.company_id(mc_off) in | ||
if (x2 ∈ cn_trie0) then | ||
let cn_trie1 = cn_trie0(x2) in | ||
let mn_t = sum(<t_off, _> <- t_trie1) promote[min_sum](<title=t.title(t_off)>) in | ||
promote[min_sum](<col2=mn_t.title>) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
let t1 = load[<id: @vec {int -> int}, title: @vec {int -> string}, imdb_index: @vec {int -> string}, kind_id: @vec {int -> int}, production_year: @vec {int -> int}, imdb_id: @vec {int -> string}, phonetic_code: @vec {int -> string}, episode_of_id: @vec {int -> int}, season_nr: @vec {int -> int}, episode_nr: @vec {int -> int}, series_years: @vec {int -> string}, md5sum: @vec {int -> string}, size: int>]("datasets/job/title.csv") | ||
let ml = load[<id: @vec {int -> int}, movie_id: @vec {int -> int}, linked_movie_id: @vec {int -> int}, link_type_id: @vec {int -> int}, size: int>]("datasets/job/movie_link.csv") | ||
let t2 = load[<id: @vec {int -> int}, title: @vec {int -> string}, imdb_index: @vec {int -> string}, kind_id: @vec {int -> int}, production_year: @vec {int -> int}, imdb_id: @vec {int -> string}, phonetic_code: @vec {int -> string}, episode_of_id: @vec {int -> int}, season_nr: @vec {int -> int}, episode_nr: @vec {int -> int}, series_years: @vec {int -> string}, md5sum: @vec {int -> string}, size: int>]("datasets/job/title.csv") | ||
let mk = load[<id: @vec {int -> int}, movie_id: @vec {int -> int}, keyword_id: @vec {int -> int}, size: int>]("datasets/job/movie_keyword.csv") | ||
let lt = load[<id: @vec {int -> int}, link: @vec {int -> string}, size: int>]("datasets/job/link_type.csv") | ||
let k = load[<id: @vec {int -> int}, keyword: @vec {int -> string}, phonetic_code: @vec {int -> string}, size: int>]("datasets/job/32a/k.csv") | ||
|
||
let ml_trie0 = sum(<i, _> <- range(ml.size)) @phmap(ml.size) { ml.movie_id(i) -> @smallvecdict(4) { i -> 1 } } in | ||
let t2_trie0 = sum(<i, _> <- range(t2.size)) @phmap(t2.size) { t2.id(i) -> @smallvecdict(4) { i -> 1 } } in | ||
let interm0_trie0 = sum(<t1_off, _> <- range(t1.size)) | ||
let x0 = t1.id(t1_off) in | ||
if (x0 ∈ ml_trie0) then | ||
let ml_trie1 = ml_trie0(x0) in | ||
sum(<ml_off, _> <- ml_trie1) | ||
let x1 = ml.linked_movie_id(ml_off) in | ||
if (x1 ∈ t2_trie0) then | ||
let t2_trie1 = t2_trie0(x1) in | ||
sum(<t2_off, _> <- t2_trie1) | ||
@phmap(promote[min_sum](1000000) + promote[min_sum](t1.size)) { t1.id(t1_off) -> @smallvecdict(4) { <col1=t1.title(t1_off), col2=ml.linked_movie_id(ml_off), col3=ml.link_type_id(ml_off), col4=t2.title(t2_off)> -> 1 } } | ||
in | ||
|
||
let lt_trie0 = sum(<i, _> <- range(lt.size)) @phmap(lt.size) { lt.id(i) -> @smallvecdict(4) { i -> 1 } } in | ||
let k_trie0 = sum(<i, _> <- range(k.size)) @phmap(k.size) { unique(k.id(i)) -> 1 } in | ||
sum(<mk_off, _> <- range(mk.size)) | ||
let x0 = mk.movie_id(mk_off) in | ||
if (x0 ∈ interm0_trie0) then | ||
let interm0_trie1 = interm0_trie0(x0) in | ||
sum(<interm0_tuple, _> <- interm0_trie1) | ||
let x1 = interm0_tuple.col3 in | ||
if (x1 ∈ lt_trie0) then | ||
let lt_trie1 = lt_trie0(x1) in | ||
let x2 = mk.keyword_id(mk_off) in | ||
if (x2 ∈ k_trie0) then | ||
let k_trie1 = k_trie0(x2) in | ||
let mn_interm0 = <col1=interm0_tuple.col1, col4=interm0_tuple.col4> in | ||
let mn_lt = sum(<lt_off, _> <- lt_trie1) promote[min_sum](<link=lt.link(lt_off)>) in | ||
promote[min_sum](<col3=mn_interm0.col1, col5=mn_interm0.col4, col6=mn_lt.link>) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
let mc = load[<id: @vec {int -> int}, movie_id: @vec {int -> int}, company_id: @vec {int -> int}, company_type_id: @vec {int -> int}, note: @vec {int -> string}, size: int>]("datasets/job/movie_companies.csv") | ||
let t = load[<id: @vec {int -> int}, title: @vec {int -> string}, imdb_index: @vec {int -> string}, kind_id: @vec {int -> int}, production_year: @vec {int -> int}, imdb_id: @vec {int -> string}, phonetic_code: @vec {int -> string}, episode_of_id: @vec {int -> int}, season_nr: @vec {int -> int}, episode_nr: @vec {int -> int}, series_years: @vec {int -> string}, md5sum: @vec {int -> string}, size: int>]("datasets/job/10b/t.csv") | ||
let ct = load[<id: @vec {int -> int}, kind: @vec {int -> string}, size: int>]("datasets/job/company_type.csv") | ||
let cn = load[<id: @vec {int -> int}, name: @vec {int -> string}, country_code: @vec {int -> string}, imdb_id: @vec {int -> string}, name_pcode_nf: @vec {int -> string}, name_pcode_sf: @vec {int -> string}, md5sum: @vec {int -> string}, size: int>]("datasets/job/10b/cn.csv") | ||
let ci = load[<id: @vec {int -> int}, person_id: @vec {int -> int}, movie_id: @vec {int -> int}, person_role_id: @vec {int -> int}, note: @vec {int -> string}, nr_order: @vec {int -> int}, role_id: @vec {int -> int}, size: int>]("datasets/job/10b/ci.csv") | ||
let rt = load[<id: @vec {int -> int}, role: @vec {int -> string}, size: int>]("datasets/job/10b/rt.csv") | ||
let chn = load[<id: @vec {int -> int}, name: @vec {int -> string}, imdb_index: @vec {int -> string}, imdb_id: @vec {int -> int}, name_pcode_cf: @vec {int -> string}, surname_pcode: @vec {int -> string}, md5sum: @vec {int -> string}, size: int>]("datasets/job/char_name.csv") | ||
|
||
let mc_trie0 = sum(<i, _> <- range(mc.size)) { mc.movie_id(i) -> { mc.company_type_id(i) -> { mc.company_id(i) -> @smallvecdict(0) { i -> 1 } } } } in | ||
let t_trie0 = sum(<i, _> <- range(t.size)) @phmap(t.size) { t.id(i) -> @smallvecdict(4) { i -> 1 } } in | ||
let ct_trie0 = sum(<i, _> <- range(ct.size)) { ct.id(i) -> 1 } in | ||
let cn_trie0 = sum(<i, _> <- range(cn.size)) { cn.id(i) -> 1 } in | ||
let interm0_trie0 = sum(<x0, mc_trie1> <- mc_trie0) | ||
if (x0 ∈ t_trie0) then | ||
let t_trie1 = t_trie0(x0) in | ||
sum(<x1, mc_trie2> <- mc_trie1) | ||
if (x1 ∈ ct_trie0) then | ||
let ct_trie1 = ct_trie0(x1) in | ||
sum(<x2, mc_trie3> <- mc_trie2) | ||
if (x2 ∈ cn_trie0) then | ||
let cn_trie1 = cn_trie0(x2) in | ||
sum(<mc_off, _> <- mc_trie3) | ||
sum(<t_off, _> <- t_trie1) | ||
{ mc.movie_id(mc_off) -> @smallvecdict(0) { <col0=mc.movie_id(mc_off), col1=mc.company_type_id(mc_off), col2=mc.company_id(mc_off), col3=t.title(t_off)> -> 1 } } | ||
in | ||
|
||
let ci_trie0 = sum(<i, _> <- range(ci.size)) { ci.role_id(i) -> { ci.movie_id(i) -> { ci.person_role_id(i) -> 1 } } } in | ||
let rt_trie0 = sum(<i, _> <- range(rt.size)) { rt.id(i) -> 1 } in | ||
let chn_trie0 = sum(<i, _> <- range(chn.size)) @phmap(chn.size) { chn.id(i) -> @smallvecdict(4) { i -> 1 } } in | ||
sum(<x0, ci_trie1> <- ci_trie0) | ||
if (x0 ∈ rt_trie0) then | ||
let rt_trie1 = rt_trie0(x0) in | ||
sum(<x1, ci_trie2> <- ci_trie1) | ||
if (x1 ∈ interm0_trie0) then | ||
let interm0_trie1 = interm0_trie0(x1) in | ||
sum(<x2, ci_trie3> <- ci_trie2) | ||
if (x2 ∈ chn_trie0) then | ||
let chn_trie1 = chn_trie0(x2) in | ||
let mn_interm0 = sum(<interm0_tuple, _> <- interm0_trie1) promote[min_sum](<col3=interm0_tuple.col3>) in | ||
let mn_chn = sum(<chn_off, _> <- chn_trie1) promote[min_sum](<name=chn.name(chn_off)>) in | ||
promote[min_sum](<col5=mn_interm0.col3, col6=mn_chn.name>) | ||
|
Oops, something went wrong.