You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@s2graph.apache.org by st...@apache.org on 2018/05/14 12:29:49 UTC

[05/25] incubator-s2graph git commit: - start working on examples showing how to deploy ALS model.

- start working on examples showing how to deploy ALS model.


Project: http://git-wip-us.apache.org/repos/asf/incubator-s2graph/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-s2graph/commit/6f9d8527
Tree: http://git-wip-us.apache.org/repos/asf/incubator-s2graph/tree/6f9d8527
Diff: http://git-wip-us.apache.org/repos/asf/incubator-s2graph/diff/6f9d8527

Branch: refs/heads/master
Commit: 6f9d8527bb79e80fe00164f40bf045df5b684b1e
Parents: 319ae49
Author: DO YUNG YOON <st...@apache.org>
Authored: Wed May 2 15:38:32 2018 +0900
Committer: DO YUNG YOON <st...@apache.org>
Committed: Wed May 2 15:38:32 2018 +0900

----------------------------------------------------------------------
 project/Common.scala                            |    4 +
 .../s2graph/core/model/AnnoyModelFetcher.scala  |   17 +-
 s2core/src/test/resources/item_factors.ann      |  Bin 0 -> 137800 bytes
 s2core/src/test/resources/movie.dict            | 1682 ++++++++++++++++++
 s2core/src/test/resources/user_factors.ann      |  Bin 0 -> 76804 bytes
 .../apache/s2graph/core/model/FetcherTest.scala |    2 +-
 s2jobs/build.sbt                                |    5 +-
 .../custom/process/ALSAnnoyBuildProcess.scala   |   87 +
 .../process/ALSAnnoyBuildProcessTest.scala      |  104 ++
 9 files changed, 1893 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-s2graph/blob/6f9d8527/project/Common.scala
