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 000000000..95cf7d052 Binary files /dev/null and b/examples/query/small/patentsQuery/LexPatsQuery.gfo differ diff --git a/examples/query/small/patentsQuery/LexPatsQueryEng.gf b/examples/query/small/patentsQuery/LexPatsQueryEng.gf new file mode 100644 index 000000000..5ab537c4c --- /dev/null +++ b/examples/query/small/patentsQuery/LexPatsQueryEng.gf @@ -0,0 +1,68 @@ +instance LexPatsQueryEng of LexPatsQuery = QueryEng ** + open SyntaxEng, (M = MakeStructuralEng), ParadigmsEng, (Lang=LangEng), ExtraEng, IrregEng, ResEng in { + +oper + + giveMe : NP -> 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 000000000..40ce22fd4 Binary files /dev/null and b/examples/query/small/patentsQuery/LexPatsQueryEng.gfo differ 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 000000000..791f96fb0 Binary files /dev/null and b/examples/query/small/patentsQuery/QueryPat.gfo differ 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 000000000..1614e51af Binary files /dev/null and b/examples/query/small/patentsQuery/QueryPatEng.gfo differ diff --git a/examples/query/small/patentsQuery/QueryPatEng2.gf b/examples/query/small/patentsQuery/QueryPatEng2.gf new file mode 100644 index 000000000..ac8fc78d2 --- /dev/null +++ b/examples/query/small/patentsQuery/QueryPatEng2.gf @@ -0,0 +1,69 @@ +--# -path=.:..:alltenses + +concrete QueryPatEng of QueryPat = QueryPatI with + (Syntax = SyntaxEng), + (Lang = LangEng), + (LexPatsQuery = LexPatsQueryEng) ** + +open + LexPatsQueryEng, + ParadigmsEng, + IrregEng, + SyntaxEng, + ExtraEng, + (L = LangEng), + (M = MakeStructuralEng), + Prelude, + QueryEng +in { + +-- 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 -> 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 000000000..fe61c9d58 Binary files /dev/null and b/examples/query/small/patentsQuery/QueryPatI.gfo differ 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