Can you give me an example of how the Transform operation works?
Here are two examples. The first one encodes a simple symmetric transfomation. Conditions: Room.Building ------------- gates ?X Conclusion: Building.Room ------------- ?X gates This means "IF Room.Building(gates,?X) THEN Building.Room(?X,gates)", where ?X is a variable and gates is a constant. The Building.Room facts will be stored. You can also conclude negative facts, which is what the checkbox is for. For example (assuming relations Even and Odd): Conditions: Even ---- ?X Odd --- ?Y + ---- ?X ?Y ?Z Conclusion: ----------- Even ---- NOT ?Z (Where NOT means the box is checked) This means: IF (?X is even AND ?Y is odd AND ?X + ?Y = ?Z) THEN ?Z is NOT even The negated concluded facts will be unstored.
How do I create a PredicateRelation?
It seems that PredicateRelation is not listed as a subclass of Relation in the Seek page of the Manager in an empty system, because there are no PredicateRelations in the system at that time. However you can still create one with the command:
http://localhost:3000/manager/CREATE?Class=PREDICATERELATION
(replacing localhost with whatever your machine uses)
What is the top of the class hierarchy? The relation hiearchy?
Thing is the class of which every other class decends from. Similarly, True is the uppermost superrelation.
I am creating instances of my class, but they don't show up in the Seek page. Why not?
Just because the objects are being created, that doesn't mean that they are being stored anywhere. You need to make sure that (1) your class has a predicate assoicated with it and (2) that the Repository is the Recipient of Standard, so that it is notified of the object creations and can store them in the assoicated predicate.
Why isn't my subclass showing up in the hiearchy in the Seek page?
The way that Infomaster behaves is that if a subclass does not have any instances, then it won't show up in the Seek hiearchy. Until you create some instances, you might want to force it to be in the hiearchy by making it a Rootclass. This is the same behavior that we see with PredicateRelation when there are no PredicateRelations in the system.
I created classes Student and Person, and set up the correct superclass relationship. But Student isn't inheriting the attributes of Person. Why not?
There is no automatic inheritance in Infomaster like there is in, say, Java. Such automatic inheritance can be programmed using rules, which you haven't learned about yet. Until you learn rules, you will need to create your object twice to fill in all of the attributes- once as a Person and once as a Student. Then you can View your object as either a Person (to see its Person attributes) or a Student (to see its Student attributes).