Commit 83f88386 authored by Alexandre Delanoë's avatar Alexandre Delanoë

[Text][Parsers][Isidore] acceptable query for next step (typing the result).

parent 791fe54c
Pipeline #81 failed with stage
...@@ -28,7 +28,7 @@ selectQueryRaw' uri q = getWith opts uri ...@@ -28,7 +28,7 @@ selectQueryRaw' uri q = getWith opts uri
isidoreGet :: Text -> IO (Maybe [[BindingValue]]) isidoreGet :: Text -> IO (Maybe [[BindingValue]])
isidoreGet q = do isidoreGet q = do
let s = createSelectQuery $ simpleSelect q let s = createSelectQuery $ isidoreSelect q
putStrLn s putStrLn s
r <- selectQueryRaw' route s r <- selectQueryRaw' route s
putStrLn $ show $ r ^. responseStatus putStrLn $ show $ r ^. responseStatus
...@@ -36,15 +36,15 @@ isidoreGet q = do ...@@ -36,15 +36,15 @@ isidoreGet q = do
-- res <- selectQuery route $ simpleSelect q -- res <- selectQuery route $ simpleSelect q
-- pure res -- pure res
simpleSelect :: Text -> Query SelectQuery isidoreSelect :: Text -> Query SelectQuery
simpleSelect q = do isidoreSelect 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://www.rechercheisidore.fr/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/")
langFr <- prefix "langFr" (iriRef "http://lexvo.org/id/iso639-3/fra") --iso <- prefix "fra" (iriRef "http://lexvo.org/id/iso639-3/")
--ore <- prefix "ore" (iriRef "http://www.openarchives.org/ore/terms/") --ore <- prefix "ore" (iriRef "http://www.openarchives.org/ore/terms/")
--bif <- prefix "bif" (iriRef "bif:") --bif <- prefix "bif" (iriRef "bif:")
...@@ -54,28 +54,33 @@ simpleSelect q = do ...@@ -54,28 +54,33 @@ simpleSelect q = do
abstract <- var abstract <- var
authors <- var authors <- var
source <- var source <- var
lang <- var langDoc <- var
publisher <- var publisher <- var
langFr <- var --langFr <- var
--agg <- var --agg <- var
triple_ link (rdf .:. "type") (isidore .:. "BibliographicalResource") triple_ link (rdf .:. "type") (isidore .:. "BibliographicalResource")
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
triple_ link (dcterms .:. "language") lang triple_ link (dcterms .:. "language") langDoc
triple_ link (dc .:. "description") abstract
--triple_ link (ore .:. "isAggregatedBy") agg --triple_ link (ore .:. "isAggregatedBy") agg
--triple_ agg (dcterms .:. "title") title --triple_ agg (dcterms .:. "title") title
optional $ triple_ link (dcterms .:. "source") source optional_ $ triple_ link (dcterms .:. "source") source
optional $ triple_ link (dcterms .:. "publisher") publisher optional_ $ triple_ link (dcterms .:. "publisher") publisher
optional $ triple_ link (dc .:. "description") abstract
-- TODO FIX BUG with (.||.) operator
--filterExpr $ (.||.) (contains title q) (contains title q) --filterExpr $ (.||.) (contains title q) (contains title q)
filterExpr (containsWith title q) -- (contains abstract q) filterExpr_ (containsWith title q) -- (contains abstract q)
--filterExpr (containsWith abstract q) -- (contains abstract q)
-- TODO FIX filter with lang
--filterExpr $ langMatches title (str ("fra" :: Text)) --filterExpr $ langMatches title (str ("fra" :: Text))
--orderNextDesc date --filterExpr $ (.==.) lang (str ("http://lexvo.org/id/iso639-3/fra" :: Text))
orderNextDesc date
limit_ 10 limit_ 10
distinct_ distinct_
selectVars [link, date, lang, title] selectVars [link, date, langDoc, authors, source, publisher, title, abstract]
--selectVars [link, date, authors, source, title, lang, publisher, 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