aboutsummaryrefslogtreecommitdiff
path: root/test/uk/ac/ox/cs/pagoda/hermit/TestRuleHelper.java
diff options
context:
space:
mode:
authorFederico Igne <federico.igne@cs.ox.ac.uk>2022-05-10 18:17:06 +0100
committerFederico Igne <federico.igne@cs.ox.ac.uk>2022-05-11 12:34:47 +0100
commit17bd9beaf7f358a44e5bf36a5855fe6727d506dc (patch)
tree47e9310a0cff869d9ec017dcb2c81876407782c8 /test/uk/ac/ox/cs/pagoda/hermit/TestRuleHelper.java
parent8651164cd632a5db310b457ce32d4fbc97bdc41c (diff)
downloadACQuA-17bd9beaf7f358a44e5bf36a5855fe6727d506dc.tar.gz
ACQuA-17bd9beaf7f358a44e5bf36a5855fe6727d506dc.zip
[pagoda] Move project to Scala
This commit includes a few changes: - The repository still uses Maven to manage dependency but it is now a Scala project. - The code has been ported from OWLAPI 3.4.10 to 5.1.20 - A proof of concept program using both RSAComb and PAGOdA has been added.
Diffstat (limited to 'test/uk/ac/ox/cs/pagoda/hermit/TestRuleHelper.java')
-rw-r--r--test/uk/ac/ox/cs/pagoda/hermit/TestRuleHelper.java319
1 files changed, 0 insertions, 319 deletions
diff --git a/test/uk/ac/ox/cs/pagoda/hermit/TestRuleHelper.java b/test/uk/ac/ox/cs/pagoda/hermit/TestRuleHelper.java
deleted file mode 100644
index 3a2cad8..0000000
--- a/test/uk/ac/ox/cs/pagoda/hermit/TestRuleHelper.java
+++ /dev/null
@@ -1,319 +0,0 @@
1package uk.ac.ox.cs.pagoda.hermit;
2
3import org.testng.annotations.Test;
4import uk.ac.ox.cs.pagoda.MyPrefixes;
5import uk.ac.ox.cs.pagoda.owl.OWLHelper;
6import uk.ac.ox.cs.pagoda.rules.DatalogProgram;
7
8import java.io.ByteArrayInputStream;
9import java.io.InputStream;
10import java.nio.charset.Charset;
11
12public class TestRuleHelper {
13
14 @Test
15 public static void someTest() {
16 String prefixes = "PREFIX anony: <http://www.cs.ox.ac.uk/PAGOdA/skolemised#>\n" +
17 "PREFIX aux: <http://www.cs.ox.ac.uk/PAGOdA/auxiliary#>\n" +
18 "PREFIX owl: <http://www.w3.org/2002/07/owl#>\n" +
19 "PREFIX prefix0: <http://semantics.crl.ibm.com/univ-bench-dl.owl#>\n" +
20 "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
21 "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n" +
22 "PREFIX ruleml: <http://www.w3.org/2003/11/ruleml#>\n" +
23 "PREFIX swrl: <http://www.w3.org/2003/11/swrl#>\n" +
24 "PREFIX swrlb: <http://www.w3.org/2003/11/swrlb#>\n" +
25 "PREFIX swrlx: <http://www.w3.org/2003/11/swrlx#>\n" +
26 "PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>\n";
27 String rule = "owl:Nothing(?X) :- owl:Nothing2(?X).\n" +
28 "prefix0:WomanCollege(?X) :- prefix0:College(?X).\n" +
29 "owl:Nothing5(?X) :- prefix0:WomanCollege(?X), prefix0:hasStudent(?X,?Y), prefix0:Man(?Y).\n" +
30 "prefix0:SportsFan(?X) :- prefix0:Person(?X), prefix0:isCrazyAbout(?X,?Y), prefix0:Sports(?Y).\n" +
31 "prefix0:Organization(?X) :- prefix0:isAffiliateOf(?X,?Y).\n" +
32 "prefix0:Person(?X) :- prefix0:lastName(?X,?Y).\n" +
33 "owl:sameAs(?Y1,?Y2) :- prefix0:isHeadOf(?Y1,?X), prefix0:isHeadOf(?Y2,?X).\n" +
34 "prefix0:isMemberOf(?Y,?X) :- prefix0:hasMember(?X,?Y).\n" +
35 "prefix0:Person(?X) :- prefix0:hasMasterDegreeFrom(?X,?Y).\n" +
36 "prefix0:Person(?X) :- prefix0:TeachingAssistant(?X).\n" +
37 "prefix0:Employee(?X) :- prefix0:Person(?X), prefix0:worksFor(?X,?Y), prefix0:Organization(?Y).\n" +
38 "prefix0:FineArts(?X) :- prefix0:Media_Arts_And_ciencesClass(?X).\n" +
39 "prefix0:FineArts(?X) :- prefix0:Medieval_ArtsClass(?X).\n" +
40 "prefix0:Professor(?X) :- prefix0:Chair(?X).\n" +
41 "prefix0:Faculty(?Y) :- prefix0:isTaughtBy(?X,?Y).\n" +
42 "prefix0:worksFor(?X,anony:individual25) :- prefix0:Employee(?X).\n" +
43 "prefix0:Engineering(?X) :- prefix0:Chemical_EngineeringClass(?X).\n" +
44 "prefix0:BaseballClass(anony:individual1) :- prefix0:BaseballLover(?X).\n" +
45 "prefix0:Course(?Y) :- prefix0:listedCourse(?X,?Y).\n" +
46 "prefix0:worksFor(?X,?Y) :- prefix0:isHeadOf(?X,?Y).\n" +
47 "prefix0:Faculty(?X) :- prefix0:teacherOf(?X,?Y).\n" +
48 "prefix0:Course(?Y) :- prefix0:teachingAssistantOf(?X,?Y).\n" +
49 "owl:Nothing(?X) :- owl:Nothing1(?X).\n" +
50 "prefix0:Person(?X) :- prefix0:Student(?X).\n" +
51 "prefix0:isFriendOf(?Y,?X) :- prefix0:isFriendOf(?X,?Y).\n" +
52 "prefix0:Student(?X) :- prefix0:UndergraduateStudent(?X).\n" +
53 "prefix0:Person(?X) :- prefix0:BasketBallLover(?X).\n" +
54 "prefix0:Person(?Y) :- prefix0:hasSameHomeTownWith(?X,?Y).\n" +
55 "prefix0:Employee(?X) :- prefix0:Faculty(?X).\n" +
56 "prefix0:Insterest(?X) :- prefix0:Music(?X).\n" +
57 "owl:Nothing1(?X) :- prefix0:NonScienceStudent(?X), prefix0:hasMajor(?X,?Y), prefix0:Science(?Y).\n" +
58 "owl:sameAs(?Y1,?Y2) :- prefix0:isTaughtBy(?X,?Y1), prefix0:isTaughtBy(?X,?Y2).\n" +
59 "prefix0:hasStudent(?Y,?X) :- prefix0:isStudentOf(?X,?Y).\n" +
60 "prefix0:Student(?X) :- prefix0:ScienceStudent(?X).\n" +
61 "prefix0:like(?X,anony:individual7) :- prefix0:PeopleWithHobby(?X).\n" +
62 "prefix0:Publication(?X) :- prefix0:Article(?X).\n" +
63 "prefix0:isTaughtBy(?Y,?X) :- prefix0:teacherOf(?X,?Y).\n" +
64 "prefix0:isCrazyAbout(?X,anony:individual19) :- prefix0:TennisFan(?X).\n" +
65 "prefix0:Science(?X) :- prefix0:Marine_ScienceClass(?X).\n" +
66 "prefix0:SupportingStaff(?X) :- prefix0:SystemsStaff(?X).\n" +
67 "prefix0:hasStudent(?X,anony:individual10) :- prefix0:College(?X).\n" +
68 "prefix0:FineArts(?X) :- prefix0:Theatre_and_DanceClass(?X).\n" +
69 "prefix0:Organization(?Y) :- prefix0:subOrganizationOf(?X,?Y).\n" +
70 "prefix0:Engineering(?X) :- prefix0:Materical_Science_EngineeringClass(?X).\n" +
71 "prefix0:hasMember(?Y,?X) :- prefix0:isMemberOf(?X,?Y).\n" +
72 "prefix0:Student(?Y) :- prefix0:hasStudent(?X,?Y).\n" +
73 "owl:Nothing(?X) :- owl:Nothing5(?X).\n" +
74 "prefix0:isCrazyAbout(?X,anony:individual18) :- prefix0:SwimmingFan(?X).\n" +
75 "prefix0:Publication(?Y) :- prefix0:orgPublication(?X,?Y).\n" +
76 "prefix0:Chair(?X) :- prefix0:Person(?X), prefix0:isHeadOf(?X,?Y), prefix0:Department(?Y).\n" +
77 "prefix0:isStudentOf(?Y,?X) :- prefix0:hasStudent(?X,?Y).\n" +
78 "prefix0:Person(?X) :- prefix0:isAdvisedBy(?X,?Y).\n" +
79 "prefix0:hasMajor(?X,anony:individual2) :- prefix0:Student(?X).\n" +
80 "prefix0:Publication(?X) :- prefix0:publicationDate(?X,?Y).\n" +
81 "owl:Nothing(?X) :- owl:Nothing6(?X).\n" +
82 "prefix0:Director(?X) :- prefix0:Person(?X), prefix0:isHeadOf(?X,?Y), prefix0:Program(?Y).\n" +
83 "prefix0:Professor(?X) :- prefix0:AssociateProfessor(?X).\n" +
84 "prefix0:TeachingAssistant(?X) :- prefix0:Person(?X), prefix0:teachingAssistantOf(?X,?Y), prefix0:Course(?Y).\n" +
85 "prefix0:Research(?Y) :- prefix0:researchProject(?X,?Y).\n" +
86 "prefix0:TeachingAssistant(?X) :- prefix0:teachingAssistantOf(?X,?Y).\n" +
87 "prefix0:University(?X) :- prefix0:hasAlumnus(?X,?Y).\n" +
88 "prefix0:Faculty(?X) :- prefix0:Lecturer(?X).\n" +
89 "prefix0:isHeadOf(?X,anony:individual21) :- prefix0:Dean(?X).\n" +
90 "prefix0:like(?X,?Y) :- prefix0:isCrazyAbout(?X,?Y).\n" +
91 "prefix0:Person(?X) :- prefix0:hasSameHomeTownWith(?X,?Y).\n" +
92 "prefix0:Organization(?X) :- prefix0:orgPublication(?X,?Y).\n" +
93 "prefix0:Person(?Y) :- prefix0:hasMember(?X,?Y).\n" +
94 "prefix0:HumanitiesAndSocial(?X) :- prefix0:LinguisticsClass(?X).\n" +
95 "prefix0:Engineering(?X) :- prefix0:Aeronautical_EngineeringClass(?X).\n" +
96 "owl:Nothing(?X) :- owl:Nothing3(?X).\n" +
97 "prefix0:isHeadOf(?X,anony:individual12) :- prefix0:Director(?X).\n" +
98 "prefix0:Publication(?X) :- prefix0:publicationAuthor(?X,?Y).\n" +
99 "prefix0:Organization(?X) :- prefix0:College(?X).\n" +
100 "prefix0:isCrazyAbout(?X,anony:individual24) :- prefix0:BaseballFan(?X).\n" +
101 "prefix0:FineArts(?X) :- prefix0:Performing_ArtsClass(?X).\n" +
102 "prefix0:Sports(?X) :- prefix0:BasketBallClass(?X).\n" +
103 "prefix0:HumanitiesAndSocial(?X) :- prefix0:PsychologyClass(?X).\n" +
104 "prefix0:Person(?X) :- prefix0:Employee(?X).\n" +
105 "prefix0:FineArts(?X) :- prefix0:DramaClass(?X).\n" +
106 "prefix0:Faculty(?X) :- prefix0:PostDoc(?X).\n" +
107 "prefix0:University(?Y) :- prefix0:hasDoctoralDegreeFrom(?X,?Y).\n" +
108 "prefix0:Sports(anony:individual0) :- prefix0:SportsLover(?X).\n" +
109 "prefix0:Person(?Y) :- prefix0:hasAlumnus(?X,?Y).\n" +
110 "prefix0:FineArts(?X) :- prefix0:Modern_ArtsClass(?X).\n" +
111 "prefix0:hasMember(?X,?Y) :- prefix0:hasStudent(?X,?Y).\n" +
112 "prefix0:Course(?X) :- prefix0:isTaughtBy(?X,?Y).\n" +
113 "prefix0:NonScienceStudent(?X) :- prefix0:Student(?X).\n" +
114 "prefix0:BasketBallLover(?X) :- prefix0:Person(?X), prefix0:like(?X,?Y), prefix0:BasketBallClass(?Y).\n" +
115 "prefix0:Professor(?X) :- prefix0:VisitingProfessor(?X).\n" +
116 "prefix0:GraduateCourse(?Y) :- prefix0:GraduateStudent(?X), prefix0:takesCourse(?X,?Y).\n" +
117 "prefix0:TennisClass(anony:individual19) :- prefix0:TennisFan(?X).\n" +
118 "prefix0:Work(?X) :- prefix0:Research(?X).\n" +
119 "prefix0:TennisFan(?X) :- prefix0:Person(?X), prefix0:isCrazyAbout(?X,?Y), prefix0:TennisClass(?Y).\n" +
120 "prefix0:ScienceStudent(?X) :- prefix0:Student(?X), prefix0:hasMajor(?X,?Y), prefix0:Science(?Y).\n" +
121 "prefix0:Person(?X) :- prefix0:Woman(?X).\n" +
122 "prefix0:Man(?X) :- prefix0:Person(?X).\n" +
123 "prefix0:Person(?X) :- prefix0:hasUndergraduateDegreeFrom(?X,?Y).\n" +
124 "prefix0:ResearchGroup(?X) :- prefix0:researchProject(?X,?Y).\n" +
125 "prefix0:hasSameHomeTownWith(?X,?Z) :- prefix0:hasSameHomeTownWith(?X,?Y), prefix0:hasSameHomeTownWith(?Y,?Z).\n" +
126 "prefix0:Person(?X) :- prefix0:isFriendOf(?X,?Y).\n" +
127 "prefix0:Person(?Y) :- prefix0:publicationAuthor(?X,?Y).\n" +
128 "prefix0:Person(?X) :- prefix0:Chair(?X).\n" +
129 "prefix0:Publication(?X) :- prefix0:Manual(?X).\n" +
130 "prefix0:Publication(?X) :- prefix0:UnofficialPublication(?X).\n" +
131 "prefix0:Engineering(?X) :- prefix0:Industry_EngineeringClass(?X).\n" +
132 "prefix0:Science(?X) :- prefix0:StatisticsClass(?X).\n" +
133 "prefix0:Organization(?Y) :- prefix0:isStudentOf(?X,?Y).\n" +
134 "prefix0:SwimmingFan(?X) :- prefix0:Person(?X), prefix0:isCrazyAbout(?X,?Y), prefix0:SwimmingClass(?Y).\n" +
135 "prefix0:Person(?X) :- prefix0:emailAddress(?X,?Y).\n" +
136 "prefix0:FineArts(?X) :- prefix0:Latin_ArtsClass(?X).\n" +
137 "prefix0:Organization(?X) :- prefix0:ResearchGroup(?X).\n" +
138 "prefix0:AcademicSubject(?X) :- prefix0:HumanitiesAndSocial(?X).\n" +
139 "prefix0:Professor(?X) :- prefix0:Dean(?X).\n" +
140 "prefix0:SwimmingClass(anony:individual8) :- prefix0:SwimmingLover(?X).\n" +
141 "prefix0:University(?Y) :- prefix0:hasMasterDegreeFrom(?X,?Y).\n" +
142 "prefix0:Article(?X) :- prefix0:ConferencePaper(?X).\n" +
143 "prefix0:Person(?X) :- prefix0:BasketBallFan(?X).\n" +
144 "prefix0:HumanitiesAndSocial(?X) :- prefix0:ReligionsClass(?X).\n" +
145 "prefix0:Science(?X) :- prefix0:PhysicsClass(?X).\n" +
146 "prefix0:Dean(?X) :- prefix0:isHeadOf(?X,?Y), prefix0:College(?Y).\n" +
147 "prefix0:University(?Y) :- prefix0:hasDegreeFrom(?X,?Y).\n" +
148 "prefix0:Organization(?X) :- prefix0:hasMember(?X,?Y).\n" +
149 "prefix0:Engineering(?X) :- prefix0:Computer_EngineeringClass(?X).\n" +
150 "prefix0:Publication(?X) :- prefix0:Software(?X).\n" +
151 "prefix0:Science(?X) :- prefix0:GeosciencesClass(?X).\n" +
152 "prefix0:hasMajor(?X,anony:individual9) :- prefix0:ScienceStudent(?X).\n" +
153 "prefix0:hasDegreeFrom(?Y,?X) :- prefix0:hasAlumnus(?X,?Y).\n" +
154 "prefix0:Software(?X) :- prefix0:softwareDocumentation(?X,?Y).\n" +
155 "prefix0:isMemberOf(?X,?Y) :- prefix0:isStudentOf(?X,?Y).\n" +
156 "prefix0:Organization(?X) :- prefix0:hasStudent(?X,?Y).\n" +
157 "owl:Nothing2(?X) :- prefix0:GraduateCourse(?X), prefix0:GraduateCourse_neg(?X).\n" +
158 "prefix0:BaseballFan(?X) :- prefix0:Person(?X), prefix0:isCrazyAbout(?X,?Y), prefix0:BaseballClass(?Y).\n" +
159 "prefix0:Publication(?X) :- prefix0:publicationResearch(?X,?Y).\n" +
160 "prefix0:like(?X,anony:individual14) :- prefix0:PeopleWithManyHobbies(?X).\n" +
161 "prefix0:SportsLover(?X) :- prefix0:Person(?X), prefix0:like(?X,?Y), prefix0:Sports(?Y).\n" +
162 "prefix0:Organization(?X) :- prefix0:University(?X).\n" +
163 "prefix0:hasAlumnus(?Y,?X) :- prefix0:hasDegreeFrom(?X,?Y).\n" +
164 "prefix0:Science(?X) :- prefix0:Materials_ScienceClass(?X).\n" +
165 "prefix0:Professor(?X) :- prefix0:tenured(?X,?Y).\n" +
166 "prefix0:Faculty(?X) :- prefix0:Professor(?X).\n" +
167 "prefix0:Student(?X) :- prefix0:NonScienceStudent(?X).\n" +
168 "prefix0:Person(?X) :- prefix0:telephone(?X,?Y).\n" +
169 "prefix0:FineArts(?X) :- prefix0:ArchitectureClass(?X).\n" +
170 "prefix0:University(?Y) :- prefix0:hasUndergraduateDegreeFrom(?X,?Y).\n" +
171 "prefix0:Man(anony:individual10) :- prefix0:College(?X).\n" +
172 "prefix0:Person(?X) :- prefix0:Man(?X).\n" +
173 "prefix0:Person(?X) :- prefix0:title(?X,?Y).\n" +
174 "prefix0:subOrganizationOf(?X,?Z) :- prefix0:subOrganizationOf(?X,?Y), prefix0:subOrganizationOf(?Y,?Z).\n" +
175 "owl:sameAs(?Y1,?Y2) :- prefix0:like(?X,?Y1), prefix0:like(?X,?Y2).\n" +
176 "prefix0:takesCourse(?X,anony:individual4) :- prefix0:GraduateStudent(?X).\n" +
177 "prefix0:Sports(?X) :- prefix0:TennisClass(?X).\n" +
178 "prefix0:Engineering(?X) :- prefix0:Petroleuml_EngineeringClass(?X).\n" +
179 "prefix0:Organization(?X) :- prefix0:Institute(?X).\n" +
180 "prefix0:isCrazyAbout(?X,anony:individual16) :- prefix0:BasketBallFan(?X).\n" +
181 "prefix0:Science(?X) :- prefix0:BiologyClass(?X).\n" +
182 "prefix0:Person(?X) :- prefix0:SportsFan(?X).\n" +
183 "prefix0:Course(?X) :- prefix0:GraduateCourse(?X).\n" +
184 "prefix0:Person(?X) :- prefix0:Director(?X).\n" +
185 "prefix0:HumanitiesAndSocial(?X) :- prefix0:EconomicsClass(?X).\n" +
186 "prefix0:Person(?X) :- prefix0:BaseballLover(?X).\n" +
187 "prefix0:HumanitiesAndSocial(?X) :- prefix0:HistoryClass(?X).\n" +
188 "prefix0:FineArts(?X) :- prefix0:Asian_ArtsClass(?X).\n" +
189 "prefix0:isStudentOf(?X,?Y) :- prefix0:enrollIn(?X,?Y).\n" +
190 "prefix0:isHeadOf(?X,anony:individual20) :- prefix0:Chair(?X).\n" +
191 "prefix0:Person(?X) :- prefix0:PeopleWithHobby(?X).\n" +
192 "prefix0:Sports(anony:individual5) :- prefix0:SportsFan(?X).\n" +
193 "prefix0:Science(anony:individual9) :- prefix0:ScienceStudent(?X).\n" +
194 "prefix0:Engineering(?X) :- prefix0:Biomedical_EngineeringClass(?X).\n" +
195 "prefix0:HumanitiesAndSocial(?X) :- prefix0:Modern_LanguagesClass(?X).\n" +
196 "prefix0:like(?X,?Y) :- prefix0:love(?X,?Y).\n" +
197 "prefix0:hasStudent(?X,anony:individual11) :- prefix0:College(?X).\n" +
198 "prefix0:Science(?X) :- prefix0:ChemistryClass(?X).\n" +
199 "prefix0:Student(?X) :- prefix0:takesCourse(?X,?Y).\n" +
200 "prefix0:teacherOf(?Y,?X) :- prefix0:isTaughtBy(?X,?Y).\n" +
201 "prefix0:HumanitiesAndSocial(?X) :- prefix0:AnthropologyClass(?X).\n" +
202 "prefix0:Person(?X) :- prefix0:hasDegreeFrom(?X,?Y).\n" +
203 "prefix0:Person(?X) :- prefix0:hasDoctoralDegreeFrom(?X,?Y).\n" +
204 "prefix0:Engineering(?X) :- prefix0:Electrical_EngineeringClass(?X).\n" +
205 "owl:differentFrom(anony:individual13,anony:individual14) :- prefix0:PeopleWithManyHobbies(?X).\n" +
206 "prefix0:Person(?X) :- prefix0:SportsLover(?X).\n" +
207 "prefix0:Organization(?X) :- prefix0:subOrganizationOf(?X,?Y).\n" +
208 "prefix0:SwimmingLover(?X) :- prefix0:Person(?X), prefix0:like(?X,?Y), prefix0:SwimmingClass(?Y).\n" +
209 "prefix0:BaseballLover(?X) :- prefix0:Person(?X), prefix0:like(?X,?Y), prefix0:BaseballClass(?Y).\n" +
210 "prefix0:Science(?X) :- prefix0:Computer_ScienceClass(?X).\n" +
211 "prefix0:Sports(?X) :- prefix0:SwimmingClass(?X).\n" +
212 "prefix0:Science(?X) :- prefix0:AstronomyClass(?X).\n" +
213 "prefix0:Work(?X) :- prefix0:Course(?X).\n" +
214 "prefix0:Science(?X) :- prefix0:MathematicsClass(?X).\n" +
215 "prefix0:AcademicSubject(?X) :- prefix0:Engineering(?X).\n" +
216 "prefix0:hasDegreeFrom(?X,?Y) :- prefix0:hasUndergraduateDegreeFrom(?X,?Y).\n" +
217 "prefix0:like(?X,anony:individual15) :- prefix0:PeopleWithManyHobbies(?X).\n" +
218 "prefix0:Sports(?X) :- prefix0:BaseballClass(?X).\n" +
219 "prefix0:Student(?X) :- prefix0:isStudentOf(?X,?Y).\n" +
220 "prefix0:Professor(?Y) :- prefix0:isAdvisedBy(?X,?Y).\n" +
221 "prefix0:SwimmingClass(anony:individual18) :- prefix0:SwimmingFan(?X).\n" +
222 "prefix0:like(?X,anony:individual22) :- prefix0:BasketBallLover(?X).\n" +
223 "prefix0:like(?X,anony:individual1) :- prefix0:BaseballLover(?X).\n" +
224 "prefix0:Schedule(?X) :- prefix0:listedCourse(?X,?Y).\n" +
225 "owl:Nothing6(?X) :- owl:differentFrom(?X,?X).\n" +
226 "prefix0:PeopleWithManyHobbies(?X) :- prefix0:like(?X,?Y3).\n" +
227 "prefix0:Course(anony:individual23) :- prefix0:TeachingAssistant(?X).\n" +
228 "prefix0:takesCourse(?X,anony:individual3) :- prefix0:takesCourse(?X,?Y).\n" +
229 "prefix0:love(?X,?Y) :- prefix0:like(?X,?Y).\n" +
230 "prefix0:AcademicSubject(?X) :- prefix0:Science(?X).\n" +
231 "prefix0:Person(?X) :- prefix0:ResearchAssistant(?X).\n" +
232 "prefix0:Insterest(?X) :- prefix0:Sports(?X).\n" +
233 "prefix0:Article(?X) :- prefix0:TechnicalReport(?X).\n" +
234 "prefix0:UndergraduateStudent(?Y) :- prefix0:WomanCollege(?X), prefix0:hasStudent(?X,?Y).\n" +
235 "prefix0:Department(anony:individual20) :- prefix0:Chair(?X).\n" +
236 "prefix0:Woman(?X) :- prefix0:Person(?X).\n" +
237 "owl:Nothing4(?X) :- prefix0:UndergraduateStudent(?X), prefix0:UndergraduateStudent_neg(?X).\n" +
238 "prefix0:HumanitiesAndSocial(?X) :- prefix0:HumanitiesClass(?X).\n" +
239 "prefix0:GraduateCourse_neg(anony:individual3) :- prefix0:takesCourse(?X,?Y).\n" +
240 "prefix0:Organization(?Y) :- prefix0:isAffiliatedOrganizationOf(?X,?Y).\n" +
241 "owl:Nothing(?X) :- owl:Nothing4(?X).\n" +
242 "prefix0:like(?X,anony:individual0) :- prefix0:SportsLover(?X).\n" +
243 "prefix0:Research(?Y) :- prefix0:publicationResearch(?X,?Y).\n" +
244 "prefix0:Professor(?X) :- prefix0:AssistantProfessor(?X).\n" +
245 "prefix0:Program(anony:individual12) :- prefix0:Director(?X).\n" +
246 "prefix0:isMemberOf(?X,?Y) :- prefix0:worksFor(?X,?Y).\n" +
247 "prefix0:Organization(anony:individual25) :- prefix0:Employee(?X).\n" +
248 "prefix0:hasDegreeFrom(?X,?Y) :- prefix0:hasDoctoralDegreeFrom(?X,?Y).\n" +
249 "prefix0:Person(?Y) :- prefix0:isAffiliateOf(?X,?Y).\n" +
250 "prefix0:Student(?X) :- prefix0:Person(?X), prefix0:isStudentOf(?X,?Y), prefix0:Organization(?Y).\n" +
251 "prefix0:PeopleWithHobby(?X) :- prefix0:Person(?X), prefix0:like(?X,?Y).\n" +
252 "prefix0:Organization(anony:individual17) :- prefix0:Student(?X).\n" +
253 "prefix0:Engineering(?X) :- prefix0:Mechanical_EngineeringClass(?X).\n" +
254 "prefix0:Employee(?X) :- prefix0:SupportingStaff(?X).\n" +
255 "prefix0:Organization(?X) :- prefix0:Department(?X).\n" +
256 "prefix0:HumanitiesAndSocial(?X) :- prefix0:PhilosophyClass(?X).\n" +
257 "prefix0:College(anony:individual21) :- prefix0:Dean(?X).\n" +
258 "prefix0:UndergraduateStudent_neg(anony:individual11) :- prefix0:College(?X).\n" +
259 "owl:Nothing3(?X) :- prefix0:Man(?X), prefix0:Woman(?X).\n" +
260 "owl:sameAs(?Y1,?Y2) :- prefix0:takesCourse(?X,?Y1), prefix0:LeisureStudent(?X), prefix0:takesCourse(?X,?Y2).\n" +
261 "prefix0:Organization(?X) :- prefix0:isAffiliatedOrganizationOf(?X,?Y).\n" +
262 "prefix0:isCrazyAbout(?X,anony:individual5) :- prefix0:SportsFan(?X).\n" +
263 "prefix0:Software(?X) :- prefix0:softwareVersion(?X,?Y).\n" +
264 "prefix0:Science(anony:individual2) :- prefix0:Student(?X).\n" +
265 "prefix0:SupportingStaff(?X) :- prefix0:ClericalStaff(?X).\n" +
266 "prefix0:Person(?X) :- prefix0:SwimmingLover(?X).\n" +
267 "prefix0:Person(?X) :- prefix0:age(?X,?Y).\n" +
268 "prefix0:BasketBallClass(anony:individual22) :- prefix0:BasketBallLover(?X).\n" +
269 "prefix0:like(?X,anony:individual8) :- prefix0:SwimmingLover(?X).\n" +
270 "prefix0:Person(?X) :- prefix0:firstName(?X,?Y).\n" +
271 "prefix0:Department(?Y) :- prefix0:enrollIn(?X,?Y).\n" +
272 "prefix0:Publication(?Y) :- prefix0:softwareDocumentation(?X,?Y).\n" +
273 "prefix0:hasDegreeFrom(?X,?Y) :- prefix0:hasMasterDegreeFrom(?X,?Y).\n" +
274 "prefix0:AcademicSubject(?Y) :- prefix0:hasMajor(?X,?Y).\n" +
275 "prefix0:Article(?X) :- prefix0:JournalArticle(?X).\n" +
276 "prefix0:Organization(?X) :- prefix0:Program(?X).\n" +
277 "prefix0:Course(?Y) :- prefix0:teacherOf(?X,?Y).\n" +
278 "prefix0:AcademicSubject(?X) :- prefix0:FineArts(?X).\n" +
279 "prefix0:Person(?X) :- prefix0:TennisFan(?X).\n" +
280 "prefix0:GraduateStudent(?X) :- prefix0:takesCourse(?X,?Y).\n" +
281 "prefix0:BasketBallFan(?X) :- prefix0:Person(?X), prefix0:isCrazyAbout(?X,?Y), prefix0:BasketBallClass(?Y).\n" +
282 "prefix0:Publication(?X) :- prefix0:Specification(?X).\n" +
283 "prefix0:worksFor(?X,anony:individual6) :- prefix0:ResearchAssistant(?X).\n" +
284 "prefix0:Person(?X) :- prefix0:SwimmingFan(?X).\n" +
285 "prefix0:BasketBallClass(anony:individual16) :- prefix0:BasketBallFan(?X).\n" +
286 "prefix0:Person(?X) :- prefix0:BaseballFan(?X).\n" +
287 "prefix0:Person(?Y) :- prefix0:isFriendOf(?X,?Y).\n" +
288 "prefix0:like(?X,anony:individual13) :- prefix0:PeopleWithManyHobbies(?X).\n" +
289 "owl:differentFrom(anony:individual14,anony:individual15) :- prefix0:PeopleWithManyHobbies(?X).\n" +
290 "prefix0:hasSameHomeTownWith(?Y,?X) :- prefix0:hasSameHomeTownWith(?X,?Y).\n" +
291 "prefix0:ResearchGroup(anony:individual6) :- prefix0:ResearchAssistant(?X).\n" +
292 "prefix0:College(?X) :- prefix0:WomanCollege(?X).\n" +
293 "prefix0:BaseballClass(anony:individual24) :- prefix0:BaseballFan(?X).\n" +
294 "owl:differentFrom(anony:individual13,anony:individual15) :- prefix0:PeopleWithManyHobbies(?X).\n" +
295 "prefix0:Publication(?X) :- prefix0:Book(?X).\n" +
296 "prefix0:Professor(?X) :- prefix0:FullProfessor(?X).\n" +
297 "prefix0:Engineering(?X) :- prefix0:Civil_EngineeringClass(?X).\n" +
298 "prefix0:isStudentOf(?X,anony:individual17) :- prefix0:Student(?X).\n" +
299 "prefix0:HumanitiesAndSocial(?X) :- prefix0:EnglishClass(?X).\n" +
300 "prefix0:teachingAssistantOf(?X,anony:individual23) :- prefix0:TeachingAssistant(?X).\n" +
301 "prefix0:woman(?X) | prefix0:man(?X) :- prefix0:human(?X).\n" +
302 "prefix0:FineArts(?X) :- prefix0:MusicsClass(?X).\n";
303
304 for(String line: prefixes.split("\n")) {
305 String[] split = line.split(" ");
306 MyPrefixes.PAGOdAPrefixes.declarePrefix(split[1], OWLHelper.removeAngles(split[2]));
307 }
308
309 InputStream is = new ByteArrayInputStream(rule.getBytes(Charset.defaultCharset()));
310 DatalogProgram datalogProgram = new DatalogProgram(is);
311 System.out.println(">> General <<");
312 System.out.println(datalogProgram.getGeneral().toString());
313 System.out.println(">> Lower <<");
314 System.out.println(datalogProgram.getLower().toString());
315 System.out.println(">> Upper <<");
316 System.out.println(datalogProgram.getUpper().toString());
317 System.out.flush();
318 }
319}