From fc16f5e81fec2b0e43d569fade5b373d74cfea19 Mon Sep 17 00:00:00 2001 From: "ramona.enache" Date: Wed, 20 Jun 2012 14:33:55 +0000 Subject: [PATCH] added first draft of patents query grammar --- .../query/small/patentsQuery/LexPatsQuery.gf | 86 ++ .../query/small/patentsQuery/LexPatsQuery.gfo | Bin 0 -> 1209 bytes .../small/patentsQuery/LexPatsQueryEng.gf | 68 ++ .../small/patentsQuery/LexPatsQueryEng.gfo | Bin 0 -> 25061 bytes .../small/patentsQuery/LexPatsQueryFre.gf | 81 ++ examples/query/small/patentsQuery/QueryI.gf | 104 ++ examples/query/small/patentsQuery/QueryPat.gf | 180 +++ .../query/small/patentsQuery/QueryPat.gfo | Bin 0 -> 3287 bytes .../query/small/patentsQuery/QueryPatEng.gf | 254 ++++ .../query/small/patentsQuery/QueryPatEng.gfo | Bin 0 -> 32881 bytes .../query/small/patentsQuery/QueryPatEng2.gf | 69 ++ .../query/small/patentsQuery/QueryPatI.gfo | Bin 0 -> 3298 bytes .../query/small/patentsQuery/ResultsFre.txt | 1057 +++++++++++++++++ 13 files changed, 1899 insertions(+) create mode 100644 examples/query/small/patentsQuery/LexPatsQuery.gf create mode 100644 examples/query/small/patentsQuery/LexPatsQuery.gfo create mode 100644 examples/query/small/patentsQuery/LexPatsQueryEng.gf create mode 100644 examples/query/small/patentsQuery/LexPatsQueryEng.gfo create mode 100644 examples/query/small/patentsQuery/LexPatsQueryFre.gf create mode 100644 examples/query/small/patentsQuery/QueryI.gf create mode 100644 examples/query/small/patentsQuery/QueryPat.gf create mode 100644 examples/query/small/patentsQuery/QueryPat.gfo create mode 100644 examples/query/small/patentsQuery/QueryPatEng.gf create mode 100644 examples/query/small/patentsQuery/QueryPatEng.gfo create mode 100644 examples/query/small/patentsQuery/QueryPatEng2.gf create mode 100644 examples/query/small/patentsQuery/QueryPatI.gfo create mode 100644 examples/query/small/patentsQuery/ResultsFre.txt diff --git a/examples/query/small/patentsQuery/LexPatsQuery.gf b/examples/query/small/patentsQuery/LexPatsQuery.gf new file mode 100644 index 000000000..005fde8be --- /dev/null +++ b/examples/query/small/patentsQuery/LexPatsQuery.gf @@ -0,0 +1,86 @@ +interface LexPatsQuery = Query ** open Syntax in { + +oper + giveMe : NP -> VP ; + get_V2 : V2 ; + want_V2 : V2 ; + +-- structural words + + about_Prep : Prep ; + + all_NP : NP ; + +-- basic common nouns + + active_ingredient_CN : Relation ; + + dosage_form_CN : Relation ; + + route_of_administration_CN : Relation ; + + patent_number_CN : Kind ; + + patent_number_Rel : Relation ; + + patent_N : Relation ; + + expiration_date_CN : Relation ; + + expire_V : V ; + + use_code_CN : Relation ; + + application_number_CN : Relation ; + + apply_V : V ; + + applicant_CN : Relation ; + + approval_date_CN : Relation ; + + chemical_composition_CN : Relation ; + + chemical_substance_CN : Relation ; + + drug_N : N ; + + use_N : Relation ; + + compound_CN : Relation ; + + use_V2 : V2 ; + + approve_V2 : V2 ; + + method_N : N ; + + usage_form_CN : Relation ; + + drug_preparation_CN : Relation ; + + vpAP : VP -> AP ; + + information_N : N ; + + strength_N : Relation ; + + claim_N : N ; + + mention_V2 : V2 ; + + what_IQuant : IQuant ; + + contain_V2 : V2 ; + + massInfoSg : CN -> NP ; + + massInfoPl : CN -> NP ; + + that_RP : RP ; + + PatsAdvVPSlash : VPSlash -> Adv -> VPSlash ; + + selectIP : NP -> IP ; -- selecting the right agreement : what are the ingredients ? / what is the expiration date ? (not obvious in English, but will make a difference in other languages) + +} diff --git a/examples/query/small/patentsQuery/LexPatsQuery.gfo b/examples/query/small/patentsQuery/LexPatsQuery.gfo new file mode 100644 index 0000000000000000000000000000000000000000..95cf7d0520bc1f07fdf5044f618048d27675d147 GIT binary patch literal 1209 zcmZ>FGce-uNv#M-EGZ5wO)aWqVPIrS&QHnAOJ~bTEXm9>WMl=4GcYhRumxAgQIvyXm{T>8DmC<`(3n7V8&+jMFd9P0Y#BFGws& z&4b#Yk8GV@dK!ZUAINscl(MjZ;GD$b3>HSlpdcOw#&`yHs0f(D?3hvp7h&K^Ov*1U zi4Q1BEns0}3G+ zsxm%|g^^K3g@G}QK_Ic9peVmAF(*DHu_P6uLqh{e2Ny&^YJ8Xx3nQbM83R+85rcSg zMrv+ma$-(=a(-?>esLz)RFkv^wjvY{Gwcl9w8wlJ!~mO zrRiYv_4GjI3xoLuMX3deMTrQf+t?uK5lXEn$b`xwf<{ILNeKs7Nh&xr<>Wx2$(Ej4 z0&y5CE7)Od>6vAzzNsvXj4UkROb7}(1}IS_0J8ym!sa**3R14|S0N>~^fJv VP = \np -> mkVP (mkV3 give_V) (SyntaxEng.mkNP i_Pron) np ; + get_V2 = mkV2 IrregEng.get_V ; + want_V2 = mkV2 (mkV "want" "wants" "wanted" "wanted" "wanting") ; + +-- structural words + about_Prep : Prep = mkPrep "about" ; + all_NP : NP = SyntaxEng.mkNP (mkPN "all") ; +-- at_Prep : Prep = mkPrep "at" ; + + + vpAP = PartVP ; + + active_ingredient_CN : Relation = makeRelation (mkCN (mkA "active") (mkN "ingredient")) ; + dosage_form_CN : Relation = makeRelation (mkCN (mkN "dosage" (mkN "form"))) ; + route_of_administration_CN : Relation = makeRelation (mkCN (mkN "route") (SyntaxEng.mkAdv (mkPrep "of") (SyntaxEng.mkNP (mkN "administration")))) ; + patent_number_CN : Kind = lin Kind (mkCN (mkN "patent" (mkN "number"))) ; + patent_number_Rel : Relation = makeRelation (mkCN (mkN "patent" (mkN "number"))) ; + patent_N : Relation = lin Relation {cn = mkCN (mkN "patent") ; prep = for_Prep } ; + expiration_date_CN : Relation = makeRelation (mkCN (mkN "expiration" (mkN "date"))) ; + expire_V : V = mkV "expire" ; + use_code_CN : Relation = makeRelation (SyntaxEng.mkCN (mkN "use" (mkN "code"))) ; + application_number_CN : Relation = makeRelation ((mkCN (mkN "application" (mkN "number"))) | (mkCN (mkN ["patent application"] (mkN "number")))) ; + apply_V : V = mkV "apply" "applies" "applied" "applied" "applying" ; + applicant_CN : Relation = lin Relation {cn = mkCN (mkN "applicant") ; prep = for_Prep } ; + approval_date_CN : Relation = makeRelation (mkCN (mkN "approval" (mkN "date"))) ; + chemical_composition_CN : Relation = makeRelation (mkCN (mkA "chemical") (mkN "composition")) ; + chemical_substance_CN : Relation = makeRelation (mkCN (mkA "chemical") (mkN "substance")) ; + drug_N : N = mkN "drug" ; + use_N : Relation = makeRelation (mkCN (mkN "use")) ; + compound_CN : Relation = makeRelation (mkCN (mkN "compound")) ; + --name_N : N = mkN "name" ; + method_N : N = mkN "method" ; + strength_N : Relation = makeRelation (mkCN (mkN "strength")) ; + drug_preparation_CN : Relation = makeRelation (mkCN (mkN "drug" (mkN "preparation"))) ; + claim_N : N = mkN "claim" ; + mention_V2 : V2 = mkV2 (mkV "mention" "mentions" "mentioned" "mentioned" "mentioning") ; + use_V2 : V2 = mkV2 (mkV "use" "uses" "used" "used" "using") ; + approve_V2 : V2 = mkV2 (mkV "approve" "approves" "approved" "approved" "approving") ; + contain_V2 : V2 = mkV2 (mkV "contain" "contains" "contained" "contained" "containing") ; + usage_form_CN : Relation = makeRelation (mkCN (mkN "usage" (mkN "form"))) ; + + information_N : N = mkN "information" ; + + what_IQuant : IQuant = M.mkIQuant "what" "what" ; + + massInfoSg : CN -> NP = \cn -> SyntaxEng.mkNP cn ; + + massInfoPl : CN -> NP = \cn -> SyntaxEng.mkNP aPl_Det cn ; + + that_RP : RP = ExtraEng.that_RP ; + + PatsAdvVPSlash = Lang.AdvVPSlash ; + + selectIP np = case np.a of + {AgP3Sg _ => whatSg_IP ; + _ => whatPl_IP + }; + +oper makeRelation : CN -> Relation = + \s -> lin Relation {cn = s ; prep = possess_Prep} ; + + +} diff --git a/examples/query/small/patentsQuery/LexPatsQueryEng.gfo b/examples/query/small/patentsQuery/LexPatsQueryEng.gfo new file mode 100644 index 0000000000000000000000000000000000000000..40ce22fd41d004a9ec3442ad373b53d60bc53af4 GIT binary patch literal 25061 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 YJ5WZh!KyJv#UN+qreFP0I;x?Z~y=R literal 0 HcmV?d00001 diff --git a/examples/query/small/patentsQuery/LexPatsQueryFre.gf b/examples/query/small/patentsQuery/LexPatsQueryFre.gf new file mode 100644 index 000000000..dd87e21e2 --- /dev/null +++ b/examples/query/small/patentsQuery/LexPatsQueryFre.gf @@ -0,0 +1,81 @@ +instance LexPatsQueryFre of LexPatsQuery = + open SyntaxFre, ParadigmsFre, ExtraFre, IrregFre, StructuralFre, DiffFre, (CR=CommonRomance), ParamX, Prelude in { + +flags + coding = utf8 ; + +oper + + giveMe : NP -> VP = \np -> mkVP (mkV2 (mkV "montrer")) np ; + get_V2 = IrregFre.obtenir_V2 ; + want_V2 =IrregFre.vouloir_V2 ; + +-- structural words + about_Prep : Prep = mkPreposition ["à propos de"] ; + all_NP : NP = mkNP (mkPN "tout") ; + + + + vpAP vp = variants {} ; + + + active_ingredient_CN : CN = mkCN (mkA "actif") (mkN "ingrédient") ; + dosage_form_CN : CN = mkCN (mkA "posologique") (mkN "forme") ; + route_of_administration_CN : CN = mkCN (mkCN (mkN "voie")) (SyntaxFre.mkAdv possess_Prep (mkNP (mkN "administration"))) ; + patent_number_CN : CN = mkCN (mkCN (mkN "numéro")) (SyntaxFre.mkAdv possess_Prep (mkNP (mkN "brevet"))) ; + patent_N : N = mkN "brevet" ; + expiration_date_CN : CN = mkCN (mkCN (mkN "date")) (SyntaxFre.mkAdv possess_Prep (mkNP (mkN "expiration"))); + expire_V : V = regV "expirer" ; + use_code_CN : CN = mkCN (mkCN (mkN "code")) (SyntaxFre.mkAdv possess_Prep (mkNP (mkN "utilisation"))) ; + application_number_CN : CN = mkCN (mkCN (mkN "numéro")) (SyntaxFre.mkAdv possess_Prep (mkNP (mkN "demande"))) ; + apply_V : V = regV "appliquer" ; + applicant_CN : CN = mkCN (mkN "demandeur") ; + approval_date_CN : CN = mkCN (mkCN (mkN "date")) (SyntaxFre.mkAdv possess_Prep (mkNP (mkN "approbation"))) ; + chemical_composition_CN : CN = mkCN (mkA "chemique") (mkN "composition") ; + chemical_substance_CN : CN = mkCN (mkA "chimique") (mkN "substance") ; + drug_N : N = mkN "médicament" ; + use_N : N = mkN "utilisation" ; + compound_CN : CN = mkCN (mkN "composé") ; + method_N : N = mkN "méthode" ; + strength_N : N = mkN "dosage" ; + drug_preparation_CN : CN = mkCN (mkN "préparation") ; + claim_N : N = mkN "revendication" ; + mention_V2 : V2 = dirV2 (regV "mentionner") ; + use_V2 : V2 = dirV2 (regV "utiliser") ; + approve_V2 : V2 = dirV2 (regV "approuver") ; + contain_V2 : V2 = IrregFre.contenir_V2 ; + usage_form_CN : CN = mkCN (mkCN (mkN "formulaire")) (SyntaxFre.mkAdv possess_Prep (mkNP (mkN "utilisation"))); + + information_N : N = mkN "information" ; + + + what_IQuant : IQuant = which_IQuant ; + + massInfoSg : CN -> NP = \cn -> + let g = cn.g ; + n = Sg + in lin NP { + s = \\c => {comp,ton = cn.s ! n ; c1,c2 = []} ; + a = CR.agrP3 g n ; + hasClit = False ; + isPol = False + } ; + + massInfoPl : CN -> NP = \cn -> mkNP aPl_Det cn ; + + that_RP : RP = which_RP ; + + PatsAdvVPSlash vp adv = lin VPSlash + { + s = vp.s ; + agr = vp.agr ; + clit1 = vp.clit1 ; + clit2 = vp.clit2 ; + clit3 = vp.clit3 ; + neg = vp.neg ; + comp = \\a => vp.comp ! a ++ adv.s ; + ext = vp.ext ; + c2 = vp.c2 ; + } ; + +} diff --git a/examples/query/small/patentsQuery/QueryI.gf b/examples/query/small/patentsQuery/QueryI.gf new file mode 100644 index 000000000..8c63e7dfb --- /dev/null +++ b/examples/query/small/patentsQuery/QueryI.gf @@ -0,0 +1,104 @@ +--# -path=.:..:alltenses + +incomplete concrete QueryI of Query = open + Syntax, + Lang, + Prelude +in { + + + +lincat + Move = Utt ; ---- Text ; + Query = Utt ; + Answer = Utt ; + Set = NP ; + Relation = {cn : CN ; prep : Prep} ; + Kind = CN ; + Property = AP ; ---- {vp : VP ; typ : PropTyp} ; + Individual = NP ; + Activity = VP ; + Name = NP ; + Loc = NP ; + Org = NP ; + Pers = NP ; + [Individual] = [NP] ; + + +lin + MQuery q = q ; ---- mkText (mkPhr q) questMarkPunct ; + MAnswer a = a ; ---- mkText (mkPhr a) fullStopPunct ; + + QSet s = + let + ss : NP = s + | mkNP (mkNP thePl_Det name_N) (mkAdv possess_Prep s) + ---- s's names + in + mkUtt (mkImp (mkVP give_V3 (mkNP i_Pron) ss)) + | mkUtt (mkQS (mkQCl (L.CompIP whatSg_IP) ss)) + | mkUtt (mkQS (mkQCl (L.CompIP (L.IdetIP (mkIDet which_IQuant))) ss)) + | mkUtt ss ; + + QWhere s = mkUtt (mkQS (mkQCl where_IAdv s)) ; + QInfo s = + let + info : NP = mkNP all_Predet (mkNP (mkNP information_N) (mkAdv about_Prep s)) ; + in + mkUtt (mkImp (mkVP give_V3 (mkNP i_Pron) info)) + | mkUtt info ; + + QCalled i = mkUtt (mkQS (mkQCl how_IAdv (mkCl i (mkVP also_AdV (mkVP called_A))))) ; + + AKind s k = mkUtt (mkCl s (mkNP aPl_Det k)) ; ---- a, fun of s + AProp s p = mkUtt (mkCl s p) ; + AAct s p = mkUtt (mkCl s p) ; + + SAll k = mkNP all_Predet (mkNP aPl_Det k) | mkNP thePl_Det k ; + SOne k = mkNP n1_Numeral k ; + SIndef k = mkNP a_Det k ; + SPlural k = mkNP aPl_Det k ; + SOther k = mkNP aPl_Det (mkCN other_A k) ; + SInd i = i ; + SInds is = mkNP and_Conj is ; + + KRelSet r s = + mkCN r.cn (mkAdv r.prep s) ; + ---- | S's R + +---- KRelsSet r q s = +---- mkCN r.cn (mkAdv r.prep s) ; + + KRelKind k r s = + mkCN k (mkRS (mkRCl that_RP (mkVP (mkNP aPl_Det (mkCN r.cn (mkAdv r.prep s)))))) ; + + KRelPair k r = mkCN k (mkAdv with_Prep (mkNP (mkQuant they_Pron) plNum r.cn)) ; + KProp p k = + mkCN p k + | mkCN k (mkRS (mkRCl that_RP (mkVP p))) ; + KAct p k = + mkCN k (mkRS (mkRCl that_RP p)) ; + KRel r = r.cn ; + +oper +-- structural words + about_Prep = mkPrep "about" ; + all_NP = mkNP (mkPN "all") ; --- + also_AdV = mkAdV "also" | mkAdV "otherwise" ; + as_Prep = mkPrep "as" ; + at_Prep = mkPrep "at" ; + called_A = mkA "called" | mkA "named" ; + give_V3 = mkV3 give_V ; + information_N = mkN "information" ; + other_A = mkA "other" ; + name_N = mkN "name" ; + +-- lexical constructors + mkName : Str -> NP = + \s -> mkNP (mkPN s) ; + +oper + mkRelation : Str -> {cn : CN ; prep : Prep} = + \s -> {cn = mkCN (mkN s) ; prep = possess_Prep} ; + +} diff --git a/examples/query/small/patentsQuery/QueryPat.gf b/examples/query/small/patentsQuery/QueryPat.gf new file mode 100644 index 000000000..b24840b1f --- /dev/null +++ b/examples/query/small/patentsQuery/QueryPat.gf @@ -0,0 +1,180 @@ +--# -path=.:..:alltenses +abstract QueryPat = Query ** { + + +------------------------------------------------------------------------------------- +-- additions to the general Query grammar + +fun + + SThe : Kind -> Set ; -- the route of administration + + SMassSg : Kind -> Set ; -- route of administration + + QWho : Activity -> Query ; -- who applied for the patent ? + +-- QWhen : Set -> Activity -> Query ; -- when was the patent approved ? + + QMass : Set -> Query ; -- expiration date of the patent + + +------------------------------------------------------------------------------------- +-- main functions for the Patents Query grammar + +fun + + PQInfo : Drug -> Query ; -- what information do you have about DRUG | give me all information about DRUG ... + + PQActive : Drug -> Query ; -- what active ingredients are in DRUG + + PQDosage : Drug -> Query ; -- what are the dosage forms of DRUG + + PQRoute : Drug -> Query ; -- what is the route of administration of DRUG + + PQPatentNo : Query ; -- give me all the patent numbers + + PQPatentDrug : Drug -> Query ; -- give me the patent number of DRUG + + PQPatentPat : Patent -> Query ; -- give me the patent number for PATENT + + PQExpPat : Patent -> Query ; -- when does PATENT expire + + PQExpDrug : Drug -> Query ; -- when does the patent for DRUG expire + + PQUseCode : Patent -> Query ; -- what is the use code of PATENT + + PQAppNumber : Patent -> Query ; -- what is the application number for PATENT + + PQApplicant : Patent -> Query ; -- who applied for PATENT + + PQAppDayDrug : Drug -> Query ; -- what is the approval date of the patent for DRUG + + PQAppDayPat : Patent -> Query ; -- what is the approval date of PATENT + + PQAppDayPatApp : Patent -> Applicant -> Query ; -- what is the approval date of PATENT with APPLICANT + + PQAppDayNo : ApplicationNumber -> Query ; -- what is the approval date for the patent with APPLICATION_NUMBER + + PQChemComp : Drug -> Query ; -- what is the chemical composition of DRUG + + PQCompounds : Query ; -- what are the drugs that are compounds + + PQPrep : Query ; -- what drug preparations are there + + PQDrugPrep : Drug -> Query ; -- the drug preparation for DRUG + + PQPrepDate : Drug -> PatsDate -> Query ; -- the drug preparation for DRUG with a patent that expires after DATE + + PQName : Drug -> Query ; -- the name of DRUG + + PQNameDate : Drug -> PatsDate -> Query ; -- the name of DRUG with approval date DATE + + PQNameApp : Drug -> Applicant -> Query ; -- the name of DRUG with a patent from applicant APPLICANT + + PQMethods : Patent -> Query ; -- what methods are used for PATENT + + PQDateMeth : PatsDate -> Query ; -- what methods are used in patents with approval date before DATE + + PQMethNo : PatentNumber -> Query ; -- what methods are used in the patent with patent number PATENT_NUMBER + + PQUse : Patent -> Query ; -- what is the use of PATENT + + PQUseDate : Patent -> PatsDate -> Query ; -- what is the use of PATENT approved before DATE + + PQUseExp : Patent -> PatsDate -> Query ; -- what is the use of PATENT that expires on DATE + + PQDateUse : PatsDate -> Query ; -- give me all patents approved on DATE + + PQUseDrug : Drug -> Query ; -- what is the use of DRUG + + PQUseChem : ChemicalSubstance -> Query ; -- what is the use of drugs that contain CHEMICAL_SUBSTANCE + + PQUseForm : DrugUsageForm -> Query ; -- what is the use of drugs with usage form DRUG_USAGE_FORM + + PQStrength : Drug -> Query ; -- what is the strength of DRUG + + PQStrengthChem : ChemicalSubstance -> Query ; -- what is the strenght of drugs that contain CHEMICAL_SUBSTANCE + + PQClaims : Drug -> Query ; -- what are the claims that mention DRUG + +------------------------------------------------------------------------------------ +-- basic sets for the patent queries + + + -- PQInfoSet : + + + +------------------------------------------------------------------------------------- +-- categories and example functions for the Patent Query grammar + +cat + Drug ; + Patent ; + ChemicalSubstance ; + DrugUsageForm ; + PatentNumber ; + Applicant ; + ApplicationNumber ; + PatsDate ; + +-------------------------------------------------------------------------------- +-- simple coercions + +fun DrugToSet : Drug -> Set ; +fun PatentToSet : Patent -> Set ; +fun ChemToSet : ChemicalSubstance -> Set ; +fun UsageToSet : DrugUsageForm -> Set ; +fun PatNumToSet : PatentNumber -> Set ; +fun AppToSet : Applicant -> Set ; +fun AppNumToSet : ApplicationNumber -> Set ; +--fun DateToSet : PatsDate -> Set ; + + +fun +--------------------- + Aspirin : Drug ; +--------------------- +-- put all other drug names here ! + + +--------------------- + Pats1230 : Patent ; +--------------------- +-- put all other patent names here ! + + +--------------------- + Hydrogen : ChemicalSubstance ; +--------------------- +-- put all chemical substances here ! + +-------------------- + Inhalation : DrugUsageForm ; +-------------------- +-- put all drug usage forms here ! + +------------------- + P123 : PatentNumber ; +------------------- +-- put all patent numbers here ! + +------------------- + JohnDoe : Applicant ; +------------------- +-- put all applicants here ! + +------------------- + A123 : ApplicationNumber ; +------------------ +-- put all application numbers here + +------------------- + Today : PatsDate ; +------------------- +-- put all dates here (maybe use Date grammar instead) + + + + +} diff --git a/examples/query/small/patentsQuery/QueryPat.gfo b/examples/query/small/patentsQuery/QueryPat.gfo new file mode 100644 index 0000000000000000000000000000000000000000..791f96fb0eee9fa3d01d7c16ceda98a8182ec32b GIT binary patch literal 3287 zcmZ>FGce)^EKMz{3`i_tU|?iR&QHnAOJ~bTEXm9>WMlgQIvyXm{T>8DmC<`(3n7V8&+OwupTP0Y#BFGws&%_}Jeo1hOS0}@O0 z($g3mSR4(Fj2RgjS1_(%lz`hV=vYvYlbM`Yl9`|9SDKrYTExJ}z{tq$SWw_snj4ZI zoLa)j$k@c##K^`e%1jO0Q!Ko!+BRCuj3Sjyh85_~`b3*OSD?!(XkYQkCEG=cg z=0e7@G6r_X;)2Yg%sfU$#ty~~BrmbJ6qTlfoxtgwkqY-iT^*VaK$4lsi8;ZgNyR0J zdC95hE)m2~!NAB^RKx(afU%%}ffHmG%$GGas5XGrp&QBz(h*vmn4apEUzE$h$XHy= zz~NDuQk0*b3i8Vo#wkdC!R7=8Mn*2ryo^LpYRLy_naMa4Nej9K42+EIUile$F8Qg9 zjEsvJ7bB@f4r>NRMwS3b5}C(14@nVE060w{r4EjOK*!{g%rcOHGBUV54M`E;sNe|* zbSx-vNvs5UpOKN#$cQLyTrh2Z`HYN=78a_4hM5qM2ujH&Ca6ZRK|F`4 zj}J+oV?hBUBcquaR;{Rlh!Djz65gl0s#px7?K2R>r19`!~fJl8@0fC?t z?3|wqa=w)nsy5`*i4M}D8bgagX)P>_Xnh<3fiC%=T*k=AC?|)i4TsM` zZY(NI4=73n1($;ZQJOdd0$nQ#pov;bizq!DU_FrZsG)(X1!p2)3kdYgO9SNsDJfJf zIK0CV5C{rxaK`cTL)C(krLhJ&NNYYgI=#G5_2P4(Ut%sOo?Ki|wcv0eXFwoG10;8O zcwo_kDugd@aY4)iB_c*fMmIN9onQx`3gJm}JOP1_QUMyRDk`X2!KPt`8W&6(ILMWh zFja8FR6ychO%2std?5=>m3DTRrh@D(N-cnT-N^~nP_ScBh46TtJs>bBzqAAti3$p+ zy1)iuwLQ3`C^at~oU`NNh|nyAsro50|;0Pji8_)th!JI@k9~C3DBe&5rL`?M8W`ou=ZGOEvn<7+M%w3n+o=;p^>oxBO_xUV;@q>2dV+wfB~xl zMIi$tV|h6PYoKppF{ri^5&~NSsX;+zLXC$AfVHv&hG&2ZZazLFr5xZERAxyfrh4{Z zklDfMjEsytJV;ttyfgDspvpluK@1NL$p9rrE-peUSwr$u5-S-Q8P_tdMe-z)$3QJh VaMKhPg7x)aL*cyztkDa13IL~$fr0=4 literal 0 HcmV?d00001 diff --git a/examples/query/small/patentsQuery/QueryPatEng.gf b/examples/query/small/patentsQuery/QueryPatEng.gf new file mode 100644 index 000000000..78489449d --- /dev/null +++ b/examples/query/small/patentsQuery/QueryPatEng.gf @@ -0,0 +1,254 @@ +--# -path=.:..:alltenses + +concrete QueryPatEng of QueryPat = QueryEng ** open + SyntaxEng, + LexPatsQueryEng, + LangEng, + ParadigmsEng +in { + + +-------------------------------------------------------- +-- additions to the original query grammar + +lin + + SThe k = SyntaxEng.mkNP the_Det k ; + + SMassSg k = SyntaxEng.mkNP k ; + + QWho a = mkUtt (mkQCl whoSg_IP a) ; + +-- QWhen : Set -> Activity -> Query ; + + QMass s = mkUtt s ; + + +--------------------------------------------------------- +-- from the patent query grammar + +lincat + Drug = NP ; + Patent = NP ; + ChemicalSubstance = NP ; + DrugUsageForm = NP ; + PatentNumber = NP ; + Applicant = NP ; + ApplicationNumber = NP ; + PatsDate = Adv ; + + +lin +PQInfo drug = QInfo (DrugToSet drug) ; + +PQActive drug = + let + ai : Kind = KRelSet active_ingredient_CN (DrugToSet drug) + in + basicPlur ai ; + + +PQDosage drug = + let + df : Kind = KRelSet dosage_form_CN (DrugToSet drug) + + in + basicBoth df ; + -- | mkUtt (ExistIP (IdetCN (IdetQuant what_IQuant NumPl) df)) ; + + +PQRoute drug = + let + df : Kind = KRelSet route_of_administration_CN (DrugToSet drug) + in + basicBoth df ; +-- | mkUtt (ExistIP (IdetCN (IdetQuant what_IQuant NumPl) df)) ; + + +PQPatentNo = + let bu : Query = basicPlur patent_number_CN + in + bu ; +-- | mkUtt (ExistIP (IdetCN (IdetQuant what_IQuant NumPl) patent_number_CN)) ; + + + +PQPatentDrug drug = + let + df : Kind = KRelSet patent_number_Rel (DrugToSet drug) + in + basicSing df ; + + + +PQPatentPat patent = + let + ai : Kind = KRelSet patent_number_Rel (PatentToSet patent) + in + basicSing ai ; + + +PQExpPat patent = + let + ai : Kind = KRelSet expiration_date_CN (PatentToSet patent) ; + bu : Query = basicSing ai + in + bu ; +-- | mkUtt (mkQCl when_IAdv (mkCl patent (mkVP expire_V))) ; + + +PQExpDrug drug = + let + ai : Kind = KRelSet expiration_date_CN (SThe (KRelSet patent_N (DrugToSet drug))) ; + bu : Query = basicSing ai + in + bu ; +-- | mkUtt (mkQCl when_IAdv (mkCl (mkNP the_Art ai) (mkVP expire_V))); + + +PQUseCode patent = + let + df : Kind = KRelSet use_code_CN (PatentToSet patent) + in + basicBoth df ; + +PQAppNumber patent = + let + df : Kind = KRelSet application_number_CN (PatentToSet patent) + in + basicSing df ; + +PQApplicant patent = + let df : Kind = KRelSet applicant_CN (PatentToSet patent) ; + bu : Query = basicSing df + in + bu ; +-- | mkUtt (mkQS (mkQCl whoSg_IP (mkVP (mkVP apply_V) (SyntaxEng.mkAdv for_Prep patent)))) +-- | mkUtt (mkQS pastTense (mkQCl whoSg_IP (mkVP (mkVP apply_V) (SyntaxEng.mkAdv for_Prep patent)))); + +PQAppDayDrug drug = + let + df : Kind = KRelSet approval_date_CN (SThe (KRelSet patent_N (DrugToSet drug))) + in + basicSing df ; + + +PQAppDayPat patent = + let + df : Kind = KRelSet approval_date_CN (PatentToSet patent) + in + basicSing df ; + + +-------------------------------------------------------------------------------- + oper basicSing : CN -> Utt = + \df -> + let sg_df : NP = SThe df ; + massdf : NP = SMassSg df + in + QSet sg_df + | QMass massdf + | QMass sg_df ; + + +oper basicPlur : CN -> Utt = + \df -> + let sg_df : NP = SAll df ; + massdf : NP = SPlural df + in + QInfo sg_df + | QMass massdf + | QMass sg_df ; + +oper basicBoth : CN -> Utt = + \df -> + let sg_df : NP = SThe df ; + the_df : NP = SAll df ; + mass_sg_df : NP = SMassSg df ; + mass_pl_df : NP = SPlural df + in + QInfo the_df + | QInfo sg_df + | QMass mass_sg_df + | QMass sg_df + | QMass mass_pl_df + | QMass the_df ; + + +{- use later as more options for QInfo + + | mkUtt (mkQCl (mkIP (mkIDet what_IQuant) information_N) (mkClSlash (mkNP youPl_Pron) (PatsAdvVPSlash (mkVPSlash have_V2) (SyntaxEng.mkAdv about_Prep drug)))) + | mkUtt (mkQCl (mkIP (mkIDet what_IQuant) information_N) (mkClSlash (mkNP i_Pron) (SlashVV can_VV (PatsAdvVPSlash (mkVPSlash get_V2) (SyntaxEng.mkAdv about_Prep drug))))) + | mkUtt (mkNP all_Predet (massInfoSg (mkCN (mkCN information_N) (SyntaxEng.mkAdv about_Prep drug)))) + | mkUtt (mkNP all_NP (SyntaxEng.mkAdv about_Prep drug)) + | mkUtt drug ; +-} + +-------------------------------------------------------------------------- +-- coercions + +lin DrugToSet d = d ; +lin PatentToSet d = d ; +lin ChemToSet d = d ; +lin UsageToSet d = d ; +lin PatNumToSet d = d ; +lin AppToSet d = d ; +lin AppNumToSet d = d ; +--lin DateToSet : PatsDate -> Set ; + + + +-------------------------------------------------------------------------- +-- lexicon + +oper mkDrug : Str -> NP = + \p -> mkNP (mkPN p) ; + +oper mkPatents : Str -> NP = + \p -> mkNP (mkPN p) ; + +oper mkChemicalSubstance : Str -> NP = + \p -> mkNP (mkPN p) ; + +oper mkDrugUsageForm : Str -> NP = + \p -> mkNP (mkPN p) ; + +oper mkPatentNumber : Str -> NP = + \p -> mkNP (mkPN p) ; + +oper mkApplicant : Str -> NP = + \p -> mkNP (mkPN p) ; + +oper mkApplicationNumber : Str -> NP = + \p -> mkNP (mkPN p); + + + + +lin + +Aspirin = mkDrug "DRUG" ; + +Pats1230 = mkPatents "PATENT" ; + +Hydrogen = mkChemicalSubstance "CHEMICAL_SUBSTANCE" ; + +Inhalation = mkDrugUsageForm "DRUG_USAGE_FORM" ; + +P123 = mkPatentNumber "PATENT_NUMBER" ; + +JohnDoe = mkApplicant "APPLICANT" ; + +A123 = mkApplicationNumber "APPLICATION_NUMBER" ; + + + OnDate = mkPatsDate on_Prep ; + BeforeDate = mkPatsDate before_Prep ; + AfterDate = mkPatsDate after_Prep ; + +oper mkPatsDate : Prep -> Adv = \prep -> SyntaxEng.mkAdv prep (mkNP (mkPN "DATE")) ; + + + +} + diff --git a/examples/query/small/patentsQuery/QueryPatEng.gfo b/examples/query/small/patentsQuery/QueryPatEng.gfo new file mode 100644 index 0000000000000000000000000000000000000000..1614e51affe1a88994d920bb7c74f45707d8f739 GIT binary patch literal 32881 zcmZ>FGce)~EKMz{3`i_-%}ZzIfN>ZY*^={9GV{{eauQ22^9&gwGOl^)3=Av`oWYfO zC5aUv9=}g&ML=RnF<2u=fZZoCFCE0-2}mqTOvy~oEe7#?^h1kNi;DG&5_9wO5>xXM zlQUBFb1U85^xfU`Q!5g43vyD6^$S66(J#(T%*oL&NGwUsgBq+4HXhPo*5uqtji7b?#i;27fS7lQ0DeiR|~Vg^PgW=@v$%(7Ib+*IbooE+}V zytMqH+{BX1{5;mgr2NtnkSJSXa!F=cDtBgHdQoahCMaZ?^3xa?m_Yj3K`O}5N66li zj8wAhC8UoTuc<5`-w;qi$OeSZN-|P85(^57^2-u)SW*&8QknA8m_gbh>61AvzX%$N zJn&d3$w+0*OUz9zhN>mf08WtRkTN(E^m%U0I%jLhT=60L=3 zqQqWykb{ZzB^O97Ii6!9(gHT*xWmu`jbM~Sf!{Sy9c~339wD z@q{~GeW-ztS1Bi+7{IF$91VC?V8#Vr<;-|x*^!e!8>D2ztAPty14@b@MmIZhwjf3W z7gz(yN#8S zU!0hp$_i?JfvSFJVU4eKg^gDTg%!BvBiamT4Meil zcyb-lc7v-ZqE%zI@rc&SM!ZVo5)X?mXqH7}3iPHtZapXs58TQiNdaqdhFcSAlLNOp zXl#>cIyeX7HWVC*v{i_&_8)`2869C7JDi8@@0 z@I)LgEvV6kOBKFI!=(otWw<0UBMg^HW~>qnjLe9Z0oKR@MG{miJEYwX8e3sz1Bqis z9!M06YC?8^%5g|jlo&g(t7gJtFF1)|6~|%*BNH>Ct&2M>it$%E;&Gn7v|kjn|1g3ArW=_bMrtY9}V<)@Jx44`tBpk@}r=7SsFgq5+d zfh_~I(r`MJ6%=DcsUt4@5S0qfbi`a*oXVPctFf?97bJ{0t^fdJPZs%3=F~y3>`e6@l!@n#{xXC%)|_3Gg`1Xs;e8a zFfy=kFfwpRvIV7r#=+Sf(*uly(_vf|-^Ai%R**tts7g_o6tiP`5eFMnVlEq~Hb)|u zGK<+@7$gPOZUWVgZjm4ZYf4(Yi3I~=I#``4RGkPTvOSDUe1-8ziN%@8!I^pK@$m-i zAjexm)uNjT)5+?WT3S-X;%I1O%+4t2h#1Q81CQh|@G~ZhFMd^2I2l-rON!zRAWlbQWN3x}=ViD}@$m*w z<)HY5=VTVg^Z-LiHqZ=RZUj?sI%@oarpFln{Qv)-9}};IQ8L4Px4@e|4IWZ@=G^w~GF)ullp4saF;{j0FgT)Pyv?|CTj71Kf-LOkiob3cL z>||qPR8%A{=_)D`lXNj`q*l@eCs;N{MtOPioG&j=(D|H&@t|BmEf;fw3_~gU*+3%n zOqTl?_c3xZK&^$PL?{=Y_~3ks(;F|yf1#j(V7L6DTsB5VB_;AAOG$}fWC=kc3vL^= zVvWP2GNmX#JvEP=5i|RcSzx|md_`J;iDl^p8`fnPY*QncjcH_=Ys^qpu@j!(2nchOUMZUvqJDv3uob11LFtMyo*>0 z!-l*Jh7BQ3iRXBDc~}C#9TlDc@VX*MlY&goy<>bwn&(j0@vxz<;bB9Sr^KUt{Cpe% zfsWwCKJ1LF;B`}su)>d=a)_Uafw36UYvTZS(?Uy1K>aiw19+LLz$5@t#Gt^Wz$673 zqLpG}%1xC5j|WPzaU-orl466bNrK5i*Xe*2!B-|pu`%VRi3!4-&A?a;>n^hT1vn-r z!!%RfV3OQll94LKMho|oZ!iNqiWmeKV39(mBSB#S8UZ6yyA*h~l}ybj{$K!iBso9> zEiA0yjwOQ4#E4)sBe7YK*sMrwHe@!ae=5Mhz$nPTz$nDPz$nbXz$n7Nz$nVVz$nHO z5a?J?;F4Ggs?KSelNuRY5$zK^c?p~>;OlCn*ub-v;H&}I^CC5Up31JW!avtI_P{;{+X zIv9HxIT_$alU25f2_g)@(hwlOAj4}gNu?HElPD^p@R|&9BdpY5$}Gm4rSTdi1)ZrT zuOP*1G`JZ7E|;-pFuZzU9wN3_!D|>w)+A7d;57*5D$@Of;)DSy9TXTC7!?^97?l_p z7?l|q7*!Y;7*!b<7}XdU7}XgV7&RcJ1EhCE_52?5fuAkzR?R;6Zy zOR-Vt7&5h^6dthh3lgK4DIB`Ig#x!?nu#S4DYXXbe2mTkrREZwk0`YV;(ja{ic*7# z&RLXNgver)nuI5>QED{Ek(8PNa~`GUpkzbHxB+4ag4Qj3PNdd87ZRHriOqw==0#%j zA+h<9*aApwL1Z>)NJNu?fl-Trfl-@*fl-Hnfl-%%fl-fvfl;4TMr}|LTp(_lA#cnVJX;1GKJ_;j3iS*r2(W>K$13C0f40% zBgq_;0svMIOR3=E7m3=E963=E8R3=E9+3=E783=E8p3=E7; z3=E9U907qY;5{&iY!01RrRLOwu?2Oe9v~Y?q}U)^NMKzFsDrT-0Fcpeyps;383{_s zDDAAooE-2>2xzAbcxMXIbP2e~g6@-{lAFmf5+xPFl0O9=0q+K)FziwNL6nIg7sCUS zXdRGZhje{#9mFLykmDeUjYN&Ga)m@~C~?Zb$W7N#OI&RlE|4=^7#J8q2QIiVFff7+ zXYgQPVDw~QVDw^OVDx5SVDw>NU<948;Kvyd=vq-g^SPRoOk#>2aC$`A2}6gu8Yw*2?&JD zhSR(`=@Wnvc+kQNbf6c?`W*PUCECmv?(Ql|&l22fz>)z;H5TeTNSTN<=S-?O#I^)U zH5cMOSW!rk17U^`C{IauA*|FPRVPdz6`~PK{sJ{F$#oH_`cSMNkg_wGfq^lFfq^lV zfq^lNfq^ldfq^lDfq^lTfq^lLfq^lb3swmD!OKquTx(%n-0>`J!CCyl3N&covB7q^ z!^H6pG(lGS!S#S54<*0jvlUzxkZ3DbJt)x#DWyRUK{pyC1|7~ob2cnRqw7F17`*-y zv=fbiiGhI`bp9j*D+2=?0|Ogq0cQ>a17j`&17jWo17kh|17iUL17jfr17i_4ECOlY zSPqFGp|K40EA^K!kZv%fu*7UAlWr2F#X0VI7l<2SWib&2I&Pzg?yi&We{d2<&Lbp6 zFQgMoLa~n9k0?0@BTJIuD$>IO#R-G6aAyw)3<90lLDQD8jRP@_JA4H-SPpsu1$c;D ziVf|w3a}`i)-O?Y3FIgYuu&vi0802IRy>qgN5DUj97u@;D2W%Ae@OQvz*x?}z*xb+z*xz^z*xn=z*x<|z*xh;z*x%}5ExpV>YSgFiYOG})eJRfZ*vQY zYb=2aKYVRq(8(@RY>=~Ez;RD#sE5iXf)XHUMITjN3@+o|DNF#`7 z0ujw1q6I{>f`~Q{(GDUy7`X!yOVH2J;e(99L6)MExi1BDju6&kgz%j}bcpc~BPRoz z^{{gT(1hXV2VjU(e2xGc#Q$uJj0y_ml)oT-1P>74E{um*L#>koP_|dIF)}JEljnA2 zWrA)Ogt;A>M5uJs4Ja+9=9QqFSwUGvNLDJ`&$u6X?-VTk!CeARc}OA@r#X;W#fC=4 z2JDQ`oJ#JIRv>G! zY@(Bp;ADW93a+sk!Aisgp<)b-#qd*|Sp7gJtiiU*GyCP|BI*d(>18NOdqCHrFfy?O zhG)RXI2jqZ96^T%WR_IM8}PG3PH=;q6U7>mnpd1E3_CW8+cB>swJ0;cD6^yzUdD1d z2ju4@q6o427p0^Y!Bv0`eB)4l zEiNp8pMin7pr`;UT~GpLF%=u3SO%8Ih;`^G1|lMy$R0)tVJSAyiGNapVjv)htO&d^ z5E3LT0Y$0BumE8V&de>%fdxN{b3i`)*a8-Rm&_uJv*j$oey6z=DP>Zq?q^C&p|z!H znR&FfA~O$kL;cgf|Lb7cm9B~ayKJ;Fev{9r^8O~WAo0;OF^_Y zAkoYQsbS#BiUpL6D0zKQ5s1rWPYYrY{Jjlq&fNnoHe=rDQ zh{M}P=o&zWAi{zGT%VJElqDzloK&a$k_;9`#>I^58F?5O<6)knthm6@003FS2|35r z05lt-zy$F(vCAwVeHye5?dtM0(BjatxJK(YoJQ4!y0+G@egc!lez)}!zY6vdG zh#c&I=#Yj`Y)tCK5EiLp#lmp^AWoTQVPw3=c%M>#fsBCo%ZOxu8A1GI1oxK_8UDgJ zf}Dks@e<=@O8o^g0^%=YlKo{2@s}~&U&f^Ri!C=BGy=iG$aseFETvun83FN%3CUhD zfq2CP?iCYKy}}Ri3Vbkyg^}?p<26eC1Tq5RCsUIBWD4<MaDs NP = + \p -> mkNP (mkPN p) ; + +oper mkPatents : Str -> NP = + \p -> mkNP (mkPN p) ; + +oper mkChemicalSubstance : Str -> NP = + \p -> mkNP (mkPN p) ; + +oper mkDrugUsageForm : Str -> NP = + \p -> mkNP (mkPN p) ; + +oper mkPatentNumber : Str -> NP = + \p -> mkNP (mkPN p) ; + +oper mkApplicant : Str -> NP = + \p -> mkNP (mkPN p) ; + +oper mkApplicationNumber : Str -> NP = + \p -> mkNP (mkPN p); + + + + +lin + +Aspirin = mkDrug "DRUG" ; + +Pats1230 = mkPatents "PATENT" ; + +Hydrogen = mkChemicalSubstance "CHEMICAL_SUBSTANCE" ; + +Inhalation = mkDrugUsageForm "DRUG_USAGE_FORM" ; + +P123 = mkPatentNumber "PATENT_NUMBER" ; + +JohnDoe = mkApplicant "APPLICANT" ; + +A123 = mkApplicationNumber "APPLICATION_NUMBER" ; + + + OnDate = mkPatsDate on_Prep ; + BeforeDate = mkPatsDate before_Prep ; + AfterDate = mkPatsDate after_Prep ; + +oper mkPatsDate : Prep -> Adv = \prep -> Syntax.mkAdv prep (mkNP (mkPN "DATE")) ; + +} diff --git a/examples/query/small/patentsQuery/QueryPatI.gfo b/examples/query/small/patentsQuery/QueryPatI.gfo new file mode 100644 index 0000000000000000000000000000000000000000..fe61c9d58714526aa30a062b6180480bea1022d2 GIT binary patch literal 3298 zcmZ>FGce)|EKMz{3`i{TWafY|85!A<^HVbO(%EtnOEU8e85md@*n%tbN)js=czjYT z0uoD#!D<;;d=m508Q24gQgcdEQW;nwqF(x;#i>Qb`bCMk`FV+{d5OsxsrtEVpjdxkxWPjlqk>QC;1Dg^_`UgOP!Q zfh9NFIfsF<7$j;46O}-C0wiw0z*xZQsIG2k0aF0h<|oL&Sj51ToClV(gv+t!W;>>o zfhAcAic$+eMi?Q>hL)6|*?jM*R~O-x}5K%VsrVBkv3$%zjrN=->E0m+*p zyu^~59TvdAo}O8j8Xsm1mPEIiEi*o#C?6bBrr2x-YcfJ|3RnPamKi))pbp_I$w)=` z!yMU}&VCGx*&tsaVv034JIFbQfxRRnu_QhyfW^@n_HmT)*Gmt>Y@ zmQ=DaGKz~cFogv$Ffgz=<`tKx7O^oh3JNkXhnAEuFfedC78LlE=7!`4r-EI6f%yV6 zCj(;&2r+Ot78Jl`&NH7!$Z$Fq6y#(kC+3x~F)|hxGcfsqED(f>mSpDV`IY7-f$b_O zfy#0^XQU!5I>UShVVodHDl<7TC%81JxFj(zIhBo(v7i8|k;SE`G@Xr+F)t4)zzGt7 zJM0wmDTGP9AgR#e#Pn3R{GwboM#jQIs3tDYyp+tc%#_l^95zNqF)^qxi#IgRLc>7u z#mT^!jUEf;;G7&3j4p1$z*xY*!0HW)kf0El2?|UcU_GEDQ$UJ|U|nGWV1rq_gHm%q z5gi`R$-r0y&ht#kc?=93APHC^^798d8KeM|8ql4H)9Fx)(A66wB{)znF*1Z&7m%1) z1aeDYAj~>+t>zryRP2~i#=u#gS&{+D&IKHhaPSM@U|`S94lGT~D`5a-u}W}`WneAH z@hi3LoGiXY5_kei{i4@OavhYHeYaY4iZ&X=449i7b3&Jz#WiS zf}9P{F`q-EX|@1xg~P_kn4b?dp9dlY&tyeKPzjJhsd**v%yF9eG{PVbP+jPfSORi- zX(@9CIQ28n!76_^QOh6ONiB<2+7$2+EkK~o?DM>5#l zct-|k_<#b<$Q+cK#aS}*(()NW&O%OYpoD2+3NaCsvLN*jFGy`sZX&4giT8uJ2IN7m z#H9Sv5^!o{U@TT(LO7c>H`_C}0NrF$69%xgFm(_f$Z@`j#l;}UrKf`&2bX6oW?*0m zgr-_GeUO|uQ*kla*$PYyjKy%5q9tTA0|vId#N1S5*YXtP7Z;}%7n9^(reYL-vE*hW zMF)o<1EUWEn{$3{foA{%XL&|qNpO0+X8;57x}ZjQrlgj525>O2ZNr}ao$-$X<=`4(l z^O=`1^Dr>RgQF4DdVvUWGBBm2iL(}`$ET!$vm6HlOK?a=Dp;5;H?g=FE)EMpkQAsK z0B2eTh*l7vH4qfS3{Xv=;u_3{DB#M?hNUSMMn-uBkW-kMgG-9ACoYf@P?{HjBt39+ VIQwxhFz06bfzmi69WtO~cL3(=+gktt literal 0 HcmV?d00001 diff --git a/examples/query/small/patentsQuery/ResultsFre.txt b/examples/query/small/patentsQuery/ResultsFre.txt new file mode 100644 index 000000000..6acf79483 --- /dev/null +++ b/examples/query/small/patentsQuery/ResultsFre.txt @@ -0,0 +1,1057 @@ +qu' est l' information à propos de DRUG + +information à propos de DRUG + +l' information à propos de DRUG + +montre l' information à propos de DRUG + +je veux l' information à propos de DRUG + +quelle information avez vous à propos de DRUG + +quelle information peux j' obtenir à propos de DRUG + +quelle information puis j' obtenir à propos de DRUG + +toute information à propos de DRUG + +tout à propos de DRUG + +DRUG + + +que sont les ingrédients actifs de DRUG + +que sont tous les ingrédients actifs de DRUG + +des ingrédients actifs de DRUG + +les ingrédients actifs de DRUG + +tous les ingrédients actifs de DRUG + +montre les ingrédients actifs de DRUG + +montre tous les ingrédients actifs de DRUG + +je veux les ingrédients actifs de DRUG + +je veux tous les ingrédients actifs de DRUG + + +que sont les formes posologiques de DRUG + +qu' est la forme posologique de DRUG + +forme posologique de DRUG + +la forme posologique de DRUG + +des formes posologiques de DRUG + +les formes posologiques de DRUG + +montre les formes posologiques de DRUG + +montre la forme posologique de DRUG + +quelles formes posologiques de DRUG il y a + + +que sont les voies d' administration de DRUG + +qu' est la voie d' administration de DRUG + +voie d' administration de DRUG + +la voie d' administration de DRUG + +des voies d' administration de DRUG + +les voies d' administration de DRUG + +montre les voies d' administration de DRUG + +montre la voie d' administration de DRUG + +quelles voies d' administration de DRUG il y a + + +que sont les numéros de brevet + +que sont tous les numéros de brevet + +des numéros de brevet + +les numéros de brevet + +tous les numéros de brevet + +montre les numéros de brevet + +montre tous les numéros de brevet + +je veux les numéros de brevet + +je veux tous les numéros de brevet + +quels numéros de brevet il y a + + +qu' est le numéro de brevet pour DRUG + +numéro de brevet pour DRUG + +le numéro de brevet pour DRUG + +montre le numéro de brevet pour DRUG + +je veux le numéro de brevet pour DRUG + + +qu' est le numéro de brevet pour PATENT + +numéro de brevet pour PATENT + +le numéro de brevet pour PATENT + +montre le numéro de brevet pour PATENT + +je veux le numéro de brevet pour PATENT + +qu' est le numéro de brevet de PATENT + +numéro de brevet de PATENT + +le numéro de brevet de PATENT + +montre le numéro de brevet de PATENT + +je veux le numéro de brevet de PATENT + + +qu' est la date d' expiration de PATENT + +date d' expiration de PATENT + +la date d' expiration de PATENT + +montre la date d' expiration de PATENT + +je veux la date d' expiration de PATENT + +quand expire PATENT + + +qu' est la date d' expiration du brevet pour DRUG + +date d' expiration du brevet pour DRUG + +la date d' expiration du brevet pour DRUG + +montre la date d' expiration du brevet pour DRUG + +je veux la date d' expiration du brevet pour DRUG + +quand expire la date d' expiration du brevet pour DRUG + + +que sont les codes d' utilisation de PATENT + +qu' est la code d' utilisation de PATENT + +code d' utilisation de PATENT + +la code d' utilisation de PATENT + +des codes d' utilisation de PATENT + +les codes d' utilisation de PATENT + +montre les codes d' utilisation de PATENT + +montre la code d' utilisation de PATENT + + +qu' est le numéro de demande pour PATENT + +numéro de demande pour PATENT + +le numéro de demande pour PATENT + +montre le numéro de demande pour PATENT + +je veux le numéro de demande pour PATENT + + +qu' est le demandeur pour PATENT + +demandeur pour PATENT + +le demandeur pour PATENT + +montre le demandeur pour PATENT + +je veux le demandeur pour PATENT + +qui applique pour PATENT + +qui appliquait pour PATENT + + +qu' est la date d' approbation du brevet pour DRUG + +date d' approbation du brevet pour DRUG + +la date d' approbation du brevet pour DRUG + +montre la date d' approbation du brevet pour DRUG + +je veux la date d' approbation du brevet pour DRUG + + +qu' est la date d' approbation de PATENT + +date d' approbation de PATENT + +la date d' approbation de PATENT + +montre la date d' approbation de PATENT + +je veux la date d' approbation de PATENT + + +qu' est la date d' approbation de PATENT avec du demandeur APPLICANT + +date d' approbation de PATENT avec du demandeur APPLICANT + +la date d' approbation de PATENT avec du demandeur APPLICANT + +montre la date d' approbation de PATENT avec du demandeur APPLICANT + +je veux la date d' approbation de PATENT avec du demandeur APPLICANT + + +qu' est la date d' approbation du brevet avec du numéro de demande APPLICATION_NUMBER + +date d' approbation du brevet avec du numéro de demande APPLICATION_NUMBER + +la date d' approbation du brevet avec du numéro de demande APPLICATION_NUMBER + +montre la date d' approbation du brevet avec du numéro de demande APPLICATION_NUMBER + +je veux la date d' approbation du brevet avec du numéro de demande APPLICATION_NUMBER + + +que sont les substances chimiques de DRUG + +de la substance chimique de DRUG + +les substances chimiques de DRUG + +montre les substances chimiques de DRUG + +je veux les substances chimiques de DRUG + +qu' est la composition chemique de DRUG + +de la composition chemique de DRUG + +la composition chemique de DRUG + +montre la composition chemique de DRUG + + +que sont les médicaments qui sont des composés + +que sont tous les médicaments qui sont des composés + +des médicaments qui sont des composés + +les médicaments qui sont des composés + +tous les médicaments qui sont des composés + +montre les médicaments qui sont des composés + +montre tous les médicaments qui sont des composés + +je veux les médicaments qui sont des composés + +je veux tous les médicaments qui sont des composés + + +que sont les préparations + +que sont toutes les préparations + +des préparations + +les préparations + +toutes les préparations + +montre les préparations + +montre toutes les préparations + +je veux les préparations + +je veux toutes les préparations + +quelles préparations il y a + + +qu' est la préparation pour DRUG + +préparation pour DRUG + +la préparation pour DRUG + +montre la préparation pour DRUG + +je veux la préparation pour DRUG + + +qu' est la préparation pour DRUG avec un brevet qui expire sur DATE + +préparation pour DRUG avec un brevet qui expire sur DATE + +la préparation pour DRUG avec un brevet qui expire sur DATE + +montre la préparation pour DRUG avec un brevet qui expire sur DATE + +je veux la préparation pour DRUG avec un brevet qui expire sur DATE + + +qu' est la préparation pour DRUG avec un brevet qui expire avant DATE + +préparation pour DRUG avec un brevet qui expire avant DATE + +la préparation pour DRUG avec un brevet qui expire avant DATE + +montre la préparation pour DRUG avec un brevet qui expire avant DATE + +je veux la préparation pour DRUG avec un brevet qui expire avant DATE + + +qu' est la préparation pour DRUG avec un brevet qui expire après DATE + +préparation pour DRUG avec un brevet qui expire après DATE + +la préparation pour DRUG avec un brevet qui expire après DATE + +montre la préparation pour DRUG avec un brevet qui expire après DATE + +je veux la préparation pour DRUG avec un brevet qui expire après DATE + + +qu' est le nom de DRUG + +nom de DRUG + +le nom de DRUG + +montre le nom de DRUG + +je veux le nom de DRUG + + +qu' est le nom de DRUG avec un brevet qui a de la date d' approbation sur DATE + +nom de DRUG avec un brevet qui a de la date d' approbation sur DATE + +le nom de DRUG avec un brevet qui a de la date d' approbation sur DATE + +montre le nom de DRUG avec un brevet qui a de la date d' approbation sur DATE + +je veux le nom de DRUG avec un brevet qui a de la date d' approbation sur DATE + +qu' est le nom de DRUG avec un brevet avec de la date d' approbation sur DATE + +nom de DRUG avec un brevet avec de la date d' approbation sur DATE + +le nom de DRUG avec un brevet avec de la date d' approbation sur DATE + +montre le nom de DRUG avec un brevet avec de la date d' approbation sur DATE + +je veux le nom de DRUG avec un brevet avec de la date d' approbation sur DATE + + +qu' est le nom de DRUG avec un brevet qui a de la date d' approbation avant DATE + +nom de DRUG avec un brevet qui a de la date d' approbation avant DATE + +le nom de DRUG avec un brevet qui a de la date d' approbation avant DATE + +montre le nom de DRUG avec un brevet qui a de la date d' approbation avant DATE + +je veux le nom de DRUG avec un brevet qui a de la date d' approbation avant DATE + +qu' est le nom de DRUG avec un brevet avec de la date d' approbation avant DATE + +nom de DRUG avec un brevet avec de la date d' approbation avant DATE + +le nom de DRUG avec un brevet avec de la date d' approbation avant DATE + +montre le nom de DRUG avec un brevet avec de la date d' approbation avant DATE + +je veux le nom de DRUG avec un brevet avec de la date d' approbation avant DATE + + +qu' est le nom de DRUG avec un brevet qui a de la date d' approbation après DATE + +nom de DRUG avec un brevet qui a de la date d' approbation après DATE + +le nom de DRUG avec un brevet qui a de la date d' approbation après DATE + +montre le nom de DRUG avec un brevet qui a de la date d' approbation après DATE + +je veux le nom de DRUG avec un brevet qui a de la date d' approbation après DATE + +qu' est le nom de DRUG avec un brevet avec de la date d' approbation après DATE + +nom de DRUG avec un brevet avec de la date d' approbation après DATE + +le nom de DRUG avec un brevet avec de la date d' approbation après DATE + +montre le nom de DRUG avec un brevet avec de la date d' approbation après DATE + +je veux le nom de DRUG avec un brevet avec de la date d' approbation après DATE + + +qu' est le nom de DRUG avec un brevet qui a du demandeur APPLICANT + +nom de DRUG avec un brevet qui a du demandeur APPLICANT + +le nom de DRUG avec un brevet qui a du demandeur APPLICANT + +montre le nom de DRUG avec un brevet qui a du demandeur APPLICANT + +je veux le nom de DRUG avec un brevet qui a du demandeur APPLICANT + +qu' est le nom de DRUG avec un brevet avec du demandeur APPLICANT + +nom de DRUG avec un brevet avec du demandeur APPLICANT + +le nom de DRUG avec un brevet avec du demandeur APPLICANT + +montre le nom de DRUG avec un brevet avec du demandeur APPLICANT + +je veux le nom de DRUG avec un brevet avec du demandeur APPLICANT + + +que sont les méthodes qui sont utilisées dans PATENT + +que sont toutes les méthodes qui sont utilisées dans PATENT + +des méthodes qui sont utilisées dans PATENT + +les méthodes qui sont utilisées dans PATENT + +toutes les méthodes qui sont utilisées dans PATENT + +montre les méthodes qui sont utilisées dans PATENT + +montre toutes les méthodes qui sont utilisées dans PATENT + +je veux les méthodes qui sont utilisées dans PATENT + +je veux toutes les méthodes qui sont utilisées dans PATENT + +que sont les méthodes de PATENT + +que sont toutes les méthodes de PATENT + +des méthodes de PATENT + +les méthodes de PATENT + +toutes les méthodes de PATENT + +montre les méthodes de PATENT + +montre toutes les méthodes de PATENT + +je veux les méthodes de PATENT + +je veux toutes les méthodes de PATENT + + +que sont les méthodes qui sont utilisées dans un brevet qui expire sur DATE + +que sont toutes les méthodes qui sont utilisées dans un brevet qui expire sur DATE + +des méthodes qui sont utilisées dans un brevet qui expire sur DATE + +les méthodes qui sont utilisées dans un brevet qui expire sur DATE + +toutes les méthodes qui sont utilisées dans un brevet qui expire sur DATE + +montre les méthodes qui sont utilisées dans un brevet qui expire sur DATE + +montre toutes les méthodes qui sont utilisées dans un brevet qui expire sur DATE + +je veux les méthodes qui sont utilisées dans un brevet qui expire sur DATE + +je veux toutes les méthodes qui sont utilisées dans un brevet qui expire sur DATE + +que sont les méthodes d' un brevet qui expire sur DATE + +que sont toutes les méthodes d' un brevet qui expire sur DATE + +des méthodes d' un brevet qui expire sur DATE + +les méthodes d' un brevet qui expire sur DATE + +toutes les méthodes d' un brevet qui expire sur DATE + +montre les méthodes d' un brevet qui expire sur DATE + +montre toutes les méthodes d' un brevet qui expire sur DATE + +je veux les méthodes d' un brevet qui expire sur DATE + +je veux toutes les méthodes d' un brevet qui expire sur DATE + + +que sont les méthodes qui sont utilisées dans un brevet qui expire avant DATE + +que sont toutes les méthodes qui sont utilisées dans un brevet qui expire avant DATE + +des méthodes qui sont utilisées dans un brevet qui expire avant DATE + +les méthodes qui sont utilisées dans un brevet qui expire avant DATE + +toutes les méthodes qui sont utilisées dans un brevet qui expire avant DATE + +montre les méthodes qui sont utilisées dans un brevet qui expire avant DATE + +montre toutes les méthodes qui sont utilisées dans un brevet qui expire avant DATE + +je veux les méthodes qui sont utilisées dans un brevet qui expire avant DATE + +je veux toutes les méthodes qui sont utilisées dans un brevet qui expire avant DATE + +que sont les méthodes d' un brevet qui expire avant DATE + +que sont toutes les méthodes d' un brevet qui expire avant DATE + +des méthodes d' un brevet qui expire avant DATE + +les méthodes d' un brevet qui expire avant DATE + +toutes les méthodes d' un brevet qui expire avant DATE + +montre les méthodes d' un brevet qui expire avant DATE + +montre toutes les méthodes d' un brevet qui expire avant DATE + +je veux les méthodes d' un brevet qui expire avant DATE + +je veux toutes les méthodes d' un brevet qui expire avant DATE + + +que sont les méthodes qui sont utilisées dans un brevet qui expire après DATE + +que sont toutes les méthodes qui sont utilisées dans un brevet qui expire après DATE + +des méthodes qui sont utilisées dans un brevet qui expire après DATE + +les méthodes qui sont utilisées dans un brevet qui expire après DATE + +toutes les méthodes qui sont utilisées dans un brevet qui expire après DATE + +montre les méthodes qui sont utilisées dans un brevet qui expire après DATE + +montre toutes les méthodes qui sont utilisées dans un brevet qui expire après DATE + +je veux les méthodes qui sont utilisées dans un brevet qui expire après DATE + +je veux toutes les méthodes qui sont utilisées dans un brevet qui expire après DATE + +que sont les méthodes d' un brevet qui expire après DATE + +que sont toutes les méthodes d' un brevet qui expire après DATE + +des méthodes d' un brevet qui expire après DATE + +les méthodes d' un brevet qui expire après DATE + +toutes les méthodes d' un brevet qui expire après DATE + +montre les méthodes d' un brevet qui expire après DATE + +montre toutes les méthodes d' un brevet qui expire après DATE + +je veux les méthodes d' un brevet qui expire après DATE + +je veux toutes les méthodes d' un brevet qui expire après DATE + + +que sont les méthodes qui sont utilisées dans le brevet avec du numéro de demande PATENT_NUMBER + +que sont toutes les méthodes qui sont utilisées dans le brevet avec du numéro de demande PATENT_NUMBER + +des méthodes qui sont utilisées dans le brevet avec du numéro de demande PATENT_NUMBER + +les méthodes qui sont utilisées dans le brevet avec du numéro de demande PATENT_NUMBER + +toutes les méthodes qui sont utilisées dans le brevet avec du numéro de demande PATENT_NUMBER + +montre les méthodes qui sont utilisées dans le brevet avec du numéro de demande PATENT_NUMBER + +montre toutes les méthodes qui sont utilisées dans le brevet avec du numéro de demande PATENT_NUMBER + +je veux les méthodes qui sont utilisées dans le brevet avec du numéro de demande PATENT_NUMBER + +je veux toutes les méthodes qui sont utilisées dans le brevet avec du numéro de demande PATENT_NUMBER + +que sont les méthodes du brevet avec du numéro de demande PATENT_NUMBER + +que sont toutes les méthodes du brevet avec du numéro de demande PATENT_NUMBER + +des méthodes du brevet avec du numéro de demande PATENT_NUMBER + +les méthodes du brevet avec du numéro de demande PATENT_NUMBER + +toutes les méthodes du brevet avec du numéro de demande PATENT_NUMBER + +montre les méthodes du brevet avec du numéro de demande PATENT_NUMBER + +montre toutes les méthodes du brevet avec du numéro de demande PATENT_NUMBER + +je veux les méthodes du brevet avec du numéro de demande PATENT_NUMBER + +je veux toutes les méthodes du brevet avec du numéro de demande PATENT_NUMBER + + +qu' est l' utilisation de PATENT + +utilisation de PATENT + +l' utilisation de PATENT + +montre l' utilisation de PATENT + +je veux l' utilisation de PATENT + + +qu' est l' utilisation de PATENT avec la date d' approbation sur DATE + +utilisation de PATENT avec la date d' approbation sur DATE + +l' utilisation de PATENT avec la date d' approbation sur DATE + +montre l' utilisation de PATENT avec la date d' approbation sur DATE + +je veux l' utilisation de PATENT avec la date d' approbation sur DATE + +qu' est l' utilisation de PATENT qui est approuvé sur DATE + +utilisation de PATENT qui est approuvé sur DATE + +l' utilisation de PATENT qui est approuvé sur DATE + +montre l' utilisation de PATENT qui est approuvé sur DATE + +je veux l' utilisation de PATENT qui est approuvé sur DATE + + +qu' est l' utilisation de PATENT avec la date d' approbation avant DATE + +utilisation de PATENT avec la date d' approbation avant DATE + +l' utilisation de PATENT avec la date d' approbation avant DATE + +montre l' utilisation de PATENT avec la date d' approbation avant DATE + +je veux l' utilisation de PATENT avec la date d' approbation avant DATE + +qu' est l' utilisation de PATENT qui est approuvé avant DATE + +utilisation de PATENT qui est approuvé avant DATE + +l' utilisation de PATENT qui est approuvé avant DATE + +montre l' utilisation de PATENT qui est approuvé avant DATE + +je veux l' utilisation de PATENT qui est approuvé avant DATE + + +qu' est l' utilisation de PATENT avec la date d' approbation après DATE + +utilisation de PATENT avec la date d' approbation après DATE + +l' utilisation de PATENT avec la date d' approbation après DATE + +montre l' utilisation de PATENT avec la date d' approbation après DATE + +je veux l' utilisation de PATENT avec la date d' approbation après DATE + +qu' est l' utilisation de PATENT qui est approuvé après DATE + +utilisation de PATENT qui est approuvé après DATE + +l' utilisation de PATENT qui est approuvé après DATE + +montre l' utilisation de PATENT qui est approuvé après DATE + +je veux l' utilisation de PATENT qui est approuvé après DATE + + +qu' est l' utilisation de PATENT qui expire sur DATE + +utilisation de PATENT qui expire sur DATE + +l' utilisation de PATENT qui expire sur DATE + +montre l' utilisation de PATENT qui expire sur DATE + +je veux l' utilisation de PATENT qui expire sur DATE + + +qu' est l' utilisation de PATENT qui expire avant DATE + +utilisation de PATENT qui expire avant DATE + +l' utilisation de PATENT qui expire avant DATE + +montre l' utilisation de PATENT qui expire avant DATE + +je veux l' utilisation de PATENT qui expire avant DATE + + +qu' est l' utilisation de PATENT qui expire après DATE + +utilisation de PATENT qui expire après DATE + +l' utilisation de PATENT qui expire après DATE + +montre l' utilisation de PATENT qui expire après DATE + +je veux l' utilisation de PATENT qui expire après DATE + + +que sont les utilisations des brevets avec la date d' approbation sur DATE + +que sont les utilisations de tous les brevets avec la date d' approbation sur DATE + +que sont toutes les utilisations des brevets avec la date d' approbation sur DATE + +que sont toutes les utilisations de tous les brevets avec la date d' approbation sur DATE + +des utilisations des brevets avec la date d' approbation sur DATE + +des utilisations de tous les brevets avec la date d' approbation sur DATE + +les utilisations des brevets avec la date d' approbation sur DATE + +les utilisations de tous les brevets avec la date d' approbation sur DATE + +toutes les utilisations des brevets avec la date d' approbation sur DATE + +toutes les utilisations de tous les brevets avec la date d' approbation sur DATE + +montre les utilisations des brevets avec la date d' approbation sur DATE + +montre les utilisations de tous les brevets avec la date d' approbation sur DATE + +montre toutes les utilisations des brevets avec la date d' approbation sur DATE + +montre toutes les utilisations de tous les brevets avec la date d' approbation sur DATE + +je veux les utilisations des brevets avec la date d' approbation sur DATE + +je veux les utilisations de tous les brevets avec la date d' approbation sur DATE + +je veux toutes les utilisations des brevets avec la date d' approbation sur DATE + +je veux toutes les utilisations de tous les brevets avec la date d' approbation sur DATE + +que sont les utilisations des brevets qui sont approuvés sur DATE + +que sont les utilisations de tous les brevets qui sont approuvés sur DATE + +que sont toutes les utilisations des brevets qui sont approuvés sur DATE + +que sont toutes les utilisations de tous les brevets qui sont approuvés sur DATE + +des utilisations des brevets qui sont approuvés sur DATE + +des utilisations de tous les brevets qui sont approuvés sur DATE + +les utilisations des brevets qui sont approuvés sur DATE + +les utilisations de tous les brevets qui sont approuvés sur DATE + +toutes les utilisations des brevets qui sont approuvés sur DATE + +toutes les utilisations de tous les brevets qui sont approuvés sur DATE + +montre les utilisations des brevets qui sont approuvés sur DATE + +montre les utilisations de tous les brevets qui sont approuvés sur DATE + +montre toutes les utilisations des brevets qui sont approuvés sur DATE + +montre toutes les utilisations de tous les brevets qui sont approuvés sur DATE + +je veux les utilisations des brevets qui sont approuvés sur DATE + +je veux les utilisations de tous les brevets qui sont approuvés sur DATE + +je veux toutes les utilisations des brevets qui sont approuvés sur DATE + +je veux toutes les utilisations de tous les brevets qui sont approuvés sur DATE + + +que sont les utilisations des brevets avec la date d' approbation avant DATE + +que sont les utilisations de tous les brevets avec la date d' approbation avant DATE + +que sont toutes les utilisations des brevets avec la date d' approbation avant DATE + +que sont toutes les utilisations de tous les brevets avec la date d' approbation avant DATE + +des utilisations des brevets avec la date d' approbation avant DATE + +des utilisations de tous les brevets avec la date d' approbation avant DATE + +les utilisations des brevets avec la date d' approbation avant DATE + +les utilisations de tous les brevets avec la date d' approbation avant DATE + +toutes les utilisations des brevets avec la date d' approbation avant DATE + +toutes les utilisations de tous les brevets avec la date d' approbation avant DATE + +montre les utilisations des brevets avec la date d' approbation avant DATE + +montre les utilisations de tous les brevets avec la date d' approbation avant DATE + +montre toutes les utilisations des brevets avec la date d' approbation avant DATE + +montre toutes les utilisations de tous les brevets avec la date d' approbation avant DATE + +je veux les utilisations des brevets avec la date d' approbation avant DATE + +je veux les utilisations de tous les brevets avec la date d' approbation avant DATE + +je veux toutes les utilisations des brevets avec la date d' approbation avant DATE + +je veux toutes les utilisations de tous les brevets avec la date d' approbation avant DATE + +que sont les utilisations des brevets qui sont approuvés avant DATE + +que sont les utilisations de tous les brevets qui sont approuvés avant DATE + +que sont toutes les utilisations des brevets qui sont approuvés avant DATE + +que sont toutes les utilisations de tous les brevets qui sont approuvés avant DATE + +des utilisations des brevets qui sont approuvés avant DATE + +des utilisations de tous les brevets qui sont approuvés avant DATE + +les utilisations des brevets qui sont approuvés avant DATE + +les utilisations de tous les brevets qui sont approuvés avant DATE + +toutes les utilisations des brevets qui sont approuvés avant DATE + +toutes les utilisations de tous les brevets qui sont approuvés avant DATE + +montre les utilisations des brevets qui sont approuvés avant DATE + +montre les utilisations de tous les brevets qui sont approuvés avant DATE + +montre toutes les utilisations des brevets qui sont approuvés avant DATE + +montre toutes les utilisations de tous les brevets qui sont approuvés avant DATE + +je veux les utilisations des brevets qui sont approuvés avant DATE + +je veux les utilisations de tous les brevets qui sont approuvés avant DATE + +je veux toutes les utilisations des brevets qui sont approuvés avant DATE + +je veux toutes les utilisations de tous les brevets qui sont approuvés avant DATE + + +que sont les utilisations des brevets avec la date d' approbation après DATE + +que sont les utilisations de tous les brevets avec la date d' approbation après DATE + +que sont toutes les utilisations des brevets avec la date d' approbation après DATE + +que sont toutes les utilisations de tous les brevets avec la date d' approbation après DATE + +des utilisations des brevets avec la date d' approbation après DATE + +des utilisations de tous les brevets avec la date d' approbation après DATE + +les utilisations des brevets avec la date d' approbation après DATE + +les utilisations de tous les brevets avec la date d' approbation après DATE + +toutes les utilisations des brevets avec la date d' approbation après DATE + +toutes les utilisations de tous les brevets avec la date d' approbation après DATE + +montre les utilisations des brevets avec la date d' approbation après DATE + +montre les utilisations de tous les brevets avec la date d' approbation après DATE + +montre toutes les utilisations des brevets avec la date d' approbation après DATE + +montre toutes les utilisations de tous les brevets avec la date d' approbation après DATE + +je veux les utilisations des brevets avec la date d' approbation après DATE + +je veux les utilisations de tous les brevets avec la date d' approbation après DATE + +je veux toutes les utilisations des brevets avec la date d' approbation après DATE + +je veux toutes les utilisations de tous les brevets avec la date d' approbation après DATE + +que sont les utilisations des brevets qui sont approuvés après DATE + +que sont les utilisations de tous les brevets qui sont approuvés après DATE + +que sont toutes les utilisations des brevets qui sont approuvés après DATE + +que sont toutes les utilisations de tous les brevets qui sont approuvés après DATE + +des utilisations des brevets qui sont approuvés après DATE + +des utilisations de tous les brevets qui sont approuvés après DATE + +les utilisations des brevets qui sont approuvés après DATE + +les utilisations de tous les brevets qui sont approuvés après DATE + +toutes les utilisations des brevets qui sont approuvés après DATE + +toutes les utilisations de tous les brevets qui sont approuvés après DATE + +montre les utilisations des brevets qui sont approuvés après DATE + +montre les utilisations de tous les brevets qui sont approuvés après DATE + +montre toutes les utilisations des brevets qui sont approuvés après DATE + +montre toutes les utilisations de tous les brevets qui sont approuvés après DATE + +je veux les utilisations des brevets qui sont approuvés après DATE + +je veux les utilisations de tous les brevets qui sont approuvés après DATE + +je veux toutes les utilisations des brevets qui sont approuvés après DATE + +je veux toutes les utilisations de tous les brevets qui sont approuvés après DATE + + +qu' est l' utilisation de DRUG + +utilisation de DRUG + +l' utilisation de DRUG + +montre l' utilisation de DRUG + +je veux l' utilisation de DRUG + + +qu' est l' utilisation de médicaments qui contiennent CHEMICAL_SUBSTANCE + +utilisation de médicaments qui contiennent CHEMICAL_SUBSTANCE + +l' utilisation de médicaments qui contiennent CHEMICAL_SUBSTANCE + +montre l' utilisation de médicaments qui contiennent CHEMICAL_SUBSTANCE + +je veux l' utilisation de médicaments qui contiennent CHEMICAL_SUBSTANCE + +qu' est l' utilisation des médicaments qui contiennent CHEMICAL_SUBSTANCE + +utilisation des médicaments qui contiennent CHEMICAL_SUBSTANCE + +l' utilisation des médicaments qui contiennent CHEMICAL_SUBSTANCE + +montre l' utilisation des médicaments qui contiennent CHEMICAL_SUBSTANCE + +je veux l' utilisation des médicaments qui contiennent CHEMICAL_SUBSTANCE + + +qu' est l' utilisation de médicaments avec de la formulaire d' utilisation DRUG_USAGE_FORM + +utilisation de médicaments avec de la formulaire d' utilisation DRUG_USAGE_FORM + +l' utilisation de médicaments avec de la formulaire d' utilisation DRUG_USAGE_FORM + +montre l' utilisation de médicaments avec de la formulaire d' utilisation DRUG_USAGE_FORM + +je veux l' utilisation de médicaments avec de la formulaire d' utilisation DRUG_USAGE_FORM + +qu' est l' utilisation des médicaments avec de la formulaire d' utilisation DRUG_USAGE_FORM + +utilisation des médicaments avec de la formulaire d' utilisation DRUG_USAGE_FORM + +l' utilisation des médicaments avec de la formulaire d' utilisation DRUG_USAGE_FORM + +montre l' utilisation des médicaments avec de la formulaire d' utilisation DRUG_USAGE_FORM + +je veux l' utilisation des médicaments avec de la formulaire d' utilisation DRUG_USAGE_FORM + + +qu' est la dosage de DRUG + +dosage de DRUG + +la dosage de DRUG + +montre la dosage de DRUG + +je veux la dosage de DRUG + + +qu' est la dosage de médicaments qui contiennent CHEMICAL_SUBSTANCE + +dosage de médicaments qui contiennent CHEMICAL_SUBSTANCE + +la dosage de médicaments qui contiennent CHEMICAL_SUBSTANCE + +montre la dosage de médicaments qui contiennent CHEMICAL_SUBSTANCE + +je veux la dosage de médicaments qui contiennent CHEMICAL_SUBSTANCE + +qu' est la dosage des médicaments qui contiennent CHEMICAL_SUBSTANCE + +dosage des médicaments qui contiennent CHEMICAL_SUBSTANCE + +la dosage des médicaments qui contiennent CHEMICAL_SUBSTANCE + +montre la dosage des médicaments qui contiennent CHEMICAL_SUBSTANCE + +je veux la dosage des médicaments qui contiennent CHEMICAL_SUBSTANCE + + +que sont les revendications qui mentionnent DRUG + +que sont toutes les revendications qui mentionnent DRUG + +des revendications qui mentionnent DRUG + +les revendications qui mentionnent DRUG + +toutes les revendications qui mentionnent DRUG + +montre les revendications qui mentionnent DRUG + +montre toutes les revendications qui mentionnent DRUG + +je veux les revendications qui mentionnent DRUG + +je veux toutes les revendications qui mentionnent DRUG