----------------------------------------------------------------------
diff --git a/project/Common.scala b/project/Common.scala
index 96109d3..04279f4 100644
--- a/project/Common.scala
+++ b/project/Common.scala
@@ -33,6 +33,10 @@ object Common {
 
   val KafkaVersion = "0.10.2.1"
 
+  val annoy4sVersion = "0.6.0"
+
+  val tensorflowVersion = "1.7.0"
+
   /** use Log4j 1.2.17 as the SLF4j backend in runtime, with bridging libraries to forward JCL and JUL logs to SLF4j */
   val loggingRuntime = Seq(
     "log4j" % "log4j" % "1.2.17",

http://git-wip-us.apache.org/repos/asf/incubator-s2graph/blob/6f9d8527/s2core/src/main/scala/org/apache/s2graph/core/model/AnnoyModelFetcher.scala
----------------------------------------------------------------------
diff --git a/s2core/src/main/scala/org/apache/s2graph/core/model/AnnoyModelFetcher.scala b/s2core/src/main/scala/org/apache/s2graph/core/model/AnnoyModelFetcher.scala
index df083fa..5e0b979 100644
--- a/s2core/src/main/scala/org/apache/s2graph/core/model/AnnoyModelFetcher.scala
+++ b/s2core/src/main/scala/org/apache/s2graph/core/model/AnnoyModelFetcher.scala
@@ -17,10 +17,15 @@ object AnnoyModelFetcher {
   val DimensionKey = "annoyIndexDimension"
   val IndexTypeKey = "annoyIndexType"
 
-  def loadDictFromLocal(file: File): Array[String] = {
-    Source.fromFile(file).getLines().map { line =>
-      line.stripMargin
-    }.toArray
+  def loadDictFromLocal(file: File): Map[Int, String] = {
+    Source.fromFile(file).getLines().zipWithIndex.map { case (line, _idx) =>
+      val tokens = line.stripMargin.split("\t")
+      if (tokens.length < 2) {
+        (_idx + 1, tokens.head)
+      } else {
+        (tokens.head.toInt, tokens.tail.head)
+      }
+    }.toMap
   }
 
   def buildIndex(config: Config): ANNIndexWithDict = {
@@ -36,8 +41,8 @@ object AnnoyModelFetcher {
   }
 }
 
-case class ANNIndexWithDict(index: ANNIndex, dict: Array[String]) {
-  val dictRev = dict.zipWithIndex.toMap
+case class ANNIndexWithDict(index: ANNIndex, dict: Map[Int, String]) {
+  val dictRev = dict.map(kv => kv._2 -> kv._1)
 }
 
 class AnnoyModelFetcher(val graph: S2GraphLike) extends Fetcher {

http://git-wip-us.apache.org/repos/asf/incubator-s2graph/blob/6f9d8527/s2core/src/test/resources/item_factors.ann
----------------------------------------------------------------------
diff --git a/s2core/src/test/resources/item_factors.ann b/s2core/src/test/resources/item_factors.ann
new file mode 100644
index 0000000..190485c
Binary files /dev/null and b/s2core/src/test/resources/item_factors.ann differ

http://git-wip-us.apache.org/repos/asf/incubator-s2graph/blob/6f9d8527/s2core/src/test/resources/movie.dict
----------------------------------------------------------------------
diff --git a/s2core/src/test/resources/movie.dict b/s2core/src/test/resources/movie.dict
new file mode 100644
index 0000000..62a0f5d
--- /dev/null
+++ b/s2core/src/test/resources/movie.dict
@@ -0,0 +1,1682 @@
+1	Toy Story (1995)
+2	GoldenEye (1995)
+3	Four Rooms (1995)
+4	Get Shorty (1995)
+5	Copycat (1995)
+6	Shanghai Triad (Yao a yao yao dao waipo qiao) (1995)
+7	Twelve Monkeys (1995)
+8	Babe (1995)
+9	Dead Man Walking (1995)
+10	Richard III (1995)
+11	Seven (Se7en) (1995)
+12	Usual Suspects, The (1995)
+13	Mighty Aphrodite (1995)
+14	Postino, Il (1994)
+15	Mr. Holland's Opus (1995)
+16	French Twist (Gazon maudit) (1995)
+17	From Dusk Till Dawn (1996)
+18	White Balloon, The (1995)
+19	Antonia's Line (1995)
+20	Angels and Insects (1995)
+21	Muppet Treasure Island (1996)
+22	Braveheart (1995)
+23	Taxi Driver (1976)
+24	Rumble in the Bronx (1995)
+25	Birdcage, The (1996)
+26	Brothers McMullen, The (1995)
+27	Bad Boys (1995)
+28	Apollo 13 (1995)
+29	Batman Forever (1995)
+30	Belle de jour (1967)
+31	Crimson Tide (1995)
+32	Crumb (1994)
+33	Desperado (1995)
+34	Doom Generation, The (1995)
+35	Free Willy 2: The Adventure Home (1995)
+36	Mad Love (1995)
+37	Nadja (1994)
+38	Net, The (1995)
+39	Strange Days (1995)
+40	To Wong Foo, Thanks for Everything! Julie Newmar (1995)
+41	Billy Madison (1995)
+42	Clerks (1994)
+43	Disclosure (1994)
+44	Dolores Claiborne (1994)
+45	Eat Drink Man Woman (1994)
+46	Exotica (1994)
+47	Ed Wood (1994)
+48	Hoop Dreams (1994)
+49	I.Q. (1994)
+50	Star Wars (1977)
+51	Legends of the Fall (1994)
+52	Madness of King George, The (1994)
+53	Natural Born Killers (1994)
+54	Outbreak (1995)
+55	Professional, The (1994)
+56	Pulp Fiction (1994)
+57	Priest (1994)
+58	Quiz Show (1994)
+59	Three Colors: Red (1994)
+60	Three Colors: Blue (1993)
+61	Three Colors: White (1994)
+62	Stargate (1994)
+63	Santa Clause, The (1994)
+64	Shawshank Redemption, The (1994)
+65	What's Eating Gilbert Grape (1993)
+66	While You Were Sleeping (1995)
+67	Ace Ventura: Pet Detective (1994)
+68	Crow, The (1994)
+69	Forrest Gump (1994)
+70	Four Weddings and a Funeral (1994)
+71	Lion King, The (1994)
+72	Mask, The (1994)
+73	Maverick (1994)
+74	Faster Pussycat! Kill! Kill! (1965)
+75	Brother Minister: The Assassination of Malcolm X (1994)
+76	Carlito's Way (1993)
+77	Firm, The (1993)
+78	Free Willy (1993)
+79	Fugitive, The (1993)
+80	Hot Shots! Part Deux (1993)
+81	Hudsucker Proxy, The (1994)
+82	Jurassic Park (1993)
+83	Much Ado About Nothing (1993)
+84	Robert A. Heinlein's The Puppet Masters (1994)
+85	Ref, The (1994)
+86	Remains of the Day, The (1993)
+87	Searching for Bobby Fischer (1993)
+88	Sleepless in Seattle (1993)
+89	Blade Runner (1982)
+90	So I Married an Axe Murderer (1993)
+91	Nightmare Before Christmas, The (1993)
+92	True Romance (1993)
+93	Welcome to the Dollhouse (1995)
+94	Home Alone (1990)
+95	Aladdin (1992)
+96	Terminator 2: Judgment Day (1991)
+97	Dances with Wolves (1990)
+98	Silence of the Lambs, The (1991)
+99	Snow White and the Seven Dwarfs (1937)
+100	Fargo (1996)
+101	Heavy Metal (1981)
+102	Aristocats, The (1970)
+103	All Dogs Go to Heaven 2 (1996)
+104	Theodore Rex (1995)
+105	Sgt. Bilko (1996)
+106	Diabolique (1996)
+107	Moll Flanders (1996)
+108	Kids in the Hall: Brain Candy (1996)
+109	Mystery Science Theater 3000: The Movie (1996)
+110	Operation Dumbo Drop (1995)
+111	Truth About Cats & Dogs, The (1996)
+112	Flipper (1996)
+113	Horseman on the Roof, The (Hussard sur le toit, Le) (1995)
+114	Wallace & Gromit: The Best of Aardman Animation (1996)
+115	Haunted World of Edward D. Wood Jr., The (1995)
+116	Cold Comfort Farm (1995)
+117	Rock, The (1996)
+118	Twister (1996)
+119	Maya Lin: A Strong Clear Vision (1994)
+120	Striptease (1996)
+121	Independence Day (ID4) (1996)
+122	Cable Guy, The (1996)
+123	Frighteners, The (1996)
+124	Lone Star (1996)
+125	Phenomenon (1996)
+126	Spitfire Grill, The (1996)
+127	Godfather, The (1972)
+128	Supercop (1992)
+129	Bound (1996)
+130	Kansas City (1996)
+131	Breakfast at Tiffany's (1961)
+132	Wizard of Oz, The (1939)
+133	Gone with the Wind (1939)
+134	Citizen Kane (1941)
+135	2001: A Space Odyssey (1968)
+136	Mr. Smith Goes to Washington (1939)
+137	Big Night (1996)
+138	D3: The Mighty Ducks (1996)
+139	Love Bug, The (1969)
+140	Homeward Bound: The Incredible Journey (1993)
+141	20,000 Leagues Under the Sea (1954)
+142	Bedknobs and Broomsticks (1971)
+143	Sound of Music, The (1965)
+144	Die Hard (1988)
+145	Lawnmower Man, The (1992)
+146	Unhook the Stars (1996)
+147	Long Kiss Goodnight, The (1996)
+148	Ghost and the Darkness, The (1996)
+149	Jude (1996)
+150	Swingers (1996)
+151	Willy Wonka and the Chocolate Factory (1971)
+152	Sleeper (1973)
+153	Fish Called Wanda, A (1988)
+154	Monty Python's Life of Brian (1979)
+155	Dirty Dancing (1987)
+156	Reservoir Dogs (1992)
+157	Platoon (1986)
+158	Weekend at Bernie's (1989)
+159	Basic Instinct (1992)
+160	Glengarry Glen Ross (1992)
+161	Top Gun (1986)
+162	On Golden Pond (1981)
+163	Return of the Pink Panther, The (1974)
+164	Abyss, The (1989)
+165	Jean de Florette (1986)
+166	Manon of the Spring (Manon des sources) (1986)
+167	Private Benjamin (1980)
+168	Monty Python and the Holy Grail (1974)
+169	Wrong Trousers, The (1993)
+170	Cinema Paradiso (1988)
+171	Delicatessen (1991)
+172	Empire Strikes Back, The (1980)
+173	Princess Bride, The (1987)
+174	Raiders of the Lost Ark (1981)
+175	Brazil (1985)
+176	Aliens (1986)
+177	Good, The Bad and The Ugly, The (1966)
+178	12 Angry Men (1957)
+179	Clockwork Orange, A (1971)
+180	Apocalypse Now (1979)
+181	Return of the Jedi (1983)
+182	GoodFellas (1990)
+183	Alien (1979)
+184	Army of Darkness (1993)
+185	Psycho (1960)
+186	Blues Brothers, The (1980)
+187	Godfather: Part II, The (1974)
+188	Full Metal Jacket (1987)
+189	Grand Day Out, A (1992)
+190	Henry V (1989)
+191	Amadeus (1984)
+192	Raging Bull (1980)
+193	Right Stuff, The (1983)
+194	Sting, The (1973)
+195	Terminator, The (1984)
+196	Dead Poets Society (1989)
+197	Graduate, The (1967)
+198	Nikita (La Femme Nikita) (1990)
+199	Bridge on the River Kwai, The (1957)
+200	Shining, The (1980)
+201	Evil Dead II (1987)
+202	Groundhog Day (1993)
+203	Unforgiven (1992)
+204	Back to the Future (1985)
+205	Patton (1970)
+206	Akira (1988)
+207	Cyrano de Bergerac (1990)
+208	Young Frankenstein (1974)
+209	This Is Spinal Tap (1984)
+210	Indiana Jones and the Last Crusade (1989)
+211	M*A*S*H (1970)
+212	Unbearable Lightness of Being, The (1988)
+213	Room with a View, A (1986)
+214	Pink Floyd - The Wall (1982)
+215	Field of Dreams (1989)
+216	When Harry Met Sally... (1989)
+217	Bram Stoker's Dracula (1992)
+218	Cape Fear (1991)
+219	Nightmare on Elm Street, A (1984)
+220	Mirror Has Two Faces, The (1996)
+221	Breaking the Waves (1996)
+222	Star Trek: First Contact (1996)
+223	Sling Blade (1996)
+224	Ridicule (1996)
+225	101 Dalmatians (1996)
+226	Die Hard 2 (1990)
+227	Star Trek VI: The Undiscovered Country (1991)
+228	Star Trek: The Wrath of Khan (1982)
+229	Star Trek III: The Search for Spock (1984)
+230	Star Trek IV: The Voyage Home (1986)
+231	Batman Returns (1992)
+232	Young Guns (1988)
+233	Under Siege (1992)
+234	Jaws (1975)
+235	Mars Attacks! (1996)
+236	Citizen Ruth (1996)
+237	Jerry Maguire (1996)
+238	Raising Arizona (1987)
+239	Sneakers (1992)
+240	Beavis and Butt-head Do America (1996)
+241	Last of the Mohicans, The (1992)
+242	Kolya (1996)
+243	Jungle2Jungle (1997)
+244	Smilla's Sense of Snow (1997)
+245	Devil's Own, The (1997)
+246	Chasing Amy (1997)
+247	Turbo: A Power Rangers Movie (1997)
+248	Grosse Pointe Blank (1997)
+249	Austin Powers: International Man of Mystery (1997)
+250	Fifth Element, The (1997)
+251	Shall We Dance? (1996)
+252	Lost World: Jurassic Park, The (1997)
+253	Pillow Book, The (1995)
+254	Batman & Robin (1997)
+255	My Best Friend's Wedding (1997)
+256	When the Cats Away (Chacun cherche son chat) (1996)
+257	Men in Black (1997)
+258	Contact (1997)
+259	George of the Jungle (1997)
+260	Event Horizon (1997)
+261	Air Bud (1997)
+262	In the Company of Men (1997)
+263	Steel (1997)
+264	Mimic (1997)
+265	Hunt for Red October, The (1990)
+266	Kull the Conqueror (1997)
+267	unknown
+268	Chasing Amy (1997)
+269	Full Monty, The (1997)
+270	Gattaca (1997)
+271	Starship Troopers (1997)
+272	Good Will Hunting (1997)
+273	Heat (1995)
+274	Sabrina (1995)
+275	Sense and Sensibility (1995)
+276	Leaving Las Vegas (1995)
+277	Restoration (1995)
+278	Bed of Roses (1996)
+279	Once Upon a Time... When We Were Colored (1995)
+280	Up Close and Personal (1996)
+281	River Wild, The (1994)
+282	Time to Kill, A (1996)
+283	Emma (1996)
+284	Tin Cup (1996)
+285	Secrets & Lies (1996)
+286	English Patient, The (1996)
+287	Marvin's Room (1996)
+288	Scream (1996)
+289	Evita (1996)
+290	Fierce Creatures (1997)
+291	Absolute Power (1997)
+292	Rosewood (1997)
+293	Donnie Brasco (1997)
+294	Liar Liar (1997)
+295	Breakdown (1997)
+296	Promesse, La (1996)
+297	Ulee's Gold (1997)
+298	Face/Off (1997)
+299	Hoodlum (1997)
+300	Air Force One (1997)
+301	In & Out (1997)
+302	L.A. Confidential (1997)
+303	Ulee's Gold (1997)
+304	Fly Away Home (1996)
+305	Ice Storm, The (1997)
+306	Mrs. Brown (Her Majesty, Mrs. Brown) (1997)
+307	Devil's Advocate, The (1997)
+308	FairyTale: A True Story (1997)
+309	Deceiver (1997)
+310	Rainmaker, The (1997)
+311	Wings of the Dove, The (1997)
+312	Midnight in the Garden of Good and Evil (1997)
+313	Titanic (1997)
+314	3 Ninjas: High Noon At Mega Mountain (1998)
+315	Apt Pupil (1998)
+316	As Good As It Gets (1997)
+317	In the Name of the Father (1993)
+318	Schindler's List (1993)
+319	Everyone Says I Love You (1996)
+320	Paradise Lost: The Child Murders at Robin Hood Hills (1996)
+321	Mother (1996)
+322	Murder at 1600 (1997)
+323	Dante's Peak (1997)
+324	Lost Highway (1997)
+325	Crash (1996)
+326	G.I. Jane (1997)
+327	Cop Land (1997)
+328	Conspiracy Theory (1997)
+329	Desperate Measures (1998)
+330	187 (1997)
+331	Edge, The (1997)
+332	Kiss the Girls (1997)
+333	Game, The (1997)
+334	U Turn (1997)
+335	How to Be a Player (1997)
+336	Playing God (1997)
+337	House of Yes, The (1997)
+338	Bean (1997)
+339	Mad City (1997)
+340	Boogie Nights (1997)
+341	Critical Care (1997)
+342	Man Who Knew Too Little, The (1997)
+343	Alien: Resurrection (1997)
+344	Apostle, The (1997)
+345	Deconstructing Harry (1997)
+346	Jackie Brown (1997)
+347	Wag the Dog (1997)
+348	Desperate Measures (1998)
+349	Hard Rain (1998)
+350	Fallen (1998)
+351	Prophecy II, The (1998)
+352	Spice World (1997)
+353	Deep Rising (1998)
+354	Wedding Singer, The (1998)
+355	Sphere (1998)
+356	Client, The (1994)
+357	One Flew Over the Cuckoo's Nest (1975)
+358	Spawn (1997)
+359	Assignment, The (1997)
+360	Wonderland (1997)
+361	Incognito (1997)
+362	Blues Brothers 2000 (1998)
+363	Sudden Death (1995)
+364	Ace Ventura: When Nature Calls (1995)
+365	Powder (1995)
+366	Dangerous Minds (1995)
+367	Clueless (1995)
+368	Bio-Dome (1996)
+369	Black Sheep (1996)
+370	Mary Reilly (1996)
+371	Bridges of Madison County, The (1995)
+372	Jeffrey (1995)
+373	Judge Dredd (1995)
+374	Mighty Morphin Power Rangers: The Movie (1995)
+375	Showgirls (1995)
+376	Houseguest (1994)
+377	Heavyweights (1994)
+378	Miracle on 34th Street (1994)
+379	Tales From the Crypt Presents: Demon Knight (1995)
+380	Star Trek: Generations (1994)
+381	Muriel's Wedding (1994)
+382	Adventures of Priscilla, Queen of the Desert, The (1994)
+383	Flintstones, The (1994)
+384	Naked Gun 33 1/3: The Final Insult (1994)
+385	True Lies (1994)
+386	Addams Family Values (1993)
+387	Age of Innocence, The (1993)
+388	Beverly Hills Cop III (1994)
+389	Black Beauty (1994)
+390	Fear of a Black Hat (1993)
+391	Last Action Hero (1993)
+392	Man Without a Face, The (1993)
+393	Mrs. Doubtfire (1993)
+394	Radioland Murders (1994)
+395	Robin Hood: Men in Tights (1993)
+396	Serial Mom (1994)
+397	Striking Distance (1993)
+398	Super Mario Bros. (1993)
+399	Three Musketeers, The (1993)
+400	Little Rascals, The (1994)
+401	Brady Bunch Movie, The (1995)
+402	Ghost (1990)
+403	Batman (1989)
+404	Pinocchio (1940)
+405	Mission: Impossible (1996)
+406	Thinner (1996)
+407	Spy Hard (1996)
+408	Close Shave, A (1995)
+409	Jack (1996)
+410	Kingpin (1996)
+411	Nutty Professor, The (1996)
+412	Very Brady Sequel, A (1996)
+413	Tales from the Crypt Presents: Bordello of Blood (1996)
+414	My Favorite Year (1982)
+415	Apple Dumpling Gang, The (1975)
+416	Old Yeller (1957)
+417	Parent Trap, The (1961)
+418	Cinderella (1950)
+419	Mary Poppins (1964)
+420	Alice in Wonderland (1951)
+421	William Shakespeare's Romeo and Juliet (1996)
+422	Aladdin and the King of Thieves (1996)
+423	E.T. the Extra-Terrestrial (1982)
+424	Children of the Corn: The Gathering (1996)
+425	Bob Roberts (1992)
+426	Transformers: The Movie, The (1986)
+427	To Kill a Mockingbird (1962)
+428	Harold and Maude (1971)
+429	Day the Earth Stood Still, The (1951)
+430	Duck Soup (1933)
+431	Highlander (1986)
+432	Fantasia (1940)
+433	Heathers (1989)
+434	Forbidden Planet (1956)
+435	Butch Cassidy and the Sundance Kid (1969)
+436	American Werewolf in London, An (1981)
+437	Amityville 1992: It's About Time (1992)
+438	Amityville 3-D (1983)
+439	Amityville: A New Generation (1993)
+440	Amityville II: The Possession (1982)
+441	Amityville Horror, The (1979)
+442	Amityville Curse, The (1990)
+443	Birds, The (1963)
+444	Blob, The (1958)
+445	Body Snatcher, The (1945)
+446	Burnt Offerings (1976)
+447	Carrie (1976)
+448	Omen, The (1976)
+449	Star Trek: The Motion Picture (1979)
+450	Star Trek V: The Final Frontier (1989)
+451	Grease (1978)
+452	Jaws 2 (1978)
+453	Jaws 3-D (1983)
+454	Bastard Out of Carolina (1996)
+455	Jackie Chan's First Strike (1996)
+456	Beverly Hills Ninja (1997)
+457	Free Willy 3: The Rescue (1997)
+458	Nixon (1995)
+459	Cry, the Beloved Country (1995)
+460	Crossing Guard, The (1995)
+461	Smoke (1995)
+462	Like Water For Chocolate (Como agua para chocolate) (1992)
+463	Secret of Roan Inish, The (1994)
+464	Vanya on 42nd Street (1994)
+465	Jungle Book, The (1994)
+466	Red Rock West (1992)
+467	Bronx Tale, A (1993)
+468	Rudy (1993)
+469	Short Cuts (1993)
+470	Tombstone (1993)
+471	Courage Under Fire (1996)
+472	Dragonheart (1996)
+473	James and the Giant Peach (1996)
+474	Dr. Strangelove or: How I Learned to Stop Worrying and Love the Bomb (1963)
+475	Trainspotting (1996)
+476	First Wives Club, The (1996)
+477	Matilda (1996)
+478	Philadelphia Story, The (1940)
+479	Vertigo (1958)
+480	North by Northwest (1959)
+481	Apartment, The (1960)
+482	Some Like It Hot (1959)
+483	Casablanca (1942)
+484	Maltese Falcon, The (1941)
+485	My Fair Lady (1964)
+486	Sabrina (1954)
+487	Roman Holiday (1953)
+488	Sunset Blvd. (1950)
+489	Notorious (1946)
+490	To Catch a Thief (1955)
+491	Adventures of Robin Hood, The (1938)
+492	East of Eden (1955)
+493	Thin Man, The (1934)
+494	His Girl Friday (1940)
+495	Around the World in 80 Days (1956)
+496	It's a Wonderful Life (1946)
+497	Bringing Up Baby (1938)
+498	African Queen, The (1951)
+499	Cat on a Hot Tin Roof (1958)
+500	Fly Away Home (1996)
+501	Dumbo (1941)
+502	Bananas (1971)
+503	Candidate, The (1972)
+504	Bonnie and Clyde (1967)
+505	Dial M for Murder (1954)
+506	Rebel Without a Cause (1955)
+507	Streetcar Named Desire, A (1951)
+508	People vs. Larry Flynt, The (1996)
+509	My Left Foot (1989)
+510	Magnificent Seven, The (1954)
+511	Lawrence of Arabia (1962)
+512	Wings of Desire (1987)
+513	Third Man, The (1949)
+514	Annie Hall (1977)
+515	Boot, Das (1981)
+516	Local Hero (1983)
+517	Manhattan (1979)
+518	Miller's Crossing (1990)
+519	Treasure of the Sierra Madre, The (1948)
+520	Great Escape, The (1963)
+521	Deer Hunter, The (1978)
+522	Down by Law (1986)
+523	Cool Hand Luke (1967)
+524	Great Dictator, The (1940)
+525	Big Sleep, The (1946)
+526	Ben-Hur (1959)
+527	Gandhi (1982)
+528	Killing Fields, The (1984)
+529	My Life as a Dog (Mitt liv som hund) (1985)
+530	Man Who Would Be King, The (1975)
+531	Shine (1996)
+532	Kama Sutra: A Tale of Love (1996)
+533	Daytrippers, The (1996)
+534	Traveller (1997)
+535	Addicted to Love (1997)
+536	Ponette (1996)
+537	My Own Private Idaho (1991)
+538	Anastasia (1997)
+539	Mouse Hunt (1997)
+540	Money Train (1995)
+541	Mortal Kombat (1995)
+542	Pocahontas (1995)
+543	Mis�rables, Les (1995)
+544	Things to Do in Denver when You're Dead (1995)
+545	Vampire in Brooklyn (1995)
+546	Broken Arrow (1996)
+547	Young Poisoner's Handbook, The (1995)
+548	NeverEnding Story III, The (1994)
+549	Rob Roy (1995)
+550	Die Hard: With a Vengeance (1995)
+551	Lord of Illusions (1995)
+552	Species (1995)
+553	Walk in the Clouds, A (1995)
+554	Waterworld (1995)
+555	White Man's Burden (1995)
+556	Wild Bill (1995)
+557	Farinelli: il castrato (1994)
+558	Heavenly Creatures (1994)
+559	Interview with the Vampire (1994)
+560	Kid in King Arthur's Court, A (1995)
+561	Mary Shelley's Frankenstein (1994)
+562	Quick and the Dead, The (1995)
+563	Stephen King's The Langoliers (1995)
+564	Tales from the Hood (1995)
+565	Village of the Damned (1995)
+566	Clear and Present Danger (1994)
+567	Wes Craven's New Nightmare (1994)
+568	Speed (1994)
+569	Wolf (1994)
+570	Wyatt Earp (1994)
+571	Another Stakeout (1993)
+572	Blown Away (1994)
+573	Body Snatchers (1993)
+574	Boxing Helena (1993)
+575	City Slickers II: The Legend of Curly's Gold (1994)
+576	Cliffhanger (1993)
+577	Coneheads (1993)
+578	Demolition Man (1993)
+579	Fatal Instinct (1993)
+580	Englishman Who Went Up a Hill, But Came Down a Mountain, The (1995)
+581	Kalifornia (1993)
+582	Piano, The (1993)
+583	Romeo Is Bleeding (1993)
+584	Secret Garden, The (1993)
+585	Son in Law (1993)
+586	Terminal Velocity (1994)
+587	Hour of the Pig, The (1993)
+588	Beauty and the Beast (1991)
+589	Wild Bunch, The (1969)
+590	Hellraiser: Bloodline (1996)
+591	Primal Fear (1996)
+592	True Crime (1995)
+593	Stalingrad (1993)
+594	Heavy (1995)
+595	Fan, The (1996)
+596	Hunchback of Notre Dame, The (1996)
+597	Eraser (1996)
+598	Big Squeeze, The (1996)
+599	Police Story 4: Project S (Chao ji ji hua) (1993)
+600	Daniel Defoe's Robinson Crusoe (1996)
+601	For Whom the Bell Tolls (1943)
+602	American in Paris, An (1951)
+603	Rear Window (1954)
+604	It Happened One Night (1934)
+605	Meet Me in St. Louis (1944)
+606	All About Eve (1950)
+607	Rebecca (1940)
+608	Spellbound (1945)
+609	Father of the Bride (1950)
+610	Gigi (1958)
+611	Laura (1944)
+612	Lost Horizon (1937)
+613	My Man Godfrey (1936)
+614	Giant (1956)
+615	39 Steps, The (1935)
+616	Night of the Living Dead (1968)
+617	Blue Angel, The (Blaue Engel, Der) (1930)
+618	Picnic (1955)
+619	Extreme Measures (1996)
+620	Chamber, The (1996)
+621	Davy Crockett, King of the Wild Frontier (1955)
+622	Swiss Family Robinson (1960)
+623	Angels in the Outfield (1994)
+624	Three Caballeros, The (1945)
+625	Sword in the Stone, The (1963)
+626	So Dear to My Heart (1949)
+627	Robin Hood: Prince of Thieves (1991)
+628	Sleepers (1996)
+629	Victor/Victoria (1982)
+630	Great Race, The (1965)
+631	Crying Game, The (1992)
+632	Sophie's Choice (1982)
+633	Christmas Carol, A (1938)
+634	Microcosmos: Le peuple de l'herbe (1996)
+635	Fog, The (1980)
+636	Escape from New York (1981)
+637	Howling, The (1981)
+638	Return of Martin Guerre, The (Retour de Martin Guerre, Le) (1982)
+639	Tin Drum, The (Blechtrommel, Die) (1979)
+640	Cook the Thief His Wife & Her Lover, The (1989)
+641	Paths of Glory (1957)
+642	Grifters, The (1990)
+643	The Innocent (1994)
+644	Thin Blue Line, The (1988)
+645	Paris Is Burning (1990)
+646	Once Upon a Time in the West (1969)
+647	Ran (1985)
+648	Quiet Man, The (1952)
+649	Once Upon a Time in America (1984)
+650	Seventh Seal, The (Sjunde inseglet, Det) (1957)
+651	Glory (1989)
+652	Rosencrantz and Guildenstern Are Dead (1990)
+653	Touch of Evil (1958)
+654	Chinatown (1974)
+655	Stand by Me (1986)
+656	M (1931)
+657	Manchurian Candidate, The (1962)
+658	Pump Up the Volume (1990)
+659	Arsenic and Old Lace (1944)
+660	Fried Green Tomatoes (1991)
+661	High Noon (1952)
+662	Somewhere in Time (1980)
+663	Being There (1979)
+664	Paris, Texas (1984)
+665	Alien 3 (1992)
+666	Blood For Dracula (Andy Warhol's Dracula) (1974)
+667	Audrey Rose (1977)
+668	Blood Beach (1981)
+669	Body Parts (1991)
+670	Body Snatchers (1993)
+671	Bride of Frankenstein (1935)
+672	Candyman (1992)
+673	Cape Fear (1962)
+674	Cat People (1982)
+675	Nosferatu (Nosferatu, eine Symphonie des Grauens) (1922)
+676	Crucible, The (1996)
+677	Fire on the Mountain (1996)
+678	Volcano (1997)
+679	Conan the Barbarian (1981)
+680	Kull the Conqueror (1997)
+681	Wishmaster (1997)
+682	I Know What You Did Last Summer (1997)
+683	Rocket Man (1997)
+684	In the Line of Fire (1993)
+685	Executive Decision (1996)
+686	Perfect World, A (1993)
+687	McHale's Navy (1997)
+688	Leave It to Beaver (1997)
+689	Jackal, The (1997)
+690	Seven Years in Tibet (1997)
+691	Dark City (1998)
+692	American President, The (1995)
+693	Casino (1995)
+694	Persuasion (1995)
+695	Kicking and Screaming (1995)
+696	City Hall (1996)
+697	Basketball Diaries, The (1995)
+698	Browning Version, The (1994)
+699	Little Women (1994)
+700	Miami Rhapsody (1995)
+701	Wonderful, Horrible Life of Leni Riefenstahl, The (1993)
+702	Barcelona (1994)
+703	Widows' Peak (1994)
+704	House of the Spirits, The (1993)
+705	Singin' in the Rain (1952)
+706	Bad Moon (1996)
+707	Enchanted April (1991)
+708	Sex, Lies, and Videotape (1989)
+709	Strictly Ballroom (1992)
+710	Better Off Dead... (1985)
+711	Substance of Fire, The (1996)
+712	Tin Men (1987)
+713	Othello (1995)
+714	Carrington (1995)
+715	To Die For (1995)
+716	Home for the Holidays (1995)
+717	Juror, The (1996)
+718	In the Bleak Midwinter (1995)
+719	Canadian Bacon (1994)
+720	First Knight (1995)
+721	Mallrats (1995)
+722	Nine Months (1995)
+723	Boys on the Side (1995)
+724	Circle of Friends (1995)
+725	Exit to Eden (1994)
+726	Fluke (1995)
+727	Immortal Beloved (1994)
+728	Junior (1994)
+729	Nell (1994)
+730	Queen Margot (Reine Margot, La) (1994)
+731	Corrina, Corrina (1994)
+732	Dave (1993)
+733	Go Fish (1994)
+734	Made in America (1993)
+735	Philadelphia (1993)
+736	Shadowlands (1993)
+737	Sirens (1994)
+738	Threesome (1994)
+739	Pretty Woman (1990)
+740	Jane Eyre (1996)
+741	Last Supper, The (1995)
+742	Ransom (1996)
+743	Crow: City of Angels, The (1996)
+744	Michael Collins (1996)
+745	Ruling Class, The (1972)
+746	Real Genius (1985)
+747	Benny & Joon (1993)
+748	Saint, The (1997)
+749	MatchMaker, The (1997)
+750	Amistad (1997)
+751	Tomorrow Never Dies (1997)
+752	Replacement Killers, The (1998)
+753	Burnt By the Sun (1994)
+754	Red Corner (1997)
+755	Jumanji (1995)
+756	Father of the Bride Part II (1995)
+757	Across the Sea of Time (1995)
+758	Lawnmower Man 2: Beyond Cyberspace (1996)
+759	Fair Game (1995)
+760	Screamers (1995)
+761	Nick of Time (1995)
+762	Beautiful Girls (1996)
+763	Happy Gilmore (1996)
+764	If Lucy Fell (1996)
+765	Boomerang (1992)
+766	Man of the Year (1995)
+767	Addiction, The (1995)
+768	Casper (1995)
+769	Congo (1995)
+770	Devil in a Blue Dress (1995)
+771	Johnny Mnemonic (1995)
+772	Kids (1995)
+773	Mute Witness (1994)
+774	Prophecy, The (1995)
+775	Something to Talk About (1995)
+776	Three Wishes (1995)
+777	Castle Freak (1995)
+778	Don Juan DeMarco (1995)
+779	Drop Zone (1994)
+780	Dumb & Dumber (1994)
+781	French Kiss (1995)
+782	Little Odessa (1994)
+783	Milk Money (1994)
+784	Beyond Bedlam (1993)
+785	Only You (1994)
+786	Perez Family, The (1995)
+787	Roommates (1995)
+788	Relative Fear (1994)
+789	Swimming with Sharks (1995)
+790	Tommy Boy (1995)
+791	Baby-Sitters Club, The (1995)
+792	Bullets Over Broadway (1994)
+793	Crooklyn (1994)
+794	It Could Happen to You (1994)
+795	Richie Rich (1994)
+796	Speechless (1994)
+797	Timecop (1994)
+798	Bad Company (1995)
+799	Boys Life (1995)
+800	In the Mouth of Madness (1995)
+801	Air Up There, The (1994)
+802	Hard Target (1993)
+803	Heaven & Earth (1993)
+804	Jimmy Hollywood (1994)
+805	Manhattan Murder Mystery (1993)
+806	Menace II Society (1993)
+807	Poetic Justice (1993)
+808	Program, The (1993)
+809	Rising Sun (1993)
+810	Shadow, The (1994)
+811	Thirty-Two Short Films About Glenn Gould (1993)
+812	Andre (1994)
+813	Celluloid Closet, The (1995)
+814	Great Day in Harlem, A (1994)
+815	One Fine Day (1996)
+816	Candyman: Farewell to the Flesh (1995)
+817	Frisk (1995)
+818	Girl 6 (1996)
+819	Eddie (1996)
+820	Space Jam (1996)
+821	Mrs. Winterbourne (1996)
+822	Faces (1968)
+823	Mulholland Falls (1996)
+824	Great White Hype, The (1996)
+825	Arrival, The (1996)
+826	Phantom, The (1996)
+827	Daylight (1996)
+828	Alaska (1996)
+829	Fled (1996)
+830	Power 98 (1995)
+831	Escape from L.A. (1996)
+832	Bogus (1996)
+833	Bulletproof (1996)
+834	Halloween: The Curse of Michael Myers (1995)
+835	Gay Divorcee, The (1934)
+836	Ninotchka (1939)
+837	Meet John Doe (1941)
+838	In the Line of Duty 2 (1987)
+839	Loch Ness (1995)
+840	Last Man Standing (1996)
+841	Glimmer Man, The (1996)
+842	Pollyanna (1960)
+843	Shaggy Dog, The (1959)
+844	Freeway (1996)
+845	That Thing You Do! (1996)
+846	To Gillian on Her 37th Birthday (1996)
+847	Looking for Richard (1996)
+848	Murder, My Sweet (1944)
+849	Days of Thunder (1990)
+850	Perfect Candidate, A (1996)
+851	Two or Three Things I Know About Her (1966)
+852	Bloody Child, The (1996)
+853	Braindead (1992)
+854	Bad Taste (1987)
+855	Diva (1981)
+856	Night on Earth (1991)
+857	Paris Was a Woman (1995)
+858	Amityville: Dollhouse (1996)
+859	April Fool's Day (1986)
+860	Believers, The (1987)
+861	Nosferatu a Venezia (1986)
+862	Jingle All the Way (1996)
+863	Garden of Finzi-Contini, The (Giardino dei Finzi-Contini, Il) (1970)
+864	My Fellow Americans (1996)
+865	Ice Storm, The (1997)
+866	Michael (1996)
+867	Whole Wide World, The (1996)
+868	Hearts and Minds (1996)
+869	Fools Rush In (1997)
+870	Touch (1997)
+871	Vegas Vacation (1997)
+872	Love Jones (1997)
+873	Picture Perfect (1997)
+874	Career Girls (1997)
+875	She's So Lovely (1997)
+876	Money Talks (1997)
+877	Excess Baggage (1997)
+878	That Darn Cat! (1997)
+879	Peacemaker, The (1997)
+880	Soul Food (1997)
+881	Money Talks (1997)
+882	Washington Square (1997)
+883	Telling Lies in America (1997)
+884	Year of the Horse (1997)
+885	Phantoms (1998)
+886	Life Less Ordinary, A (1997)
+887	Eve's Bayou (1997)
+888	One Night Stand (1997)
+889	Tango Lesson, The (1997)
+890	Mortal Kombat: Annihilation (1997)
+891	Bent (1997)
+892	Flubber (1997)
+893	For Richer or Poorer (1997)
+894	Home Alone 3 (1997)
+895	Scream 2 (1997)
+896	Sweet Hereafter, The (1997)
+897	Time Tracers (1995)
+898	Postman, The (1997)
+899	Winter Guest, The (1997)
+900	Kundun (1997)
+901	Mr. Magoo (1997)
+902	Big Lebowski, The (1998)
+903	Afterglow (1997)
+904	Ma vie en rose (My Life in Pink) (1997)
+905	Great Expectations (1998)
+906	Oscar & Lucinda (1997)
+907	Vermin (1998)
+908	Half Baked (1998)
+909	Dangerous Beauty (1998)
+910	Nil By Mouth (1997)
+911	Twilight (1998)
+912	U.S. Marshalls (1998)
+913	Love and Death on Long Island (1997)
+914	Wild Things (1998)
+915	Primary Colors (1998)
+916	Lost in Space (1998)
+917	Mercury Rising (1998)
+918	City of Angels (1998)
+919	City of Lost Children, The (1995)
+920	Two Bits (1995)
+921	Farewell My Concubine (1993)
+922	Dead Man (1995)
+923	Raise the Red Lantern (1991)
+924	White Squall (1996)
+925	Unforgettable (1996)
+926	Down Periscope (1996)
+927	Flower of My Secret, The (Flor de mi secreto, La) (1995)
+928	Craft, The (1996)
+929	Harriet the Spy (1996)
+930	Chain Reaction (1996)
+931	Island of Dr. Moreau, The (1996)
+932	First Kid (1996)
+933	Funeral, The (1996)
+934	Preacher's Wife, The (1996)
+935	Paradise Road (1997)
+936	Brassed Off (1996)
+937	Thousand Acres, A (1997)
+938	Smile Like Yours, A (1997)
+939	Murder in the First (1995)
+940	Airheads (1994)
+941	With Honors (1994)
+942	What's Love Got to Do with It (1993)
+943	Killing Zoe (1994)
+944	Renaissance Man (1994)
+945	Charade (1963)
+946	Fox and the Hound, The (1981)
+947	Big Blue, The (Grand bleu, Le) (1988)
+948	Booty Call (1997)
+949	How to Make an American Quilt (1995)
+950	Georgia (1995)
+951	Indian in the Cupboard, The (1995)
+952	Blue in the Face (1995)
+953	Unstrung Heroes (1995)
+954	Unzipped (1995)
+955	Before Sunrise (1995)
+956	Nobody's Fool (1994)
+957	Pushing Hands (1992)
+958	To Live (Huozhe) (1994)
+959	Dazed and Confused (1993)
+960	Naked (1993)
+961	Orlando (1993)
+962	Ruby in Paradise (1993)
+963	Some Folks Call It a Sling Blade (1993)
+964	Month by the Lake, A (1995)
+965	Funny Face (1957)
+966	Affair to Remember, An (1957)
+967	Little Lord Fauntleroy (1936)
+968	Inspector General, The (1949)
+969	Winnie the Pooh and the Blustery Day (1968)
+970	Hear My Song (1991)
+971	Mediterraneo (1991)
+972	Passion Fish (1992)
+973	Grateful Dead (1995)
+974	Eye for an Eye (1996)
+975	Fear (1996)
+976	Solo (1996)
+977	Substitute, The (1996)
+978	Heaven's Prisoners (1996)
+979	Trigger Effect, The (1996)
+980	Mother Night (1996)
+981	Dangerous Ground (1997)
+982	Maximum Risk (1996)
+983	Rich Man's Wife, The (1996)
+984	Shadow Conspiracy (1997)
+985	Blood & Wine (1997)
+986	Turbulence (1997)
+987	Underworld (1997)
+988	Beautician and the Beast, The (1997)
+989	Cats Don't Dance (1997)
+990	Anna Karenina (1997)
+991	Keys to Tulsa (1997)
+992	Head Above Water (1996)
+993	Hercules (1997)
+994	Last Time I Committed Suicide, The (1997)
+995	Kiss Me, Guido (1997)
+996	Big Green, The (1995)
+997	Stuart Saves His Family (1995)
+998	Cabin Boy (1994)
+999	Clean Slate (1994)
+1000	Lightning Jack (1994)
+1001	Stupids, The (1996)
+1002	Pest, The (1997)
+1003	That Darn Cat! (1997)
+1004	Geronimo: An American Legend (1993)
+1005	Double vie de V�ronique, La (Double Life of Veronique, The) (1991)
+1006	Until the End of the World (Bis ans Ende der Welt) (1991)
+1007	Waiting for Guffman (1996)
+1008	I Shot Andy Warhol (1996)
+1009	Stealing Beauty (1996)
+1010	Basquiat (1996)
+1011	2 Days in the Valley (1996)
+1012	Private Parts (1997)
+1013	Anaconda (1997)
+1014	Romy and Michele's High School Reunion (1997)
+1015	Shiloh (1997)
+1016	Con Air (1997)
+1017	Trees Lounge (1996)
+1018	Tie Me Up! Tie Me Down! (1990)
+1019	Die xue shuang xiong (Killer, The) (1989)
+1020	Gaslight (1944)
+1021	8 1/2 (1963)
+1022	Fast, Cheap & Out of Control (1997)
+1023	Fathers' Day (1997)
+1024	Mrs. Dalloway (1997)
+1025	Fire Down Below (1997)
+1026	Lay of the Land, The (1997)
+1027	Shooter, The (1995)
+1028	Grumpier Old Men (1995)
+1029	Jury Duty (1995)
+1030	Beverly Hillbillies, The (1993)
+1031	Lassie (1994)
+1032	Little Big League (1994)
+1033	Homeward Bound II: Lost in San Francisco (1996)
+1034	Quest, The (1996)
+1035	Cool Runnings (1993)
+1036	Drop Dead Fred (1991)
+1037	Grease 2 (1982)
+1038	Switchback (1997)
+1039	Hamlet (1996)
+1040	Two if by Sea (1996)
+1041	Forget Paris (1995)
+1042	Just Cause (1995)
+1043	Rent-a-Kid (1995)
+1044	Paper, The (1994)
+1045	Fearless (1993)
+1046	Malice (1993)
+1047	Multiplicity (1996)
+1048	She's the One (1996)
+1049	House Arrest (1996)
+1050	Ghost and Mrs. Muir, The (1947)
+1051	Associate, The (1996)
+1052	Dracula: Dead and Loving It (1995)
+1053	Now and Then (1995)
+1054	Mr. Wrong (1996)
+1055	Simple Twist of Fate, A (1994)
+1056	Cronos (1992)
+1057	Pallbearer, The (1996)
+1058	War, The (1994)
+1059	Don't Be a Menace to South Central While Drinking Your Juice in the Hood (1996)
+1060	Adventures of Pinocchio, The (1996)
+1061	Evening Star, The (1996)
+1062	Four Days in September (1997)
+1063	Little Princess, A (1995)
+1064	Crossfire (1947)
+1065	Koyaanisqatsi (1983)
+1066	Balto (1995)
+1067	Bottle Rocket (1996)
+1068	Star Maker, The (Uomo delle stelle, L') (1995)
+1069	Amateur (1994)
+1070	Living in Oblivion (1995)
+1071	Party Girl (1995)
+1072	Pyromaniac's Love Story, A (1995)
+1073	Shallow Grave (1994)
+1074	Reality Bites (1994)
+1075	Man of No Importance, A (1994)
+1076	Pagemaster, The (1994)
+1077	Love and a .45 (1994)
+1078	Oliver & Company (1988)
+1079	Joe's Apartment (1996)
+1080	Celestial Clockwork (1994)
+1081	Curdled (1996)
+1082	Female Perversions (1996)
+1083	Albino Alligator (1996)
+1084	Anne Frank Remembered (1995)
+1085	Carried Away (1996)
+1086	It's My Party (1995)
+1087	Bloodsport 2 (1995)
+1088	Double Team (1997)
+1089	Speed 2: Cruise Control (1997)
+1090	Sliver (1993)
+1091	Pete's Dragon (1977)
+1092	Dear God (1996)
+1093	Live Nude Girls (1995)
+1094	Thin Line Between Love and Hate, A (1996)
+1095	High School High (1996)
+1096	Commandments (1997)
+1097	Hate (Haine, La) (1995)
+1098	Flirting With Disaster (1996)
+1099	Red Firecracker, Green Firecracker (1994)
+1100	What Happened Was... (1994)
+1101	Six Degrees of Separation (1993)
+1102	Two Much (1996)
+1103	Trust (1990)
+1104	C'est arriv� pr�s de chez vous (1992)
+1105	Firestorm (1998)
+1106	Newton Boys, The (1998)
+1107	Beyond Rangoon (1995)
+1108	Feast of July (1995)
+1109	Death and the Maiden (1994)
+1110	Tank Girl (1995)
+1111	Double Happiness (1994)
+1112	Cobb (1994)
+1113	Mrs. Parker and the Vicious Circle (1994)
+1114	Faithful (1996)
+1115	Twelfth Night (1996)
+1116	Mark of Zorro, The (1940)
+1117	Surviving Picasso (1996)
+1118	Up in Smoke (1978)
+1119	Some Kind of Wonderful (1987)
+1120	I'm Not Rappaport (1996)
+1121	Umbrellas of Cherbourg, The (Parapluies de Cherbourg, Les) (1964)
+1122	They Made Me a Criminal (1939)
+1123	Last Time I Saw Paris, The (1954)
+1124	Farewell to Arms, A (1932)
+1125	Innocents, The (1961)
+1126	Old Man and the Sea, The (1958)
+1127	Truman Show, The (1998)
+1128	Heidi Fleiss: Hollywood Madam (1995) 
+1129	Chungking Express (1994)
+1130	Jupiter's Wife (1994)
+1131	Safe (1995)
+1132	Feeling Minnesota (1996)
+1133	Escape to Witch Mountain (1975)
+1134	Get on the Bus (1996)
+1135	Doors, The (1991)
+1136	Ghosts of Mississippi (1996)
+1137	Beautiful Thing (1996)
+1138	Best Men (1997)
+1139	Hackers (1995)
+1140	Road to Wellville, The (1994)
+1141	War Room, The (1993)
+1142	When We Were Kings (1996)
+1143	Hard Eight (1996)
+1144	Quiet Room, The (1996)
+1145	Blue Chips (1994)
+1146	Calendar Girl (1993)
+1147	My Family (1995)
+1148	Tom & Viv (1994)
+1149	Walkabout (1971)
+1150	Last Dance (1996)
+1151	Original Gangstas (1996)
+1152	In Love and War (1996)
+1153	Backbeat (1993)
+1154	Alphaville (1965)
+1155	Rendezvous in Paris (Rendez-vous de Paris, Les) (1995)
+1156	Cyclo (1995)
+1157	Relic, The (1997)
+1158	Fille seule, La (A Single Girl) (1995)
+1159	Stalker (1979)
+1160	Love! Valour! Compassion! (1997)
+1161	Palookaville (1996)
+1162	Phat Beach (1996)
+1163	Portrait of a Lady, The (1996)
+1164	Zeus and Roxanne (1997)
+1165	Big Bully (1996)
+1166	Love & Human Remains (1993)
+1167	Sum of Us, The (1994)
+1168	Little Buddha (1993)
+1169	Fresh (1994)
+1170	Spanking the Monkey (1994)
+1171	Wild Reeds (1994)
+1172	Women, The (1939)
+1173	Bliss (1997)
+1174	Caught (1996)
+1175	Hugo Pool (1997)
+1176	Welcome To Sarajevo (1997)
+1177	Dunston Checks In (1996)
+1178	Major Payne (1994)
+1179	Man of the House (1995)
+1180	I Love Trouble (1994)
+1181	Low Down Dirty Shame, A (1994)
+1182	Cops and Robbersons (1994)
+1183	Cowboy Way, The (1994)
+1184	Endless Summer 2, The (1994)
+1185	In the Army Now (1994)
+1186	Inkwell, The (1994)
+1187	Switchblade Sisters (1975)
+1188	Young Guns II (1990)
+1189	Prefontaine (1997)
+1190	That Old Feeling (1997)
+1191	Letter From Death Row, A (1998)
+1192	Boys of St. Vincent, The (1993)
+1193	Before the Rain (Pred dozhdot) (1994)
+1194	Once Were Warriors (1994)
+1195	Strawberry and Chocolate (Fresa y chocolate) (1993)
+1196	Savage Nights (Nuits fauves, Les) (1992)
+1197	Family Thing, A (1996)
+1198	Purple Noon (1960)
+1199	Cemetery Man (Dellamorte Dellamore) (1994)
+1200	Kim (1950)
+1201	Marlene Dietrich: Shadow and Light (1996) 
+1202	Maybe, Maybe Not (Bewegte Mann, Der) (1994)
+1203	Top Hat (1935)
+1204	To Be or Not to Be (1942)
+1205	Secret Agent, The (1996)
+1206	Amos & Andrew (1993)
+1207	Jade (1995)
+1208	Kiss of Death (1995)
+1209	Mixed Nuts (1994)
+1210	Virtuosity (1995)
+1211	Blue Sky (1994)
+1212	Flesh and Bone (1993)
+1213	Guilty as Sin (1993)
+1214	In the Realm of the Senses (Ai no corrida) (1976)
+1215	Barb Wire (1996)
+1216	Kissed (1996)
+1217	Assassins (1995)
+1218	Friday (1995)
+1219	Goofy Movie, A (1995)
+1220	Higher Learning (1995)
+1221	When a Man Loves a Woman (1994)
+1222	Judgment Night (1993)
+1223	King of the Hill (1993)
+1224	Scout, The (1994)
+1225	Angus (1995)
+1226	Night Falls on Manhattan (1997)
+1227	Awfully Big Adventure, An (1995)
+1228	Under Siege 2: Dark Territory (1995)
+1229	Poison Ivy II (1995)
+1230	Ready to Wear (Pret-A-Porter) (1994)
+1231	Marked for Death (1990)
+1232	Madonna: Truth or Dare (1991)
+1233	N�nette et Boni (1996)
+1234	Chairman of the Board (1998)
+1235	Big Bang Theory, The (1994)
+1236	Other Voices, Other Rooms (1997)
+1237	Twisted (1996)
+1238	Full Speed (1996)
+1239	Cutthroat Island (1995)
+1240	Ghost in the Shell (Kokaku kidotai) (1995)
+1241	Van, The (1996)
+1242	Old Lady Who Walked in the Sea, The (Vieille qui marchait dans la mer, La) (1991)
+1243	Night Flier (1997)
+1244	Metro (1997)
+1245	Gridlock'd (1997)
+1246	Bushwhacked (1995)
+1247	Bad Girls (1994)
+1248	Blink (1994)
+1249	For Love or Money (1993)
+1250	Best of the Best 3: No Turning Back (1995)
+1251	A Chef in Love (1996)
+1252	Contempt (M�pris, Le) (1963)
+1253	Tie That Binds, The (1995)
+1254	Gone Fishin' (1997)
+1255	Broken English (1996)
+1256	Designated Mourner, The (1997)
+1257	Designated Mourner, The (1997)
+1258	Trial and Error (1997)
+1259	Pie in the Sky (1995)
+1260	Total Eclipse (1995)
+1261	Run of the Country, The (1995)
+1262	Walking and Talking (1996)
+1263	Foxfire (1996)
+1264	Nothing to Lose (1994)
+1265	Star Maps (1997)
+1266	Bread and Chocolate (Pane e cioccolata) (1973)
+1267	Clockers (1995)
+1268	Bitter Moon (1992)
+1269	Love in the Afternoon (1957)
+1270	Life with Mikey (1993)
+1271	North (1994)
+1272	Talking About Sex (1994)
+1273	Color of Night (1994)
+1274	Robocop 3 (1993)
+1275	Killer (Bulletproof Heart) (1994)
+1276	Sunset Park (1996)
+1277	Set It Off (1996)
+1278	Selena (1997)
+1279	Wild America (1997)
+1280	Gang Related (1997)
+1281	Manny & Lo (1996)
+1282	Grass Harp, The (1995)
+1283	Out to Sea (1997)
+1284	Before and After (1996)
+1285	Princess Caraboo (1994)
+1286	Shall We Dance? (1937)
+1287	Ed (1996)
+1288	Denise Calls Up (1995)
+1289	Jack and Sarah (1995)
+1290	Country Life (1994)
+1291	Celtic Pride (1996)
+1292	Simple Wish, A (1997)
+1293	Star Kid (1997)
+1294	Ayn Rand: A Sense of Life (1997)
+1295	Kicked in the Head (1997)
+1296	Indian Summer (1996)
+1297	Love Affair (1994)
+1298	Band Wagon, The (1953)
+1299	Penny Serenade (1941)
+1300	'Til There Was You (1997)
+1301	Stripes (1981)
+1302	Late Bloomers (1996)
+1303	Getaway, The (1994)
+1304	New York Cop (1996)
+1305	National Lampoon's Senior Trip (1995)
+1306	Delta of Venus (1994)
+1307	Carmen Miranda: Bananas Is My Business (1994)
+1308	Babyfever (1994)
+1309	Very Natural Thing, A (1974)
+1310	Walk in the Sun, A (1945)
+1311	Waiting to Exhale (1995)
+1312	Pompatus of Love, The (1996)
+1313	Palmetto (1998)
+1314	Surviving the Game (1994)
+1315	Inventing the Abbotts (1997)
+1316	Horse Whisperer, The (1998)
+1317	Journey of August King, The (1995)
+1318	Catwalk (1995)
+1319	Neon Bible, The (1995)
+1320	Homage (1995)
+1321	Open Season (1996)
+1322	Metisse (Caf� au Lait) (1993)
+1323	Wooden Man's Bride, The (Wu Kui) (1994)
+1324	Loaded (1994)
+1325	August (1996)
+1326	Boys (1996)
+1327	Captives (1994)
+1328	Of Love and Shadows (1994)
+1329	Low Life, The (1994)
+1330	An Unforgettable Summer (1994)
+1331	Last Klezmer: Leopold Kozlowski, His Life and Music, The (1995)
+1332	My Life and Times With Antonin Artaud (En compagnie d'Antonin Artaud) (1993)
+1333	Midnight Dancers (Sibak) (1994)
+1334	Somebody to Love (1994)
+1335	American Buffalo (1996)
+1336	Kazaam (1996)
+1337	Larger Than Life (1996)
+1338	Two Deaths (1995)
+1339	Stefano Quantestorie (1993)
+1340	Crude Oasis, The (1995)
+1341	Hedd Wyn (1992)
+1342	Convent, The (Convento, O) (1995)
+1343	Lotto Land (1995)
+1344	Story of Xinghua, The (1993)
+1345	Day the Sun Turned Cold, The (Tianguo niezi) (1994)
+1346	Dingo (1992)
+1347	Ballad of Narayama, The (Narayama Bushiko) (1958)
+1348	Every Other Weekend (1990)
+1349	Mille bolle blu (1993)
+1350	Crows and Sparrows (1949)
+1351	Lover's Knot (1996)
+1352	Shadow of Angels (Schatten der Engel) (1976)
+1353	1-900 (1994)
+1354	Venice/Venice (1992)
+1355	Infinity (1996)
+1356	Ed's Next Move (1996)
+1357	For the Moment (1994)
+1358	The Deadly Cure (1996)
+1359	Boys in Venice (1996)
+1360	Sexual Life of the Belgians, The (1994)
+1361	Search for One-eye Jimmy, The (1996)
+1362	American Strays (1996)
+1363	Leopard Son, The (1996)
+1364	Bird of Prey (1996)
+1365	Johnny 100 Pesos (1993)
+1366	JLG/JLG - autoportrait de d�cembre (1994)
+1367	Faust (1994)
+1368	Mina Tannenbaum (1994)
+1369	Forbidden Christ, The (Cristo proibito, Il) (1950)
+1370	I Can't Sleep (J'ai pas sommeil) (1994)
+1371	Machine, The (1994)
+1372	Stranger, The (1994)
+1373	Good Morning (1971)
+1374	Falling in Love Again (1980)
+1375	Cement Garden, The (1993)
+1376	Meet Wally Sparks (1997)
+1377	Hotel de Love (1996)
+1378	Rhyme & Reason (1997)
+1379	Love and Other Catastrophes (1996)
+1380	Hollow Reed (1996)
+1381	Losing Chase (1996)
+1382	Bonheur, Le (1965)
+1383	Second Jungle Book: Mowgli & Baloo, The (1997)
+1384	Squeeze (1996)
+1385	Roseanna's Grave (For Roseanna) (1997)
+1386	Tetsuo II: Body Hammer (1992)
+1387	Fall (1997)
+1388	Gabbeh (1996)
+1389	Mondo (1996)
+1390	Innocent Sleep, The (1995)
+1391	For Ever Mozart (1996)
+1392	Locusts, The (1997)
+1393	Stag (1997)
+1394	Swept from the Sea (1997)
+1395	Hurricane Streets (1998)
+1396	Stonewall (1995)
+1397	Of Human Bondage (1934)
+1398	Anna (1996)
+1399	Stranger in the House (1997)
+1400	Picture Bride (1995)
+1401	M. Butterfly (1993)
+1402	Ciao, Professore! (1993)
+1403	Caro Diario (Dear Diary) (1994)
+1404	Withnail and I (1987)
+1405	Boy's Life 2 (1997)
+1406	When Night Is Falling (1995)
+1407	Specialist, The (1994)
+1408	Gordy (1995)
+1409	Swan Princess, The (1994)
+1410	Harlem (1993)
+1411	Barbarella (1968)
+1412	Land Before Time III: The Time of the Great Giving (1995) (V)
+1413	Street Fighter (1994)
+1414	Coldblooded (1995)
+1415	Next Karate Kid, The (1994)
+1416	No Escape (1994)
+1417	Turning, The (1992)
+1418	Joy Luck Club, The (1993)
+1419	Highlander III: The Sorcerer (1994)
+1420	Gilligan's Island: The Movie (1998)
+1421	My Crazy Life (Mi vida loca) (1993)
+1422	Suture (1993)
+1423	Walking Dead, The (1995)
+1424	I Like It Like That (1994)
+1425	I'll Do Anything (1994)
+1426	Grace of My Heart (1996)
+1427	Drunks (1995)
+1428	SubUrbia (1997)
+1429	Sliding Doors (1998)
+1430	Ill Gotten Gains (1997)
+1431	Legal Deceit (1997)
+1432	Mighty, The (1998)
+1433	Men of Means (1998)
+1434	Shooting Fish (1997)
+1435	Steal Big, Steal Little (1995)
+1436	Mr. Jones (1993)
+1437	House Party 3 (1994)
+1438	Panther (1995)
+1439	Jason's Lyric (1994)
+1440	Above the Rim (1994)
+1441	Moonlight and Valentino (1995)
+1442	Scarlet Letter, The (1995)
+1443	8 Seconds (1994)
+1444	That Darn Cat! (1965)
+1445	Ladybird Ladybird (1994)
+1446	Bye Bye, Love (1995)
+1447	Century (1993)
+1448	My Favorite Season (1993)
+1449	Pather Panchali (1955)
+1450	Golden Earrings (1947)
+1451	Foreign Correspondent (1940)
+1452	Lady of Burlesque (1943)
+1453	Angel on My Shoulder (1946)
+1454	Angel and the Badman (1947)
+1455	Outlaw, The (1943)
+1456	Beat the Devil (1954)
+1457	Love Is All There Is (1996)
+1458	Damsel in Distress, A (1937)
+1459	Madame Butterfly (1995)
+1460	Sleepover (1995)
+1461	Here Comes Cookie (1935)
+1462	Thieves (Voleurs, Les) (1996)
+1463	Boys, Les (1997)
+1464	Stars Fell on Henrietta, The (1995)
+1465	Last Summer in the Hamptons (1995)
+1466	Margaret's Museum (1995)
+1467	Saint of Fort Washington, The (1993)
+1468	Cure, The (1995)
+1469	Tom and Huck (1995)
+1470	Gumby: The Movie (1995)
+1471	Hideaway (1995)
+1472	Visitors, The (Visiteurs, Les) (1993)
+1473	Little Princess, The (1939)
+1474	Nina Takes a Lover (1994)
+1475	Bhaji on the Beach (1993)
+1476	Raw Deal (1948)
+1477	Nightwatch (1997)
+1478	Dead Presidents (1995)
+1479	Reckless (1995)
+1480	Herbie Rides Again (1974)
+1481	S.F.W. (1994)
+1482	Gate of Heavenly Peace, The (1995)
+1483	Man in the Iron Mask, The (1998)
+1484	Jerky Boys, The (1994)
+1485	Colonel Chabert, Le (1994)
+1486	Girl in the Cadillac (1995)
+1487	Even Cowgirls Get the Blues (1993)
+1488	Germinal (1993)
+1489	Chasers (1994)
+1490	Fausto (1993)
+1491	Tough and Deadly (1995)
+1492	Window to Paris (1994)
+1493	Modern Affair, A (1995)
+1494	Mostro, Il (1994)
+1495	Flirt (1995)
+1496	Carpool (1996)
+1497	Line King: Al Hirschfeld, The (1996)
+1498	Farmer & Chase (1995)
+1499	Grosse Fatigue (1994)
+1500	Santa with Muscles (1996)
+1501	Prisoner of the Mountains (Kavkazsky Plennik) (1996)
+1502	Naked in New York (1994)
+1503	Gold Diggers: The Secret of Bear Mountain (1995)
+1504	Bewegte Mann, Der (1994)
+1505	Killer: A Journal of Murder (1995)
+1506	Nelly & Monsieur Arnaud (1995)
+1507	Three Lives and Only One Death (1996)
+1508	Babysitter, The (1995)
+1509	Getting Even with Dad (1994)
+1510	Mad Dog Time (1996)
+1511	Children of the Revolution (1996)
+1512	World of Apu, The (Apur Sansar) (1959)
+1513	Sprung (1997)
+1514	Dream With the Fishes (1997)
+1515	Wings of Courage (1995)
+1516	Wedding Gift, The (1994)
+1517	Race the Sun (1996)
+1518	Losing Isaiah (1995)
+1519	New Jersey Drive (1995)
+1520	Fear, The (1995)
+1521	Mr. Wonderful (1993)
+1522	Trial by Jury (1994)
+1523	Good Man in Africa, A (1994)
+1524	Kaspar Hauser (1993)
+1525	Object of My Affection, The (1998)
+1526	Witness (1985)
+1527	Senseless (1998)
+1528	Nowhere (1997)
+1529	Underground (1995)
+1530	Jefferson in Paris (1995)
+1531	Far From Home: The Adventures of Yellow Dog (1995)
+1532	Foreign Student (1994)
+1533	I Don't Want to Talk About It (De eso no se habla) (1993)
+1534	Twin Town (1997)
+1535	Enfer, L' (1994)
+1536	Aiqing wansui (1994)
+1537	Cosi (1996)
+1538	All Over Me (1997)
+1539	Being Human (1993)
+1540	Amazing Panda Adventure, The (1995)
+1541	Beans of Egypt, Maine, The (1994)
+1542	Scarlet Letter, The (1926)
+1543	Johns (1996)
+1544	It Takes Two (1995)
+1545	Frankie Starlight (1995)
+1546	Shadows (Cienie) (1988)
+1547	Show, The (1995)
+1548	The Courtyard (1995)
+1549	Dream Man (1995)
+1550	Destiny Turns on the Radio (1995)
+1551	Glass Shield, The (1994)
+1552	Hunted, The (1995)
+1553	Underneath, The (1995)
+1554	Safe Passage (1994)
+1555	Secret Adventures of Tom Thumb, The (1993)
+1556	Condition Red (1995)
+1557	Yankee Zulu (1994)
+1558	Aparajito (1956)
+1559	Hostile Intentions (1994)
+1560	Clean Slate (Coup de Torchon) (1981)
+1561	Tigrero: A Film That Was Never Made (1994)
+1562	Eye of Vichy, The (Oeil de Vichy, L') (1993)
+1563	Promise, The (Versprechen, Das) (1994)
+1564	To Cross the Rubicon (1991)
+1565	Daens (1992)
+1566	Man from Down Under, The (1943)
+1567	Careful (1992)
+1568	Vermont Is For Lovers (1992)
+1569	Vie est belle, La (Life is Rosey) (1987)
+1570	Quartier Mozart (1992)
+1571	Touki Bouki (Journey of the Hyena) (1973)
+1572	Wend Kuuni (God's Gift) (1982)
+1573	Spirits of the Dead (Tre passi nel delirio) (1968)
+1574	Pharaoh's Army (1995)
+1575	I, Worst of All (Yo, la peor de todas) (1990)
+1576	Hungarian Fairy Tale, A (1987)
+1577	Death in the Garden (Mort en ce jardin, La) (1956)
+1578	Collectionneuse, La (1967)
+1579	Baton Rouge (1988)
+1580	Liebelei (1933)
+1581	Woman in Question, The (1950)
+1582	T-Men (1947)
+1583	Invitation, The (Zaproszenie) (1986)
+1584	Symphonie pastorale, La (1946)
+1585	American Dream (1990)
+1586	Lashou shentan (1992)
+1587	Terror in a Texas Town (1958)
+1588	Salut cousin! (1996)
+1589	Schizopolis (1996)
+1590	To Have, or Not (1995)
+1591	Duoluo tianshi (1995)
+1592	Magic Hour, The (1998)
+1593	Death in Brunswick (1991)
+1594	Everest (1998)
+1595	Shopping (1994)
+1596	Nemesis 2: Nebula (1995)
+1597	Romper Stomper (1992)
+1598	City of Industry (1997)
+1599	Someone Else's America (1995)
+1600	Guantanamera (1994)
+1601	Office Killer (1997)
+1602	Price Above Rubies, A (1998)
+1603	Angela (1995)
+1604	He Walked by Night (1948)
+1605	Love Serenade (1996)
+1606	Deceiver (1997)
+1607	Hurricane Streets (1998)
+1608	Buddy (1997)
+1609	B*A*P*S (1997)
+1610	Truth or Consequences, N.M. (1997)
+1611	Intimate Relations (1996)
+1612	Leading Man, The (1996)
+1613	Tokyo Fist (1995)
+1614	Reluctant Debutante, The (1958)
+1615	Warriors of Virtue (1997)
+1616	Desert Winds (1995)
+1617	Hugo Pool (1997)
+1618	King of New York (1990)
+1619	All Things Fair (1996)
+1620	Sixth Man, The (1997)
+1621	Butterfly Kiss (1995)
+1622	Paris, France (1993)
+1623	C�r�monie, La (1995)
+1624	Hush (1998)
+1625	Nightwatch (1997)
+1626	Nobody Loves Me (Keiner liebt mich) (1994)
+1627	Wife, The (1995)
+1628	Lamerica (1994)
+1629	Nico Icon (1995)
+1630	Silence of the Palace, The (Saimt el Qusur) (1994)
+1631	Slingshot, The (1993)
+1632	Land and Freedom (Tierra y libertad) (1995)
+1633	� k�ldum klaka (Cold Fever) (1994)
+1634	Etz Hadomim Tafus (Under the Domin Tree) (1994)
+1635	Two Friends (1986) 
+1636	Brothers in Trouble (1995)
+1637	Girls Town (1996)
+1638	Normal Life (1996)
+1639	Bitter Sugar (Azucar Amargo) (1996)
+1640	Eighth Day, The (1996)
+1641	Dadetown (1995)
+1642	Some Mother's Son (1996)
+1643	Angel Baby (1995)
+1644	Sudden Manhattan (1996)
+1645	Butcher Boy, The (1998)
+1646	Men With Guns (1997)
+1647	Hana-bi (1997)
+1648	Niagara, Niagara (1997)
+1649	Big One, The (1997)
+1650	Butcher Boy, The (1998)
+1651	Spanish Prisoner, The (1997)
+1652	Temptress Moon (Feng Yue) (1996)
+1653	Entertaining Angels: The Dorothy Day Story (1996)
+1654	Chairman of the Board (1998)
+1655	Favor, The (1994)
+1656	Little City (1998)
+1657	Target (1995)
+1658	Substance of Fire, The (1996)
+1659	Getting Away With Murder (1996)
+1660	Small Faces (1995)
+1661	New Age, The (1994)
+1662	Rough Magic (1995)
+1663	Nothing Personal (1995)
+1664	8 Heads in a Duffel Bag (1997)
+1665	Brother's Kiss, A (1997)
+1666	Ripe (1996)
+1667	Next Step, The (1995)
+1668	Wedding Bell Blues (1996)
+1669	MURDER and murder (1996)
+1670	Tainted (1998)
+1671	Further Gesture, A (1996)
+1672	Kika (1993)
+1673	Mirage (1995)
+1674	Mamma Roma (1962)
+1675	Sunchaser, The (1996)
+1676	War at Home, The (1996)
+1677	Sweet Nothing (1995)
+1678	Mat' i syn (1997)
+1679	B. Monkey (1998)
+1680	Sliding Doors (1998)
+1681	You So Crazy (1994)
+1682	Scream of Stone (Schrei aus Stein) (1991)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-s2graph/blob/6f9d8527/s2core/src/test/resources/user_factors.ann
----------------------------------------------------------------------
diff --git a/s2core/src/test/resources/user_factors.ann b/s2core/src/test/resources/user_factors.ann
new file mode 100644
index 0000000..ad3c663
Binary files /dev/null and b/s2core/src/test/resources/user_factors.ann differ

http://git-wip-us.apache.org/repos/asf/incubator-s2graph/blob/6f9d8527/s2core/src/test/scala/org/apache/s2graph/core/model/FetcherTest.scala
----------------------------------------------------------------------
diff --git a/s2core/src/test/scala/org/apache/s2graph/core/model/FetcherTest.scala b/s2core/src/test/scala/org/apache/s2graph/core/model/FetcherTest.scala
index fb6ff16..54e6763 100644
--- a/s2core/src/test/scala/org/apache/s2graph/core/model/FetcherTest.scala
+++ b/s2core/src/test/scala/org/apache/s2graph/core/model/FetcherTest.scala
@@ -135,7 +135,7 @@ class FetcherTest extends IntegrateCommon{
     val stepResult = Await.result(graph.getEdges(query), Duration("60 seconds"))
 
     stepResult.edgeWithScores.foreach { es =>
-      println(es.edge)
+      println(es.edge.tgtVertex.innerIdVal)
     }
 
     FileUtils.deleteQuietly(new File(localIndexFilePath))

http://git-wip-us.apache.org/repos/asf/incubator-s2graph/blob/6f9d8527/s2jobs/build.sbt
----------------------------------------------------------------------
diff --git a/s2jobs/build.sbt b/s2jobs/build.sbt
index e966fa6..1430500 100644
--- a/s2jobs/build.sbt
+++ b/s2jobs/build.sbt
@@ -32,12 +32,15 @@ libraryDependencies ++= Seq(
   "org.apache.spark" %% "spark-core" % spark2Version,
   "org.apache.spark" %% "spark-streaming" % spark2Version % "provided",
   "org.apache.spark" %% "spark-hive" % spark2Version % "provided",
+  "org.apache.spark" %% "spark-mllib" % spark2Version,
   "org.specs2" %% "specs2-core" % specs2Version % "test",
   "org.scalatest" %% "scalatest" % "2.2.1" % "test",
   "org.apache.hadoop" % "hadoop-distcp" % hadoopVersion,
   "org.elasticsearch" % "elasticsearch-spark-20_2.11" % elastic4sVersion,
   "com.github.scopt" %% "scopt" % "3.7.0",
-  "com.holdenkarau" %% "spark-testing-base" % "2.3.0_0.9.0" % Test
+  "com.holdenkarau" %% "spark-testing-base" % "2.3.0_0.9.0" % Test,
+  "net.pishen" %% "annoy4s" % annoy4sVersion,
+  "org.tensorflow" % "tensorflow" % tensorflowVersion
 )
 
 crossScalaVersions := Seq("2.10.6")

http://git-wip-us.apache.org/repos/asf/incubator-s2graph/blob/6f9d8527/s2jobs/src/main/scala/org/apache/s2graph/s2jobs/task/custom/process/ALSAnnoyBuildProcess.scala
----------------------------------------------------------------------
diff --git a/s2jobs/src/main/scala/org/apache/s2graph/s2jobs/task/custom/process/ALSAnnoyBuildProcess.scala b/s2jobs/src/main/scala/org/apache/s2graph/s2jobs/task/custom/process/ALSAnnoyBuildProcess.scala
new file mode 100644
index 0000000..968bf5a
--- /dev/null
+++ b/s2jobs/src/main/scala/org/apache/s2graph/s2jobs/task/custom/process/ALSAnnoyBuildProcess.scala
@@ -0,0 +1,87 @@
+package org.apache.s2graph.s2jobs.task.custom.process
+
+import java.io.File
+
+import annoy4s.{Angular, Annoy}
+import org.apache.hadoop.conf.Configuration
+import org.apache.hadoop.fs.{FileSystem, FileUtil, Path}
+import org.apache.s2graph.s2jobs.task.TaskConf
+import org.apache.spark.ml.recommendation.{ALS, ALSModel}
+import org.apache.spark.sql.{DataFrame, SaveMode, SparkSession}
+
+object ALSAnnoyBuildProcess {
+
+  def buildAnnoyIndex(ss: SparkSession,
+                      conf: TaskConf,
+                      dataFrame: DataFrame): Unit = {
+    // annoy tree params.
+    val outputPath = conf.options("outputPath")
+    val localInputPath = conf.options("localInputPath")
+    val localIndexPath = conf.options("localIndexPath")
+    val numDimensions = conf.options.getOrElse("dimensions", "10").toInt
+
+    // als model params.
+    val rank = conf.options.getOrElse("rank", numDimensions.toString).toInt
+    val maxIter = conf.options.getOrElse("maxIter", "5").toInt
+    val regParam = conf.options.getOrElse("regParam", "0.01").toDouble
+    val userCol = conf.options.getOrElse("userCol", "userId")
+    val itemCol = conf.options.getOrElse("itemCol", "movieId")
+    val ratingCol = conf.options.getOrElse("ratingCol", "rating")
+
+    assert(rank == numDimensions)
+
+    val als = new ALS()
+      .setRank(rank)
+      .setMaxIter(maxIter)
+      .setRegParam(regParam)
+      .setUserCol(userCol)
+      .setItemCol(itemCol)
+      .setRatingCol(ratingCol)
+
+    val model = als.fit(dataFrame)
+
+    saveFeatures(ss, model.itemFactors, outputPath)
+    copyToLocal(ss.sparkContext.hadoopConfiguration, outputPath, localInputPath)
+
+    FileUtil.fullyDelete(new File(localIndexPath))
+
+    Annoy.create[Int](s"${localInputPath}", numDimensions, outputDir = s"$localIndexPath", Angular)
+  }
+
+  def saveFeatures(ss: SparkSession,
+                   dataFrame: DataFrame,
+                   outputPath: String,
+                   idCol: String = "id",
+                   featuresCol: String = "features"): Unit = {
+    import ss.sqlContext.implicits._
+
+    val result = dataFrame.map { row =>
+      val id = row.getAs[Int](idCol)
+      val vector = row.getAs[Seq[Float]](featuresCol)
+      (Seq(id) ++ vector).mkString(" ")
+    }
+
+    result.write.mode(SaveMode.Overwrite).csv(outputPath)
+  }
+
+  def copyToLocal(configuration: Configuration,
+                  remoteInputPath: String,
+                  localOutputPath: String,
+                  merge: Boolean = true): Unit  = {
+    val fs = FileSystem.get(configuration)
+    val localFs = FileSystem.getLocal(configuration)
+    localFs.deleteOnExit(new Path(localOutputPath))
+
+    if (merge)
+      FileUtil.copyMerge(fs, new Path(remoteInputPath), localFs, new Path(localOutputPath), false, configuration, "")
+    else
+      fs.copyToLocalFile(new Path(remoteInputPath), new Path(localOutputPath))
+  }
+}
+class ALSAnnoyBuildProcess(conf: TaskConf) extends org.apache.s2graph.s2jobs.task.Process(conf) {
+  override def execute(ss: SparkSession, inputMap: Map[String, DataFrame]): DataFrame = ???
+
+  override def mandatoryOptions: Set[String] = Set("outputPath")
+
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-s2graph/blob/6f9d8527/s2jobs/src/test/scala/org/apache/s2graph/s2jobs/task/custom/process/ALSAnnoyBuildProcessTest.scala
----------------------------------------------------------------------
diff --git a/s2jobs/src/test/scala/org/apache/s2graph/s2jobs/task/custom/process/ALSAnnoyBuildProcessTest.scala b/s2jobs/src/test/scala/org/apache/s2graph/s2jobs/task/custom/process/ALSAnnoyBuildProcessTest.scala
new file mode 100644
index 0000000..6279e82
--- /dev/null
+++ b/s2jobs/src/test/scala/org/apache/s2graph/s2jobs/task/custom/process/ALSAnnoyBuildProcessTest.scala
@@ -0,0 +1,104 @@
+package org.apache.s2graph.s2jobs.task.custom.process
+
+import java.io.File
+
+import com.holdenkarau.spark.testing.DataFrameSuiteBase
+import com.typesafe.config.ConfigFactory
+import org.apache.commons.io.FileUtils
+import org.apache.s2graph.core.Integrate.IntegrateCommon
+import org.apache.s2graph.core.Management.JsonModel.{Index, Prop}
+import org.apache.s2graph.core.{Query, QueryParam}
+import org.apache.s2graph.core.model.{AnnoyModelFetcher, HDFSImporter, ModelManager}
+import org.apache.s2graph.core.schema.Label
+import org.apache.s2graph.s2jobs.task.TaskConf
+
+import scala.concurrent.{Await, ExecutionContext}
+import scala.concurrent.duration.Duration
+import scala.io.Source
+
+class ALSAnnoyBuildProcessTest extends IntegrateCommon with DataFrameSuiteBase {
+  import scala.collection.JavaConverters._
+
+  // this test require adding movie lens rating data(u.data, movie.txt) under resources
+  // so ignore for now until figure out how to automate download dataset.
+  ignore("RUN ALS on movie lens rating data and build annoy index on itemFeatures, finally query.") {
+    import spark.sqlContext.implicits._
+    val ratingPath = this.getClass.getResource("/u.data").toURI.getPath
+
+    val ratings = Source.fromFile(new File(ratingPath)).getLines().toSeq.map { line =>
+      val tokens = line.split("\t")
+      (tokens(0).toInt, tokens(1).toInt, tokens(2).toFloat)
+    }.toDF("userId", "movieId", "rating")
+
+    val outputPath = "/tmp"
+    val localInputPath = "/tmp/annoy_input"
+    val localIndexPath = "/tmp/annoy_result"
+
+    val taskOptions = Map(
+      "outputPath" -> outputPath,
+      "localInputPath" -> localInputPath,
+      "localIndexPath" -> localIndexPath
+    )
+
+    val conf = TaskConf("test", "test", Nil, taskOptions)
+    ALSAnnoyBuildProcess.buildAnnoyIndex(spark, conf, ratings)
+
+    val labelName = "annoy_model_fetcher_test"
+
+    val remoteIndexFilePath = s"${localIndexPath}/annoy-index"
+    val remoteDictFilePath = this.getClass.getResource(s"/movie.dict").toURI.getPath
+
+    val service = management.createService("s2graph", "localhost", "s2graph_htable", -1, None).get
+    val serviceColumn =
+      management.createServiceColumn("s2graph", "user", "string", Seq(Prop("age", "0", "int", true)))
+
+    val options = s"""{
+                     | "importer": {
+                     |   "${ModelManager.ImporterClassNameKey}": "org.apache.s2graph.core.model.IdentityImporter"
+                     | },
+                     | "fetcher": {
+                     |   "${ModelManager.FetcherClassNameKey}": "org.apache.s2graph.core.model.AnnoyModelFetcher",
+                     |   "${AnnoyModelFetcher.IndexFilePathKey}": "${remoteIndexFilePath}",
+                     |   "${AnnoyModelFetcher.DictFilePathKey}": "${remoteDictFilePath}",
+                     |   "${AnnoyModelFetcher.DimensionKey}": 10
+                     | }
+                     |}""".stripMargin
+
+    Label.findByName(labelName, useCache = false).foreach { label => Label.delete(label.id.get) }
+
+    val label = management.createLabel(
+      labelName,
+      serviceColumn,
+      serviceColumn,
+      true,
+      service.serviceName,
+      Seq.empty[Index].asJava,
+      Seq.empty[Prop].asJava,
+      "strong",
+      null,
+      -1,
+      "v3",
+      "gz",
+      options
+    )
+    val config = ConfigFactory.parseString(options)
+    val importerFuture = graph.modelManager.importModel(label, config)(ExecutionContext.Implicits.global)
+    Await.result(importerFuture, Duration("3 minutes"))
+
+    Thread.sleep(10000)
+
+    val vertex = graph.elementBuilder.toVertex(service.serviceName, serviceColumn.columnName, "Toy Story (1995)")
+    val queryParam = QueryParam(labelName = labelName, limit = 5)
+
+    val query = Query.toQuery(srcVertices = Seq(vertex), queryParams = Seq(queryParam))
+    val stepResult = Await.result(graph.getEdges(query), Duration("60 seconds"))
+
+    stepResult.edgeWithScores.foreach { es =>
+      println(es.edge.tgtVertex.innerIdVal)
+    }
+
+    // clean up temp directory.
+    FileUtils.deleteDirectory(new File(outputPath))
+  }
+
+}