Commit 6a45919d authored by Alexandre Delanoë's avatar Alexandre Delanoë

[FACTO|FLOW] HyperdataDocument.

parent be59e592
...@@ -76,13 +76,17 @@ type FlowCmdM env err m = ...@@ -76,13 +76,17 @@ type FlowCmdM env err m =
, HasRepoVar env , HasRepoVar env
) )
flowCorpus :: FlowCmdM env ServantErr m flowCorpus :: FlowCmdM env ServantErr m
=> Username -> CorpusName -> TermType Lang -> FileFormat -> FilePath -> m CorpusId => Username -> CorpusName -> TermType Lang -> FileFormat -> FilePath -> m CorpusId
flowCorpus u cn la ff fp = do flowCorpus u cn la ff fp = liftIO (parseDocs ff fp) >>= \docs -> flowCorpus' u cn la docs
ids <- flowCorpusMaster la ff fp
flowCorpus' :: FlowCmdM env ServantErr m
=> Username -> CorpusName -> TermType Lang -> [HyperdataDocument] -> m CorpusId
flowCorpus' u cn la docs = do
ids <- flowCorpusMaster la docs
flowCorpusUser u cn ids flowCorpusUser u cn ids
-- TODO query with complex query -- TODO query with complex query
flowCorpusSearchInDatabase :: FlowCmdM env ServantErr m flowCorpusSearchInDatabase :: FlowCmdM env ServantErr m
=> Username -> Text -> m CorpusId => Username -> Text -> m CorpusId
...@@ -92,13 +96,10 @@ flowCorpusSearchInDatabase u q = do ...@@ -92,13 +96,10 @@ flowCorpusSearchInDatabase u q = do
flowCorpusUser u q [ids] flowCorpusUser u q [ids]
flowCorpusMaster :: FlowCmdM env ServantErr m => TermType Lang -> FileFormat -> FilePath -> m [[NodeId]] flowCorpusMaster :: FlowCmdM env ServantErr m => TermType Lang -> [HyperdataDocument] -> m [[NodeId]]
flowCorpusMaster la ff fp = do flowCorpusMaster la hd = do
-- Master Flow -- Master Flow
docs <- map addUniqIdsDoc <$> liftIO (parseDocs ff fp) let docs = map addUniqIdsDoc hd
-- ChunkAlong needed for big corpora
-- TODO add LANG as parameter
-- TODO uniformize language of corpus -- TODO uniformize language of corpus
ids <- mapM (insertMasterDocs la) $ splitEvery 10000 docs ids <- mapM (insertMasterDocs la) $ splitEvery 10000 docs
pure ids pure ids
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment