-
Notifications
You must be signed in to change notification settings - Fork 71
/
HouseholdAppliances.kif
executable file
·1873 lines (1543 loc) · 68 KB
/
HouseholdAppliances.kif
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
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
;; ==========================================================
;; Household Appliances Energy Management Ontology
;; ==========================================================
;;
;; This is the source file for the Household Appliances Energy Management Ontology,
;; an ontology that is being developed as general classification of home electrical
;; appliances provided by various manufacturers.
;;
;; The Household Appliances Energy Management Ontology is copyrighted by Coventry
;; University (c) 2011. It is released under the GNU Public License
;; <http://www.gnu.org/copyleft/gpl.html>. Users of this code also consent, by use
;; of this material, to credit Coventry University in any writings, briefings,
;; publications, presentations, or other representations of any code or other
;; product which incorporates, builds on, or uses this material.
;;
;; We ask that people using or referencing this work cite our primary paper:
;; @INPROCEEDINGS{ shah:ontology,
;; AUTHOR = "Nazaraf Shah and Kuo-Ming Chao and Tomasz Zlamaniec and Adriana Matei",
;; TITLE = "Ontology for Home Energy Management Domain.",
;; booktitle = "DICTAP (2)'11",
;; PAGES = {337-347},
;; YEAR = {2011} }
;;
;; Dependencies:
;; Merge.kif
;; Mid-level-ontology.kif
;;
;; This ontology is based on SUMO. For more information please refer to:
;; Niles, I., and Pease, A. 2001. Towards a Standard Upper Ontology. In
;; Proceedings of the 2nd International Conference on Formal Ontology in
;; Information Systems (FOIS-2001), Chris Welty and Barry Smith, eds,
;; Ogunquit, Maine, October 17-19, 2001.
;; Also see http://www.ontologyportal.org
;;
;; Version date: November 2011
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; BatteryPoweredDevice
(subclass BatteryPoweredDevice ElectricDevice)
(documentation BatteryPoweredDevice EnglishLanguage
"%BatteryPoweredDevice is an &%ElectricDevice that can be powered by
either build-in &%Battery or attachable. Some battery powered devices
can have multiple ")
(termFormat EnglishLanguage BatteryPoweredDevice "battery powered device")
; a ElectricDevice connected with a Battery is a BatteryPoweredDevice
; if there exists a process of transfering electricity from battery to that device
; the process is 'powering'
(=>
(and
(instance ?DEVICE ElectricDevice)
(instance ?BATTERY Battery)
(instance ?PROC Process)
(patient ?PROC Electricity)
(destination ?PROC ?DEVICE)
(agent ?PROC ?BATTERY))
(instance ?DEVICE BatteryPoweredDevice))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; DEFINE CLASSES FOR HOUSEHOLD APPLIANCES
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; HouseholdAppliance
(subclass HouseholdAppliance Device)
(documentation HouseholdAppliance EnglishLanguage "%HouseholdAppliance
is a &%Device designed to be used in a &%PermanentResidence")
(termFormat EnglishLanguage HouseholdAppliance "household appliance")
; device that has function partlyLocated or located (subrelation) in a permanent residence
(=>
(instance ?DEVICE HouseholdAppliance)
(hasPurpose ?DEVICE
(exists (?PROC ?RESI)
(and
(instrument ?PROC ?DEVICE)
(instance ?PROC Process)
(instance ?RESI PermanentResidence)
(partlyLocated ?PROC ?RESI)))))
;; BodyCareAppliance
(subclass BodyCareAppliance HouseholdAppliance)
(documentation BodyCareAppliance EnglishLanguage "&%HouseholdAppliance
designed to be used for exercise or personal body care.")
(termFormat EnglishLanguage BodyCareAppliance "body care appliance")
; if it is BodyCareAppliance then hasPurpose - patient is Human/BodyPart
(=>
(instance ?DEVICE BodyCareAppliance)
(hasPurpose ?DEVICE
(exists (?PROC ?PATIENT)
(and
(instance ?PROC Process)
(instrument ?PROC ?DEVICE)
(patient ?PROC ?PATIENT)
(or
(instance ?PATIENT Human)
(instance ?PATIENT BodyPart))))))
;; BathBodyCareAppliance
(subclass BathBodyCareAppliance BodyCareAppliance)
(documentation BathBodyCareAppliance EnglishLanguage "A &%BodyCareAppliance that is using water.")
(termFormat EnglishLanguage BathBodyCareAppliance "bath body care appliance")
; BathBodyCareAppliance hasPurpose which includes using water as a resource
(=>
(instance ?DEVICE BathBodyCareAppliance)
(hasPurpose ?DEVICE
(exists (?PROC ?WATER)
(and
(instance ?PROC Process)
(instance ?WATER Water)
(instrument ?PROC ?DEVICE)
(resource ?PROC ?WATER)))))
; ;; BathingDevice
; (subclass BathingDevice BathBodyCareAppliance) ;; MILO
;; FootSpa
(subclass FootSpa BathBodyCareAppliance)
(documentation FootSpa EnglishLanguage "A &%BathBodyCareAppliance that
can be giving a foot massage.")
(termFormat EnglishLanguage FootSpa "foot spa")
(=>
(instance ?DEVICE FootSpa)
(hasPurpose ?DEVICE
(exists (?PROC ?FOOT)
(and
(instance ?PROC Process)
(instance ?FOOT Foot)
(instrument ?PROC ?DEVICE)
(patient ?PROC ?FOOT)))))
;; ElectricFootSpa
(subclass ElectricFootSpa FootSpa)
(subclass ElectricFootSpa ElectricDevice)
(documentation ElectricFootSpa EnglishLanguage "A &%FootSpa that uses
electricity for vibration or warming water.")
(termFormat EnglishLanguage ElectricFootSpa "foot spa")
;; WhirlpoolBathtub
(subclass WhirlpoolBathtub WhirlpoolTub) ;; MILO
(subclass WhirlpoolBathtub ElectricDevice)
(documentation WhirlpoolBathtub EnglishLanguage "A &%BathTub with
nozzles capable of introducing air bobbles into the water.")
(termFormat EnglishLanguage WhirlpoolBathtub "whirlpool bathtub")
;; RecreationOrExerciseAppliance
(subclass RecreationOrExerciseAppliance BodyCareAppliance)
(subclass RecreationOrExerciseAppliance RecreationOrExerciseDevice) ;; MILO
(documentation RecreationOrExerciseAppliance EnglishLanguage "A
conjunction of &%BodyCareAppliance and &%RecreationOrExerciseDevice.")
(termFormat EnglishLanguage RecreationOrExerciseAppliance "whirlpool bathtub")
;; ExerciseTreadmill
(subclass ExerciseTreadmill RecreationOrExerciseAppliance )
(documentation ExerciseTreadmill EnglishLanguage "A
&%RecreationOrExerciseAppliance for running or walking on a moving
platform without changing location.")
(termFormat EnglishLanguage ExerciseTreadmill "Treadmill")
;; ElectricExerciseTreadmill
(subclass ElectricExerciseTreadmill ExerciseTreadmill)
(subclass ElectricExerciseTreadmill ElectricDevice)
(documentation ElectricExerciseTreadmill EnglishLanguage "A
&%ExerciseTreadmill with conveyor belt powered by an
&%ElectricMotor.")
(termFormat EnglishLanguage ElectricExerciseTreadmill "electric treadmill")
; ElectricExerciseTreadmill has a part that is instance of ElectricMotor
(=>
(instance ?DEVICE ElectricExerciseTreadmill)
(exists (?COMPONENT)
(and
(instance ?COMPONENT ElectricMotor)
(part ?COMPONENT ?DEVICE))))
;; FlywheelExerciseTreadmill
(subclass FlywheelExerciseTreadmill ExerciseTreadmill)
(documentation FlywheelExerciseTreadmill EnglishLanguage "A &%ExerciseTreadmill with a flywheel.")
(termFormat EnglishLanguage FlywheelExerciseTreadmill "flywheel treadmill")
; FlywheelExerciseTreadmill does not have a part that is instance of ElectricMotor
(=>
(instance ?DEVICE FlywheelExerciseTreadmill)
(not
(exists (?COMPONENT)
(and
(instance ?COMPONENT ElectricMotor)
(part ?COMPONENT ?DEVICE)))))
;; HairDryer
(subclass HairDryer BodyCareAppliance) ;; also in MILO
(subclass HairDryer ElectricDevice)
(=>
(instance ?DEVICE HairDryer)
(and
(capability Drying instrument ?DEVICE)
(hasPurpose ?DEVICE
(exists (?PROC)
(and
(instance ?PROC Drying)
(instrument ?PROC ?DEVICE))))))
;; HairIron
(subclass HairIron BodyCareAppliance)
(subclass HairIron ElectricDevice)
(subclass HairIron HeatingDevice)
(documentation HairIron EnglishLanguage "A device that can be used to
change the hair structure with use of heat. Can be partitioned into
Curling, Straightening, and Crimping iron.")
(termFormat EnglishLanguage HairIron "hair iron")
(=>
(instance ?DEVICE HairIron)
(hasPurpose ?DEVICE
(exists (?PURPOSE ?AGENT ?HAIR)
(and
(instance ?PURPOSE ShapeChange)
(instance ?AGENT Human)
(instance ?HAIR Hair)
(agent ?PURPOSE Human)
(patient ?PURPOSE ?HAIR)))))
;; ShavingRazor
(subclass ShavingRazor HairRemoval)
(subclass ShavingRazor BodyCareAppliance)
(documentation ShavingRazor EnglishLanguage "A &%ShavingRazor is a
tool with blade, designed to use for the act shaving.")
(termFormat EnglishLanguage ShavingRazor "razor")
(=>
(instance ?DEVICE ShavingRazor)
(hasPurpose ?DEVICE
(exists (?AGENT ?PROCESS)
(and
(instance ?AGENT Human)
(instance ?PROCESS HairRemoval)))))
;; CommunicationAppliance
(subclass CommunicationAppliance HouseholdAppliance)
(subclass CommunicationAppliance CommunicationDevice) ; MILO
(documentation CommunicationAppliance EnglishLanguage "A
&%HouseholdAppliance that can be used for comumication (conjuction with
&%CommunicationDevice).")
(termFormat EnglishLanguage CommunicationAppliance "communication appliance")
(subclass BabyMonitoringSystem CommunicationAppliance) ;; MILO
(subclass FaxMachine CommunicationAppliance) ;; MILO
(subclass Telephone CommunicationAppliance) ;; MILO
;; EntertainmentAppliance
(subclass EntertainmentAppliance HouseholdAppliance)
(subclass EntertainmentAppliance RecreationOrExerciseDevice)
(documentation EntertainmentAppliance EnglishLanguage "An appliance
that has the primary purpose of entertaining people.")
(termFormat EnglishLanguage EntertainmentAppliance "entertainment appliance")
(=>
(instance ?DEVICE EntertainmentAppliance)
(hasPurpose ?DEVICE
(exists (?REC)
(and
(instance ?REC RecreationOrExercise)
(instrument ?REC ?DEVICE)))))
;; GameConsole
(subclass GameConsole EntertainmentAppliance)
(subclass GameConsole ElectricDevice)
(documentation GameConsole EnglishLanguage "An &%EntertainmentAppliance for playing video games. Often used as a part of MediaSystem.")
(termFormat EnglishLanguage GameConsole "game console")
(=>
(instance ?DEVICE GameConsole)
(exists (?GAME)
(and
(subclass ?GAME VideoGame)
(capability ?GAME instrument ?DEVICE))))
;; MobileGameConsole
(subclass MobileGameConsole EntertainmentAppliance)
(subclass MobileGameConsole BatteryPoweredDevice)
(documentation MobileGameConsole EnglishLanguage "An
&%EntertainmentAppliance that can be powered by a &%Battery, and has
integraded display.")
(termFormat EnglishLanguage MobileGameConsole "mobile game console")
(=>
(instance ?DEVICE MobileGameConsole)
(exists (?DISPLAY)
(and
(instance ?DISPLAY VideoDisplay)
(properPart ?DEVICE ?DISPLAY))))
;; MediaAppliance
(subclass MediaAppliance EntertainmentAppliance)
(documentation MediaAppliance EnglishLanguage "%MediaAppliance is an
appliance that can be used in playing audio or displaying video.")
(termFormat EnglishLanguage MediaAppliance "media appliance")
; same as MediaSystem in MILO but not necessary a collection, plus sound is audiable
(=>
(instance ?PLAYER MediaAppliance)
(hasPurpose ?PLAYER
(or
(exists (?VIDEO ?RL)
(and
(instance ?VIDEO VideoRecording)
(instance ?RL RadiatingVisibleLight)
(patient ?RL ?VIDEO)
(instrument ?RL ?PLAYER)))
(exists (?AUDIO ?RS)
(and
(instance ?AUDIO AudioRecording)
(instance ?RS RadiatingSound)
(attribute ?RS Audible)
(patient ?RS ?AUDIO)
(instrument ?RS ?PLAYER))))))
;; AudioAmplifier
(subclass AudioAmplifier MediaAppliance)
(documentation AudioAmplifier EnglishLanguage "A part of &%MediaSystem
that amplifies the power of audio signal.")
(termFormat EnglishLanguage AudioAmplifier "audio amplifier")
; AudioAmplifier takes an electrionic signal as input and generates a new signal
(=>
(instance ?DEVICE AudioAmplifier)
(hasPurpose ?DEVICE
(exists (?PROC ?SIGIN ?SIGOUT)
(and
(instance ?SIGIN ElectricalSignalling)
(instance ?SIGOUT ElectricalSignalling)
(not
(equal ?SIGIN ?SIGOUT))
(instance ?PROC Process)
(instrument ?PROC ?DEVICE)
(patient ?PROC ?SIGIN)
(result ?PROC ?SIGOUT)))))
;; SpeakerDevice
(subclass SpeakerDevice MediaAppliance) ;; MILO
; capable of RadiatingSound represented by an ElectricalSignalling
(=>
(instance ?DEVICE SpeakerDevice)
(hasPurpose ?DEVICE
(exists (?SIGNAL ?RS)
(and
(instance ?SIGNAL ElectricalSignalling)
(instance ?RS RadiatingSound)
(instrument ?RS ?DEVICE)
(represents ?RS ?SIGNAL)))))
;; RadioReceiver
(subclass RadioReceiver MediaAppliance) ;; MILO
;; SetTopBox
(subclass SetTopBox MediaAppliance)
(documentation SetTopBox EnglishLanguage "A device that can be used as external source of signal for a TV, eg. a DVD player or cable box.")
(termFormat EnglishLanguage SetTopBox "set-top box")
; SetTopBox hasPurpose of Signalling a TelevisionSet with a VideoRecording
(=>
(instance ?DEVICE SetTopBox)
(hasPurpose ?DEVICE
(exists (?TV ?SIGNAL ?VIDEO)
(and
(instance ?TV TelevisionSet)
(instance ?SIGNAL Signalling)
(instance ?VIDEO VideoRecording)
(represents ?SIGNAL ?VIDEO)
(instrument ?SIGNAL ?DEVICE)
(patient ?SIGNAL ?TV)))))
;; PersonalComputer
(subclass PersonalComputer EntertainmentAppliance)
(subclass PersonalComputer ElectricDevice)
(subclass PersonalComputer HomeOfficeAppliance)
(subclass PersonalComputer Computer) ; MILO
(documentation PersonalComputer EnglishLanguage "A general-purpose computer useful for, and intended to use by an individual person. That includes Pocket PC, Home media PC, Tablets, Netbooks, Desktops, Workscations, etc.")
(termFormat EnglishLanguage PersonalComputer "personal computer")
; PersonalComputer hasPurpose to be used in some process by an individual Human
(=>
(instance ?COMPUTER PersonalComputer)
(hasPurpose ?COMPUTER
(exists (?PERSON ?PROCESS)
(and
(instance ?PERSON Human)
(instance ?PROCESS Process)
(agent ?PROCESS Human)
(instrument ?PROCESS ?COMPUTER)))))
;; PortablePersonalComputer
(subclass PortablePersonalComputer PersonalComputer)
(subclass PortablePersonalComputer BatteryPoweredDevice)
(documentation PortablePersonalComputer EnglishLanguage "A portable &%PersonalComputer - includes laptops, tablets, or Pocket PC")
(termFormat EnglishLanguage PortablePersonalComputer "portable personal computer")
;; GardenAppliance
(subclass GardenAppliance HouseholdAppliance)
(documentation GardenAppliance EnglishLanguage "An appliance for work in &%CultivatedLandAreas (e.g. gardens, &%Lawns)")
(termFormat EnglishLanguage GardenAppliance "garden tool")
(=>
(instance ?DEVICE GardenAppliance)
(hasPurpose ?DEVICE
(exists (?AREA ?PROC)
(and
(instance ?PROC Process)
(instance ?AREA CultivatedLandArea)
(instrument ?PROC ?DEVICE)
(located ?PROC ?AREA)))))
;; GrassMower
(subclass GrassMower GardenAppliance)
(documentation GrassMower EnglishLanguage "A &%GardenAppliance that can be used to cut grass.")
(termFormat EnglishLanguage GrassMower "mower")
; hasPurpose moving grass
(=>
(instance ?DEVICE GrassMower)
(hasPurpose ?DEVICE
(exists (?GRASS ?PROC)
(and
(instance ?PROC Cutting)
(instance ?GRASS Grass)
(patient ?PROC ?GRASS)
(instrument ?PROC ?DEVICE)))))
;; ElectricGrassMower
(subclass ElectricGrassMower GrassMower)
(subclass ElectricGrassMower ElectricDevice)
(documentation ElectricGrassMower EnglishLanguage "A &%GardenAppliance that can be used to cut grass, powered by an &%ElectricMotor.")
(termFormat EnglishLanguage ElectricGrassMower "electric mower")
(=>
(instance ?DEVICE ElectricGrassMower)
(hasPurpose ?DEVICE
(exists (?COMPONENT)
(and
(instance ?COMPONENT ElectricMotor)
(part ?COMPONENT ?DEVICE)))))
;; LeafBlower
(subclass LeafBlower GardenAppliance)
(documentation LeafBlower EnglishLanguage "A &%GardenAppliance that can be used to move debris by using propelled air blown through a nozzle.")
(termFormat EnglishLanguage LeafBlower "leaf blower")
(=>
(instance ?DEVICE LeafBlower)
(hasPurpose ?DEVICE
(exists (?LEAF ?TRANSFER)
(and
(instance ?LEAF PlantLeaf)
(instance ?TRANSFER Transfer)
(instrument ?TRANSFER ?DEVICE)
(patient ?TRANSFER ?LEAF)))))
;; ElectricLeafBlower
(subclass ElectricLeafBlower LeafBlower)
(subclass ElectricLeafBlower ElectricDevice)
(documentation ElectricLeafBlower EnglishLanguage "A &%LeafBlower powered by an &%ElectricMotor.")
(termFormat EnglishLanguage ElectricLeafBlower "electric leaf blower")
(=>
(instance ?DEVICE ElectricLeafBlower)
(exists (?COMPONENT)
(and
(instance ?COMPONENT ElectricMotor)
(part ?COMPONENT ?DEVICE))))
;; HomeOfficeAppliance
(subclass HomeOfficeAppliance HouseholdAppliance)
(documentation HomeOfficeAppliance EnglishLanguage "An appliance which is meant to be used to work or study at home.")
(termFormat EnglishLanguage HomeOfficeAppliance "home office appliance")
;; ComputerScreen
(subclass ComputerScreen HomeOfficeAppliance)
(subclass ComputerScreen VideoDisplay)
(subclass ComputerScreen ElectricDevice)
(documentation ComputerScreen EnglishLanguage "A device capable of displaying video signal generated by a &%Computer ")
(termFormat EnglishLanguage ComputerScreen "computer screen")
; ComputerScreen is RadiatingVisibleLight representing an VideoRecording
; ComputerScreen is signaled with a VireoRecording from a Computer
(=>
(instance ?DEVICE ComputerScreen)
(hasPurpose ?DEVICE
(exists (?RL ?VIDEO ?SIGNAL ?COMPUTER)
(and
(instance ?RL RadiatingVisibleLight)
(instance ?VIDEO VideoRecording)
(instance ?SIGNAL Signalling)
(instance ?COMPUTER Computer)
(instrument ?RL ?DEVICE)
(represents ?RL ?VIDEO)
(agent ?SIGNAL ?COMPUTER)
(patient ?SIGNAL ?DEVICE)
(represents ?SIGNAL ?VIDEO)))))
;; CableModem
(subclass CableModem HomeOfficeAppliance)
(subclass CableModem CommunicationDevice)
(subclass CableModem ElectricDevice)
(documentation CableModem EnglishLanguage "A &%CommunicationDevice
capable of bidirectional data transmission over a &%WireLine that was
designed to be a &%TelephoneLine.")
(termFormat EnglishLanguage CableModem "modem")
(=>
(instance ?DEVICE CableModem)
(hasPurpose ?DEVICE
(exists (?SIGNAL ?LINE)
(and
(instance ?SIGNAL ElectricalSignalling)
(instance ?LINE TelephoneLine)
(agent ?SIGNAL ?DEVICE)
(instrument ?SIGNAL ?LINE)))))
; NetworkRouter
(subclass NetworkRouter HomeOfficeAppliance)
(subclass NetworkRouter CommunicationDevice)
(subclass NetworkRouter ElectricDevice)
(documentation NetworkRouter EnglishLanguage "A &%CommunicationDevice that forwards data packets between &%Computers or computer networks.")
(termFormat EnglishLanguage NetworkRouter "network router")
; RouterWithModem
(subclass RouterWithModem HomeOfficeAppliance)
(subclass RouterWithModem CableModem)
(subclass RouterWithModem NetworkRouter)
(documentation RouterWithModem EnglishLanguage "A &%CommunicationDevice combining &%NetworkRouter and &%CableModem.")
(termFormat EnglishLanguage RouterWithModem "router with modem")
;; ImageScanner
(subclass ImageScanner HomeOfficeAppliance)
(documentation ImageScanner EnglishLanguage "A &%Device that can convert two-dimensional images into digital format.");
(termFormat EnglishLanguage ImageScanner "scanner")
; UninterruptiblePowerSupplyUnit
(subclass UninterruptiblePowerSupplyUnit HomeOfficeAppliance)
(subclass UninterruptiblePowerSupplyUnit PowerSource)
(documentation UninterruptiblePowerSupplyUnit EnglishLanguage "A &%PowerSource that can supply power from a build-in rechargeable &%Battery .");
(termFormat EnglishLanguage UninterruptiblePowerSupplyUnit "uninterruptible power supply unit")
(abbreviation "UPS" UninterruptiblePowerSupplyUnit)
(=>
(instance ?DEVICE UninterruptiblePowerSupplyUnit)
(exists (?BATTERY)
(and
(instance ?BATTERY Battery)
(part ?DEVICE ?BATTERY))))
; Printer
(subclass Printer HomeOfficeAppliance) ; MILO
; InkjetPrinter
(subclass InkjetPrinter Printer)
(documentation InkjetPrinter EnglishLanguage "A &%Printer operating by propelling droplets of ink onto a &%Page.");
(termFormat EnglishLanguage InkjetPrinter "ink printer")
; TonerPrinter
(subclass TonerPrinter Printer)
(documentation TonerPrinter EnglishLanguage "A &%Printer operating by transfering image to a pring drum with LED array or a laser. The image is then transferred onto a &%Page.");
(termFormat EnglishLanguage TonerPrinter "laser printer")
; SensorAppliance
(subclass SensorAppliance HouseholdAppliance)
(documentation SensorAppliance EnglishLanguage "An appliance that has build-in sensor, e.g. smoke detector or automated weather station.");
(termFormat EnglishLanguage SensorAppliance "sensory appliance")
(subclass SmokeDetector SensorAppliance) ; MILO
; (subclass WeatherSensor SensorAppliance)
; (subclass ElectronicWeatherSensor WeatherSensor)
;; WashingDevice
(subclass WashingDevice HouseholdAppliance) ; MILO
;; Dishwasher
(subclass Dishwasher WashingDevice)
(documentation Dishwasher EnglishLanguage "A &%WashingDevice for cleaning &%Dishes.")
(termFormat EnglishLanguage Dishwasher "dishwasher")
(=>
(instance ?DEVICE Dishwasher)
(hasPurpose ?DEVICE
(exists (?DISH ?CLEANING)
(and
(instance ?DISH Tableware)
(instance ?CLEANING Washing)
(patient ?CLEANING ?DISH)
(instrument ?CLEANING ?DEVICE)))))
;; LaundryAppliance
(subclass LaundryAppliance HouseholdAppliance)
(documentation LaundryAppliance EnglishLanguage "A device for cleaning, drying &%Clothing or &%Fabric.")
(termFormat EnglishLanguage LaundryAppliance "dishwasher")
;; FabricIron
(subclass FabricIron LaundryAppliance) ; MILO
;; ClothesDryer
(subclass ClothesDryer LaundryAppliance) ; MILO
;; TumbleDryer
(subclass TumbleDryer ClothesDryer) ; MILO
(subclass TumbleDryer Container)
(subclass TumbleDryer ElectricDevice)
(documentation TumbleDryer EnglishLanguage "a &%ClothesDryer with a rotating tumble.")
;; ClothesWashingMachine
(subclass ClothesWashingMachine LaundryAppliance)
(subclass ClothesWashingMachine WashingDevice)
(subclass ClothesWashingMachine Container)
(documentation ClothesWashingMachine EnglishLanguage "A &%ClothesWashingMachine is a &%Device designed for washing clothes. If it has tumble dryer function then it is a &%ClothesWasherDryer")
(termFormat EnglishLanguage ClothesWashingMachine "washing machine")
; Clothing is not subclass of Fabric
(=>
(instance ?DEVICE ClothesWashingMachine)
(hasPurpose ?DEVICE
(exists (?CLOTH ?CLEANING)
(and
(or
(instance ?CLOTH Fabric)
(instance ?CLOTH Clothing))
(instance ?CLEANING Washing)
(patient ?CLEANING ?CLOTH)
(instrument ?CLEANING ?DEVICE)))))
;; ClothesWasherDryer
(subclass ClothesWasherDryer TumbleDryer)
(subclass ClothesWasherDryer ClothesWashingMachine)
(documentation ClothesWasherDryer EnglishLanguage "A &%ClothesWasherDryer is a combination of &%ClothesWashingMachine and &%TumbleDryer.")
(termFormat EnglishLanguage ClothesWasherDryer "washing machine")
;; VacuumCleaner
(subclass VacuumCleaner WashingDevice)
(documentation VacuumCleaner EnglishLanguage "A &%Device designed to collect derbies by creating a partial vacuum with results with air suction.")
(termFormat EnglishLanguage VacuumCleaner "vacuum cleaner")
; part of VacuumCleaner is a container
(=>
(instance ?DEVICE VacuumCleaner)
(exists (?CONTAINER)
(and
(part ?DEVICE ?CONTAINER)
(instance ?CONTAINER Container))))
; VacuumCleaner hasPurpose wich is to move stuff into a container
; which is a part of that VacuumCleaner
(=>
(instance ?DEVICE VacuumCleaner)
(hasPurpose ?DEVICE
(exists (?PROC ?CONTAINER ?STUFF)
(and
(instance ?PROC Inserting)
(instrument ?PROC ?DEVICE)
(instance ?CONTAINER Container)
(agent ?PROC ?STUFF)
(destination ?PROC ?CONTAINER)
(part ?DEVICE ?CONTAINER)))))
;; DecorativeAppliance
(subclass DecorativeAppliance HouseholdAppliance)
(subclass DecorativeAppliance ArtWork) ; SUMO
(documentation DecorativeAppliance EnglishLanguage "An appliance which main function is to increase beauty of a place.")
(termFormat EnglishLanguage DecorativeAppliance "decorative appliance")
;; DecorativeLighting
(subclass DecorativeLighting DecorativeAppliance)
(subclass DecorativeLighting LightingAppliance)
(documentation DecorativeLighting EnglishLanguage "An lighting appliance whose main purpose is not to illuminate but to increase beauty of a place.")
(termFormat EnglishLanguage DecorativeLighting "decorative lighting")
;; DecorativeLightString
(subclass DecorativeLightString DecorativeLighting)
(subclass DecorativeLightString ElectricDevice)
(subclass DecorativeLightString Collection)
(documentation DecorativeLightString EnglishLanguage "A &%Collection of &%LightBulbs having a decorative purpose.")
(termFormat EnglishLanguage DecorativeLightString "decorative light string")
;; FoodProcessingAppliance
(subclass FoodProcessingAppliance HouseholdAppliance)
(documentation FoodProcessingAppliance EnglishLanguage "An appliance that can be used for &%Cooking.")
(termFormat EnglishLanguage FoodProcessingAppliance "food processing appliance")
(=>
(instance ?DEVICE FoodProcessingAppliance)
(hasPurpose ?DEVICE
(exists (?COOKING)
(and
(instance ?COOKING Cooking)
(instrument ?COOKING ?DEVICE)))))
;; CookerPad
(subclass CookerPad FoodProcessingAppliance)
(subclass CookerPad HeatingDevice)
(documentation CookerPad EnglishLanguage "A &%MajorAppliance designed for cooking food by heating PotOrPan containing it.")
(termFormat EnglishLanguage CookerPad "cooker pad")
(=>
(instance ?DEVICE CookerPad)
(hasPurpose ?DEVICE
(exists (?PAN ?FOOD ?HEATING)
(and
(instance ?PAN PotOrPan)
(instance ?FOOD PreparedFood)
(instance ?HEATING Heating)
(instrument ?HEATING ?DEVICE)
(patient ?HEATING ?FOOD)
(located ?FOOD ?PAN)))))
;; ElectricCookerPad
(subclass ElectricCookerPad CookerPad)
(subclass ElectricCookerPad ElectricDevice)
(documentation ElectricCookerPad EnglishLanguage "A &%CookerPad that uses electricity as PowerSource")
(termFormat EnglishLanguage ElectricCookerPad "electric cooker pad")
;; Oven
(subclass Oven FoodProcessingAppliance) ; MILO
;; ElectricOven
(subclass ElectricOven Oven)
(subclass ElectricOven ElectricDevice)
(documentation ElectricOven EnglishLanguage "An &%Oven with electricity as primary &%PowerSource")
(termFormat EnglishLanguage ElectricOven "electric Oven")
;; Stove
(subclass Stove FoodProcessingAppliance) ; MILO
(=>
(instance ?D Stove)
(exists (?PAD ?OVEN)
(and
(instance ?PAD CookerPad)
(instance ?OVEN Oven)
(part ?D ?PAD)
(part ?D ?OVEN))))
;; Microwave
(subclass Microwave SmallKichenAppliance) ;; MILO
;; RefrigerationAppliance
(subclass RefrigerationAppliance FoodProcessingAppliance)
(subclass RefrigerationAppliance Container)
(subclass RefrigerationAppliance CoolingDevice) ;; MILO
(documentation RefrigerationAppliance EnglishLanguage "An appliance designed to increase maximum food storage time by decreasing its temperature.")
(termFormat EnglishLanguage RefrigerationAppliance "refrigeration appliance")
;; Freezer
(subclass Freezer RefrigerationAppliance)
(documentation Freezer EnglishLanguage "An appliance designed to freeze food by cooling it to below 0 Celsius degrees.")
(termFormat EnglishLanguage Freezer "freezer")
(=>
(instance ?DEVICE FoodProcessingAppliance)
(hasPurpose ?DEVICE
(exists (?FREEZING)
(and
(instance ?FREEZING Freezing)
(instrument ?FREEZING ?DEVICE)))))
;; Refrigerator
(subclass Refrigerator RefrigerationAppliance) ; MILO
;; FridgeFreezer
(subclass FridgeFreezer Freezer)
(subclass FridgeFreezer Refrigerator)
(documentation FridgeFreezer EnglishLanguage "A combination of &%Freezer and a &%Refrigerator")
(termFormat EnglishLanguage FridgeFreezer "fridge freezer")
;; SmallKichenAppliance
(subclass SmallKichenAppliance FoodProcessingAppliance)
(documentation SmallKichenAppliance EnglishLanguage "A &%FoodProcessingAppliance that is portable.")
(termFormat EnglishLanguage SmallKichenAppliance "small kitchen appliance")
;; Breadmaker
(subclass Breadmaker SmallKichenAppliance)
(subclass Breadmaker ElectricDevice)
(documentation Breadmaker EnglishLanguage "A &%SmallKichenAppliance for baking bread.")
(termFormat EnglishLanguage Breadmaker "bread maker")
(=>
(instance ?DEVICE Breadmaker)
(hasPurpose ?DEVICE
(exists (?BREAD ?MAKE)
(and
(instance ?BREAD BreadOrBiscuit)
(instance ?MAKE Cooking)
(result ?MAKE ?BREAD)
(instrument ?MAKE ?DEVICE)))))
;; CoffeeMaker
(subclass CoffeeMaker SmallKichenAppliance)
(subclass CoffeeMaker FluidContainer)
(subclass CoffeeMaker HeatingDevice)
(subclass CoffeeMaker ElectricDevice)
(documentation CoffeeMaker EnglishLanguage "A &%SmallKichenAppliance used to brew coffee without heating water in a separate &%Device.")
(termFormat EnglishLanguage CoffeeMaker "coffeemaker")
(=>
(instance ?DEVICE CoffeeMaker)
(hasPurpose ?DEVICE
(exists (?FOOD ?MAKE)
(and
(instance ?FOOD Beverage)
(instance ?MAKE Cooking)
(result ?MAKE ?FOOD)
(instrument ?MAKE ?DEVICE)))))
;; FoodBlender
(subclass FoodBlender SmallKichenAppliance)
(subclass FoodBlender ElectricDevice)
(subclass FoodBlender FluidContainer)
(documentation FoodBlender EnglishLanguage "A &%SmallKichenAppliance designed for mixing, making puree or emulsion from food ingredient.")
(termFormat EnglishLanguage FoodBlender "food blender")
(=>
(instance ?DEVICE FoodBlender)
(hasPurpose ?DEVICE
(exists (?COOKING ?RES)
(and
(instance ?COOKING Cooking)
(instance ?RES Mixture)
(instance ?RES Beverage)
(located ?COOKING ?DEVICE)
(result ?COOKING ?RES)))))
;; FoodMixer ??
(subclass FoodMixer SmallKichenAppliance)
(subclass FoodMixer ElectricDevice)
(disjoint FoodMixer FluidContainer)
(documentation FoodMixer EnglishLanguage "A &%SmallKichenAppliance designed for mixing, folding, beating, and whipping food ingredient.")
(termFormat EnglishLanguage FoodMixer "food mixer")
(=>
(instance ?DEVICE FoodMixer)
(hasPurpose ?DEVICE
(exists (?COOKING ?RES)
(and
(instance ?COOKING Cooking)
(instance ?RES Mixture)
(instance ?RES PreparedFood)
(result ?COOKING ?RES)))))
;; FoodProcessor
(subclass FoodProcessor SmallKichenAppliance)
(subclass FoodProcessor ElectricDevice)
(documentation FoodProcessor EnglishLanguage "A &%SmallKichenAppliance used for some repetitive tasks in the process of food preparation.")
(termFormat EnglishLanguage FoodProcessor "food processor")
(=>
(instance ?DEVICE FoodProcessor)
(hasPurpose ?DEVICE
(exists (?COOKING ?RES)
(and
(instance ?COOKING Cooking)
(result ?COOKING ?RES)
(instance ?RES PreparedFood)))))
;; Kettle
(subclass Kettle SmallKichenAppliance)
(subclass Kettle FluidContainer)
(subclass Kettle HeatingDevice)
(documentation Kettle EnglishLanguage "A &%FluidContainer used to heat water.")
(termFormat EnglishLanguage Kettle "kettle")
(=>
(instance ?DEVICE Kettle)
(hasPurpose ?DEVICE
(exists (?BOIL ?WATER)
(and
(instance ?BOIL Boiling)
(instance ?WATER DrinkingWater)
(patient ?BOIL ?WATER)))))
;; ElectricKettle
(subclass ElectricKettle Kettle)
(subclass ElectricKettle ElectricDevice)
(documentation ElectricKettle EnglishLanguage "A &%Kettle that uses electricity as a &%PowerSource.")
(termFormat EnglishLanguage ElectricKettle "electric kettle")
;; Toaster
(subclass Toaster SmallKichenAppliance)
(subclass Toaster ElectricDevice)
(documentation Toaster EnglishLanguage "A &%SmallKichenAppliance used to toast various kind of bread.")
(termFormat EnglishLanguage Toaster "toaster")
(=>
(instance ?DEVICE Toaster)
(hasPurpose ?DEVICE
(exists (?HEAT ?BREAD)
(and
(instance ?HEAT Heating)
(instance ?BREAD BreadOrBiscuit)
(patient ?HEAT ?BREAD)))))
;; WaffleIron
(subclass WaffleIron SmallKichenAppliance)
(subclass WaffleIron ElectricDevice)
(documentation WaffleIron EnglishLanguage "A &%SmallKichenAppliance used to make waffles")
(termFormat EnglishLanguage WaffleIron "waffle iron")
;; HouseUtilityAppliance
(subclass HouseUtilityAppliance HouseholdAppliance)
; (documentation HouseUtilityAppliance "")
(termFormat EnglishLanguage HouseUtilityAppliance "house utility appliance")
;; BatteryCharger
(subclass BatteryCharger HouseUtilityAppliance)
(subclass BatteryCharger ElectricDevice)
(documentation BatteryCharger EnglishLanguage "A &%Device capable of charging a battery by forcing an electric current through it.")
(termFormat EnglishLanguage BatteryCharger "battery charger")
;; Clock
(subclass Clock HouseUtilityAppliance) ; MILO
;; ElectronicClock
(subclass ElectronicClock Clock)
(documentation ElectronicClock EnglishLanguage "A &%Clock using electricity")
(termFormat EnglishLanguage ElectronicClock "electronic clock")
;; ElectricBlanket
(subclass ElectricBlanket HouseUtilityAppliance)
(subclass ElectricBlanket ElectricDevice)
(subclass ElectricBlanket HeatingAppliance)
(subclass ElectricBlanket Fabric)
(documentation ElectricBlanket EnglishLanguage "A blanket integrated with a electrical heating device.")
(termFormat EnglishLanguage ElectricBlanket "electric blanket")
;; GarbageDisposer
(subclass GarbageDisposer HouseUtilityAppliance)
(subclass GarbageDisposer ElectricDevice)
(documentation GarbageDisposer EnglishLanguage "A &%Device installed under a kitchen sink drain to shreds food waste into small pieces.")
(termFormat EnglishLanguage GarbageDisposer "garbage disposer")
;; Humidifier
(subclass Humidifier HouseUtilityAppliance)
(subclass Humidifier ElectricDevice)
(documentation Humidifier EnglishLanguage "A &%Device with purpose of increasing the amount of water vapour in the air.")
(termFormat EnglishLanguage Humidifier "humidifier")
(=>
(instance ?DEVICE Humidifier)
(hasPurpose ?DEVICE
(exists (?WATER ?EVAP)
(and
(instance ?WATER FreshWater)
(instance ?EVAP Evaporating)
(patient ?EVAP ?WATER)))))
;; WaterPurifier
(subclass WaterPurifier HouseUtilityAppliance)
(documentation WaterPurifier EnglishLanguage "A &%Device designed to remove some undesirable materials/chemicals from water.")
(termFormat EnglishLanguage WaterPurifier "water purifier")
(=>
(instance ?DEVICE WaterPurifier)
(hasPurpose ?DEVICE