summaryrefslogtreecommitdiff
path: root/examples/query/small/patentsQuery/QueryPat.gf
blob: b24840b1f9324b96889a89ca31c8e2f14a2db47b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
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)


 

}