Commit e063e40f authored by Alexandre Delanoë's avatar Alexandre Delanoë

[FIX] Isidore parser.

parent de0ba2f6
...@@ -43,16 +43,16 @@ selectQueryRaw' uri q = getWith opts uri ...@@ -43,16 +43,16 @@ selectQueryRaw' uri q = getWith opts uri
& header "User-Agent" .~ ["gargantext-hsparql-client"] & header "User-Agent" .~ ["gargantext-hsparql-client"]
& param "query" .~ [Data.Text.pack q] & param "query" .~ [Data.Text.pack q]
isidoreGet :: Lang -> Text -> IO (Maybe [HyperdataDocument]) isidoreGet :: Lang -> Int -> Text -> IO (Maybe [HyperdataDocument])
isidoreGet l q = do isidoreGet la li q = do
bindingValues <- isidoreGet' q bindingValues <- isidoreGet' li q
case bindingValues of case bindingValues of
Nothing -> pure Nothing Nothing -> pure Nothing
Just dv -> pure $ Just $ map (bind2doc l) dv Just dv -> pure $ Just $ map (bind2doc la) dv
isidoreGet' :: Text -> IO (Maybe [[BindingValue]]) isidoreGet' :: Int -> Text -> IO (Maybe [[BindingValue]])
isidoreGet' q = do isidoreGet' l q = do
let s = createSelectQuery $ isidoreSelect q let s = createSelectQuery $ isidoreSelect l q
putStrLn s putStrLn s
r <- selectQueryRaw' route s r <- selectQueryRaw' route s
putStrLn $ show $ r ^. responseStatus putStrLn $ show $ r ^. responseStatus
...@@ -60,11 +60,11 @@ isidoreGet' q = do ...@@ -60,11 +60,11 @@ isidoreGet' q = do
-- res <- selectQuery route $ simpleSelect q -- res <- selectQuery route $ simpleSelect q
-- pure res -- pure res
isidoreSelect :: Text -> Query SelectQuery isidoreSelect :: Int -> Text -> Query SelectQuery
isidoreSelect q = do isidoreSelect lim q = do
-- See Predefined Namespace Prefixes: -- See Predefined Namespace Prefixes:
-- https://isidore.science/sparql?nsdecl -- https://isidore.science/sparql?nsdecl
isidore <- prefix "isidore" (iriRef "http://www.rechercheisidore.fr/class/") isidore <- prefix "isidore" (iriRef "http://isidore.science/class/")
rdf <- prefix "rdf" (iriRef "http://www.w3.org/1999/02/22-rdf-syntax-ns#") rdf <- prefix "rdf" (iriRef "http://www.w3.org/1999/02/22-rdf-syntax-ns#")
dcterms <- prefix "dcterms" (iriRef "http://purl.org/dc/terms/") dcterms <- prefix "dcterms" (iriRef "http://purl.org/dc/terms/")
dc <- prefix "dc" (iriRef "http://purl.org/dc/elements/1.1/") dc <- prefix "dc" (iriRef "http://purl.org/dc/elements/1.1/")
...@@ -83,7 +83,7 @@ isidoreSelect q = do ...@@ -83,7 +83,7 @@ isidoreSelect q = do
--langFr <- var --langFr <- var
--agg <- var --agg <- var
triple_ link (rdf .:. "type") (isidore .:. "BibliographicalResource") triple_ link (rdf .:. "type") (isidore .:. "Document")
triple_ link (dcterms .:. "title") title triple_ link (dcterms .:. "title") title
triple_ link (dcterms .:. "date") date triple_ link (dcterms .:. "date") date
triple_ link (dcterms .:. "creator") authors triple_ link (dcterms .:. "creator") authors
...@@ -105,7 +105,7 @@ isidoreSelect q = do ...@@ -105,7 +105,7 @@ isidoreSelect q = do
--filterExpr $ (.==.) lang (str ("http://lexvo.org/id/iso639-3/fra" :: Text)) --filterExpr $ (.==.) lang (str ("http://lexvo.org/id/iso639-3/fra" :: Text))
orderNextDesc date orderNextDesc date
limit_ 10 limit_ lim
distinct_ distinct_
selectVars [link, date, langDoc, authors, source, publisher, title, abstract] selectVars [link, date, langDoc, authors, source, publisher, title, abstract]
......
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