diff --git a/Project-2/Jvonderh Project 2.md b/Project-2/Jvonderh Project 2.md new file mode 100644 index 00000000..970358f2 --- /dev/null +++ b/Project-2/Jvonderh Project 2.md @@ -0,0 +1,148 @@ +# Project 2 + +Your second project will require you to answer each of the 10 questions below. You will be expected to open a pull request with your initial answers by the second class meeting, giving you one week to work on these problems. You and your peers will then have one week to work together to refine your respective initial answers, so they are ready for final submission. Once your pull requests have been reviewed and merged to the development branch, I will review them, then merge to the master branch. + +``` +Tip #1: Carefully study the Baader, et. al. selections assigned on bisimulation; it is deceptively subtle, and quite powerful. +Tip #2: Google is still your friend. So is stackexchange... +Tip #3: Work together to solve these problems, even for initial submissions and when you do, document this in github. +Tip #4: Work together as a team. +``` + +1. Let V be a vocabulary of ALCI consisting of a role name "P". Interpret part_of as "x is a part of y". Using this role name, define the following formulas in this language: +``` + (a) PP that says that x is a proper part of y + PP= ∃part_of^~∃part-of- + (b) iPP that says that y is a proper part of x + iPP= ∃part_of-^~∃part-of + (c) iP that says that y has x as part + ip= ∃part_of- + (d) O that says that x overlaps y + O= ∃part_of^∃part_of- + (e) D that says that x and y are disjoint + D= ∃~part_of^∃~part-of- +``` + +2. Use your axioms from question 1 as the basis of an ALCI T-Box. Supplement this T-box with whatever other axioms you like, as well as an A-box, so that you ultimately construct a knowledge base K = (T,A). Provide a _model_ of K. This may be graphical or symbolic or both. +PP= ∃part_of^~∃part-of- + +ipp= ∃part_of-^~∃part-of + +ip= ∃part_of- + +O= ∃part_of^∃part_of- + +D= ∃~part_of^∃~part-of- + +(Lazarus,x): PP + +(Lazarus, City) + +(City, y): Ipp + +(Lazarus, City): Part_of + +(City, Lazarus): Part_of + +Proper part: Lazarus, City + +overlaps: none + +Disjoint: none + +3. Translate the following first-order logic axioms into ALCI: +``` +(a) ∀x∃y∀z(R(x,y) ∧ R(x,z) ∧ R(y,z)) +∃R.(∀R.(∀R¯.T)) +(b) ∃x∀y∃z(R(x,y) ∧ R(x,z) ∧ R(y,z)) +∃R¯.(∃R.(∃R¯.T)) +(c) ∀y(R(x, y) → ∃x(R(y, x) ∧ ∀y(R(x, y) → A(y)))) +Note that there is an unbound x in this axiom. +∀R.∃R.∀R.A +(d) (∀y)(R(x, y) → A(y)) ∧ (∃y)(R(x, y) ∧ B(y)) +Note that all xs are unbound in this axiom +(∀R.A)^(∃R.B) +``` +4. Provide an interpretation I1 for ALC and an interpretation I2 for ALCN - each distinct from any interpretation covered in class so far - and construct a bisimulation that demonstrates ALCN is more expressive than ALC. Use the [mermaid syntax](https://github.com/mermaid-js/mermaid) of markdown to provide a graphical representation of your work. Feel free to use the [mermaid live editor](https://mermaid.live/) when diagramming. + +Interpretation: C=Candy + +C^∃R.T + +C^>= 2R.t +``` +``` +```mermaid +graph LR; + C-->R1; + C2-->R2; + C2-->R3; +``` +``` + + +5. Provide an interpretation I1 for ALC and an interpretation I2 for ALCN - each distinct from any interpretation covered in class so far - and construct a bisimulation that _does not_ demonstrate ALCN is more expressive than ALC. Use the [mermaid syntax](https://github.com/mermaid-js/mermaid) of markdown to provide a graphical representation of your work. Feel free to use the [mermaid live editor](https://mermaid.live/) when diagramming. + +Interpretation: C=Candy + +C^∃R.T + +C^=1R.t +``` +``` +``` +```mermaid +graph LR; + C-->R1; + C2-->R2; +``` +``` + + +6. Explain the difference - using natural language - between the description logic expressions: + ``` + (a) ∃r.C and ∀r.C + The first is saying that there for all things such that they are x, there is something y which is an instance of C which is r-related to it and the second says that for all things such that they are x, everything y which is an instance of c is r-related to it. + (b) ∃r-.C and ∀r-.C + The first is saying that there for all things such that they are x, there is something y which is an instance of C which is inversely r-related to it and the second says that for all things such that they are x, everything y which is an instance of c is inversely r-related to it. + (c) <=nr and <=nr.C + The first claims that for all things such that they are x, there are less than or equal to a n number of r successors. In the second part, it says that for all things such that they are x, there are less than or equal to n number of r successors which are instances of C. + (d) ∃r-.C and ∃r-.{a} + The first claims that there is some instance of C which has an inverse r-relationship with all things such that they are x and the second claims that the singleton set of a includes an instance of something which bears an inverse r-relationship with all things such that they are x. +``` + +7. There is a delightfully helpful subreddit called "ELI5" which stands for something like "explain it like I'm 5" where users post conceptually challenging questions and other users attempt to provide explanations in simple, jargon-free, terms that presumably a 5 year-old could understand. Using this as a model, explain the _finite model property_. Be sure to provide a simple example and explain when the property might be important, and when it is not so important. + +The finite model property is a property of a system of logic (roughly a way of producing sentences which can be checked for truth or falsity or which can be used to systematically say certain things) where everything that can be said in that system (where that system does not go on forever) which isn't known for sure can be disproved with a certain interpretation of the system without having an infinite number of steps to do so. For example, a logic might have this property if we take the sentences "All parents have kids" and "All bachelors are unmarried" as known for sure within that system. In this system, we might get another sentence like "All bachelors do not have kids." If we can show that this sentence is false in a certain interpretation without having to make an infinite number of other claims and that this is the only other sentence not known for sure in the system, then this system will meet this property. In this case, we might interpret "bachelor" as a man or non-binary person who may or may not have been in a relationship in the past. This would mean that this sentence can be understood as false within this system, as being a bachelor does not prevent someone from having had a kid. + +This is useful to know because it tells us whether we can know if any given sentence within a system can be true or false. If a system lacks that property, then there may be a sentence and interpretation which may not be true or false in a way we can determine. If it has that property, then we know that any sentence in that system will be either true or false and will know that we will have results if we try to prove it one way or another. If we care to know whether a specific system may be checkable for the truth or falsity of its parts, then we will be interested in this property. This may be due to concerns about checking a system efficiently, or for the sake of creating an ai based on the system so that it doesn't fall down a hole of infinitely checking one statement and interpretation. If not (such as in cases where the truth of falsity of involved claims does not matter for our interests), then we would not be interested in this property + +8. Following up on the preceding , explain the _tree model property_. Be sure to provide a simple example and explain when the property might be important, and when it is not so important. + +The Tree model property is a property of logic systems (again roughly a way of producing sentences which can be checked for truth or falsity or as a systematic way of expressing certain things). This property is about the way in which we can check certain sentences in that system for truth or falsity based on a specific interpretation of the system in question through the use of a "tree" model. + +A tree model is one where you start with a single part of the sentence and go down through branches until the sentence can be shown to be true of false. This may stop at some point or go on infinitely. For instance we may have an interpretation where we have the statements "Lemons are yellow" and "Anything that isn't a lemon is not yellow." We may wish to determine if the sentence "Apples are not lemons." With this system and sentence, we may test the last part by splitting off the parts of "apples" and "not lemons" from the whole statement. From there, we may continue doing the same technique until we find the sentence to be true or false. + +This is useful to determine because the tree model is an easy way to determine a sentence's truth or falsity, and conveys something about the ability to determine the truth or falsity of the statements which can be said in a given system. If we want to determine whether or not this useful method is an option for checking this truth or falsity, we would be interested in whether or not it has the tree model property. This would help us understand the basic knowledge that anything which uses that system might have. If we do not wish to use this method, however, or if we are uninterested in the truth or falsity of the sentences which can be said in a system then we would not be interested in determining whether or not the system in question has the tree model property. + +9. Open the Protege editor and create object properties for each of the role names that you constructed in question 1. You should have at least 6 object properties. Assert in the editor that P is a sub-property of O, that P is transitive, and that O is symmetric. Next, add individuals - a, b, c - to the file and assert that c is part of a and that c overlaps b. Running the reasoner should reveal - highlighted in yellow if you select the individual c - that c overlaps a. Using the discussion in the selections from chapter 4 of the Baader, et. al. text as a guide, explain how the tableau algorithm is generating this inference. Also, provide a screenshot of the results of your reasoner run with c highlighted. + +The tableau algorithm is generating this inference by looking to what is involved with the P (Part_of) relation as a sub-property of O (overlaps) where P is transitive and O is symmetric. Since P is transitive, if we have three connected individuals (x,y,z) where x is connected to y and y is connected to z, then x is also connected to z. This will carry parthood across several relationships. Since O is symmetric, this will mean that any two individuals where one has this property with the other will also have the other have this property with the one. P's status as a sub-property of O will then mean that any part_of relation will also constitute an overlapping relation. + +Given this, it knows that c is a part of a. Since c is a part of a this will then mean that c will also overlap with a since the part_of relation is a sub-property of the overlapping relation. +``` + +![Protege Screenshot](https://user-images.githubusercontent.com/123973744/221385499-7964fbd3-6aa3-4477-8f6f-a33b544f0b06.png) + + + +10. Following up on your work in question 9, adjust/add/remove/etc. object properties and individuals in your Protege file so that when you run a reasoner in Protege, you return the following consequences: +``` + (a) a is a proper part of b and disjoint from e + (b) a overlaps c + (c) a is part of b, b is part of f, and a is part of f + (e) There are no parts between a and g in common +``` +Provide a screenshot of your results here. + +![image_2023-02-25_191618086](https://user-images.githubusercontent.com/123973744/221385490-8573b2f1-d34c-45f5-9a15-bca2e604d934.png) diff --git a/Project-2/README.md b/Project-2/README.md deleted file mode 100644 index a943bd20..00000000 --- a/Project-2/README.md +++ /dev/null @@ -1,56 +0,0 @@ -# Project 2 - -Your second project will require you to answer each of the 10 questions below. You will be expected to open a pull request with your initial answers by the second class meeting, giving you one week to work on these problems. You and your peers will then have one week to work together to refine your respective initial answers, so they are ready for final submission. Once your pull requests have been reviewed and merged to the development branch, I will review them, then merge to the master branch. - -``` -Tip #1: Carefully study the Baader, et. al. selections assigned on bisimulation; it is deceptively subtle, and quite powerful. -Tip #2: Google is still your friend. So is stackexchange... -Tip #3: Work together to solve these problems, even for initial submissions and when you do, document this in github. -Tip #4: Work together as a team. -``` - -1. Let V be a vocabulary of ALCI consisting of a role name "P". Interpret part_of as "x is a part of y". Using this role name, define the following formulas in this language: -``` - (a) PP that says that x is a proper part of y - (b) iPP that says that y is a proper part of x - (c) iP that says that x has y as part - (d) O that says that x overlaps y - (e) D that says that x and y are disjoint -``` - -2. Use your axioms from question 1 as the basis of an ALCI T-Box. Supplement this T-box with whatever other axioms you like, as well as an A-box, so that you ultimately construct a knowledge base K = (T,A). Provide a _model_ of K. This may be graphical or symbolic or both. - -3. Translate the following first-order logic axioms into ALCI: -``` -(a) ∀x∃y∀z(R(x,y) ∧ R(x,z) ∧ R(y,z)) -(b) ∃x∀y∃z(R(x,y) ∧ R(x,z) ∧ R(y,z)) -(c) ∀y(R(x, y) → ∃x(R(y, x) ∧ ∀y(R(x, y) → A(y)))) -(d) (∀y)(R(x, y) → A(y)) ∧ (∃y)(R(x, y) ∧ B(y)) -``` -4. Provide an interpretation I1 for ALC and an interpretation I2 for ALCN - each distinct from any interpretation covered in class so far - and construct a bisimulation that demonstrates ALCN is more expressive than ALC. Use the [mermaid syntax](https://github.com/mermaid-js/mermaid) of markdown to provide a graphical representation of your work. Feel free to use the [mermaid live editor](https://mermaid.live/) when diagramming. - -5. Provide an interpretation I1 for ALC and an interpretation I2 for ALCN - each distinct from any interpretation covered in class so far - and construct a bisimulation that _does not_ demonstrate ALCN is more expressive than ALC. Use the [mermaid syntax](https://github.com/mermaid-js/mermaid) of markdown to provide a graphical representation of your work. Feel free to use the [mermaid live editor](https://mermaid.live/) when diagramming. - - -6. Explain the difference - using natural language - between the description logic expressions: - ``` - (a) ∃r.C and ∀r.C - (b) ∃r-.C and ∀r-.C - (c) <=nr and <=nr.C - (d) ∃r-.C and ∃r-.{a} -``` - -7. There is a delightfully helpful subreddit called "ELI5" which stands for something like "explain it like I'm 5" where users post conceptually challenging questions and other users attempt to provide explanations in simple, jargon-free, terms that presumably a 5 year-old could understand. Using this as a model, explain the _finite model property_. Be sure to provide a simple example and explain when the property might be important, and when it is not so important. - -8. Following up on the preceding , explain the _tree model property_. Be sure to provide a simple example and explain when the property might be important, and when it is not so important. - -9. Open the Protege editor and create object properties for each of the role names that you constructed in question 1. You should have at least 6 object properties. Assert in the editor that P is a sub-property of O, that P is transitive, and that O is symmetric. Next, add individuals - a, b, c - to the file and assert that c is part of a and that c overlaps b. Running the reasoner should reveal - highlighted in yellow if you select the individual c - that c overlaps a. Using the discussion in the selections from chapter 4 of the Baader, et. al. text as a guide, explain how the tableau algorithm is generating this inference. Also, provide a screenshot of the results of your reasoner run with c highlighted. - -10. Following up on your work in question 9, adjust/add/remove/etc. object properties and individuals in your Protege file so that when you run a reasoner in Protege, you return the following consequences: -``` - (a) a is a proper part of b and disjoint from e - (b) a overlaps c - (c) a is part of b, b is part of f, and a is part of f - (e) There are no parts between a and g in common -``` -Provide a screenshot of your results here. diff --git a/Project-3/Jvonderh Project 3 b/Project-3/Jvonderh Project 3 new file mode 100644 index 00000000..c3fa6ac8 --- /dev/null +++ b/Project-3/Jvonderh Project 3 @@ -0,0 +1,228 @@ +# Project 3 + +Your third project will require you to answer each of the 10 questions below. You will be expected to open a pull request with your initial answers by the second class meeting, giving you one week to work on these problems. You and your peers will then have one week to work together to refine your respective initial answers, so they are ready for final submission. Once your pull requests have been reviewed and merged to the development branch, I will review them, then merge to the master branch. + +``` +For any question involving the use of Protege, please be sure to import Basic Formal Ontology (https://raw.githubusercontent.com/BFO-ontology/BFO/v2019-08-26/bfo_classes_only.owl) and the Relations Ontology (https://raw.githubusercontent.com/oborel/obo-relations/master/ro.owl) +``` + +1. In BFO and RO identify at least one object property for each of a-e that _should have the listed property, but which does not_; argue for your case, using examples. +``` + (a) Reflexive +Simultaneous with + This should be reflexive because any object which is simultaneous with something will also be simultaneous with itself. For instance, a lightning strike which is simultaenous with a clock chime will also be simultaneous with itself. + (b) Transitive +Correlated with + This should be transitive because any situation where a statistical factor is correlated with another statistical factor which is then correlated with another statistical factor will be such that the first is correlated with the third. For example, if the number of hot days is correlated with a higher than average amount of sunlight and a higher than average amount of sunlight is correlated with a greater amount of plant growth, then the number of hot days would then be correlated with a greater amount of plant growth. + (c) Symmetric + Differs in + This should be symmetric because any relation where one part differs from the other will be such that the other part will also differ with the first. For example, if a pot of water differs from a pot of ice in their temperature, then the pot of ice will differ from the pot of water in their temperature. + (d) Functional + Has characterizing marker set + This should be functional because there is only one characterizing marker set for any given cell type. Since the markers uniquely identify that cell type, they will only produce the relevant cell type when that relation is present. As an example of this, a cell type may only have the markers of being black and porous. In such a case, only the cell type which has these qualities would have this characterizing marker set. + (e) Symmetric and Reflexive + Correlates with + This should be both symmetric and reflexive because any statistical factor which has a correlated relationship with another factor will be both such that the other factor has a correlated relationship with it and such that it is correlated with itself. To use an example, if rainfall is correlated with cloudy weather, then cloudy weather will be correlated with rainfall. Since they both occur together when rain occurs, they will have a correlated relationship. Similarly, rain will naturally be correlated with itself. When rain occurs, rain occurs alongside itself. This, while trivial, means that any thing will correlate with itself since its occurrence will move with its own occurrence. +``` + +2. In BFO and RO identify at least one object property for each of a-e that _should not have the listed property, but which does_; argue for your case, using examples. +``` + (a) Irreflexive + Has role in modeling + This should not be irreflexive because a biological, experimental, or computational artifact can be used to model both something else and itself. For example, we may create a model which represents agents in order to model how they interact with each other under such-and-such conditions. These agents will be used to model something else, but they also model themselves as computational agents. We have little reason to do this in the process of modeling like this, but they can be used to model themselves as part of an effort to understand the specifics of the model and computational agents themselves. + (b) Transitive + Aligned with + This should not be transitive because it is possible for an object to be aligned with a second object but not aligned with a third object. For example, we may have a mirror aligned with another mirror such that each reflect the other. The angle of this alignment, however, does not necessitate that if the second mirror is also aligned in a similar way with a third mirror then the first mirror will also be aligned with the third. The angle of the first alignment may be such that, while the second mirror is aligned with the third, the first is out of alignment with the third. + (c) Asymmetric + Has role in modeling + This should not be asymmetric because, while a biological, experimental, or computational artifact can be used to model a separate entity, we may also use the entity to model the artifacts. We may be interested in modeling entities through the artifacts, but we may also be interested in using the entities to understand the artifacts. In that way, for example, we may use the actions of real life agents to understand the decisions and considerations used to produce and utilize a computational agents. + (d) Functional + Characteristic of + This should not be functional because, in a relationship between a characteristic and its bearer where the characteristic depends on the bearer for its existence, it is possible for a characteristic to have multiple bearers. Since a functional object property requires that it only output only one possible bearer in this case, it would contradict the property for it to have multiple bearers. As an example, the characteristic "weighs 50 pounds" will have multiple bearers. This may include boxes of office supplies, a piece of furniture, etc., but it will mean that this characteristic is a characteristic of multiple bearers. This means that there is more than one value for the characteristic of relation, meaning that it should not be functional. + (e) Inverse Functional + Has characteristic + This should not be inverse functional because, in a relationship where a bearer has a characteristic which depends on the bearer for its existence, there will be more than one characteristic which the bearer will have. Since an inverse functional object property requires that there be only one input in the form of a characteristic into the bearer, for any characteristic at most one bearer can bear it. As an example, it is possible for multiple people to bear the characteristic of "has a beard." This will mean that the has characteristic relation will have more than a value of 1 or 0. As such, the has characteristic relation should not be inverse functional. +``` + +3. Model the following natural language expressions using terms from BFO and RO; you are welcome to introduce new terms where needed: +``` + (a) Sally has an arm Tuesday but does not have an arm Wednesday. + Sally is instance_of object +Tuesday is instance_of one-dimensional temporal region +Wednesday is an instance of one-dimensional temporal region +Arm is an instance of fiat object part +“Sally participates in having at least one arm on Tuesday” is an instance of occurrent +“Sally participates in having no arms on Wednesday” is an instance of occurrent +“Sally participates in having at least one arm on Tuesday precedes Sally participates in having no arms on Wednesday” + + (b) Every liver has some cell as part at all times it exists. + Liver has_part_at_all_times Cell + + (c) John was a child, then an adult, then a senior. + John is an instance_of object +John's childhood is an instance_of occurrent. +John's adulthood is an instance_of occurrent. +John's seniorhood is an instance_of occurrent. +“John participates in childhood precedes John participates in adulthood which precedes John participates in seniorhood.” + + (d) Goofus and Gallant are married at each point in a three year span. + Goofus is an instance_of object +Gallant is an instance_of object +Marriage is an instance_of occurent +“Three years span 1” is an instance_of one-dimensional temporal region. +If zero-dimensional temporal region t1 is part_of the one-dimensional temporal region “three years span 1”, then Goofus participates in marriage at t1 and Galland participates in marriage at t1. + +``` + +4. Using the language of First-Order Logic, represent the following natural language expressions; you are welcome to introduce new terms where needed: +``` + (a) Sally has an arm Tuesday but does not have an arm Wednesday. + ∃(x)(x=s^(Tx^~Wx)) + s=Sally + T=Has an arm on Tuesday + W=Has an arm on Wednesday + (b) Every liver has some cell as part at all times it exists. + ∀(x)(Lx->∃(y)(Cy^Pyx)) + L=Is a liver + C=Is a cell + P=_is a part of_ + + (c) John was a child, then an adult, then a senior. +∃t1∃t2∃t3 (C (j, t1) ∧ A (J, t2) ∧ S(J, t3) ∧ E (t1, t2) ∧ E (t2, t3)) +J = John +E xy = being earlier than +C (x, t) = being a child at t +A (x, t) = being an adult at t +S (x, t) = being a senior at t + + (d) Goofus and Gallant have been married for three years; for each day of that span, it is true to assert they are married. + +∀t(D(t) ∧ Y(t)→(M(g1,t) ∧ M(g2,t))) +M(x, t) = being married at t +Y(t) = belongs to 3 year span 1 +g1 = Goofus +g2 = Gallant +D(t) = t is a day + +``` + +5. Using BFO and RO, model the following scenario: the content of an rdf file is represented in two serializations - one in Turtle, one in XML - which are sent from one computer to two distinct computers on the same network. + +Content is an instance_of generic dependent continuant +File is an instance_of generic dependent continuant +File 1 Turtle implements content 1 +File 2 XML implements content 1 +Files 1 and 2 are output of Computer 1 +Computer 1 is bearer of File 1 and File 2 +Computer 1 is an instance_of material entity +Computer 1 sends output to Computers 2 and 3 +File 1 is input of Computer 2 +Computer 2 receives input from Computer 1 +Computer 2 is an instance_of material entity +File 2 is input of Computer 3 +Computer 3 receives input from Computer 1 +Computer 3 is an instance_of material entity +Computer 1 2 and 3 are part of Network 1 +Network 1 is an instance_of Network +Network is_a object aggregate + + +6. Using Protege, place these in the BFO hierarchy where you think they fit best: +``` + (a) Bach's Well-Tempered Clavier + Generically Dependent Continuant + (b) Chair of the UB Philosophy Department + Role + (c) SARS-CoV-2 + Disposition + (d) Mexico City + Object Aggregate + (e) The trunk of a minivan + Fiat Object Part + (f) Occupation + Role + (g) Ocean + Object Aggregate + (h) Lake + Object Aggregate +``` + +7. True or False; explain your answers: +``` + (a) An instance of Material Entity can have an instance of Immaterial Entity as part. + True. A material entity has some portion of matter as proper or improper continuant part. These parts don't need to be material. For example thoughts are immaterial but can be understood as a part of the material person. + (b) An instance of Immaterial Entity can have an instance of Material Entity as part. + False. An immaterial entity is immaterial, so it may be represented in a material entity or otherwise but may not have it as part. For example, a thought may be an immaterial entity which has a material entity as a subject, but that subject is either not material (i.e is a representation of a material thing) or is not a part of that thought. + (c) An organization may have another organization as part. + True. Organizations break off separate organizations to perform different functions all of the time. A charity organization for finding housing for the homeless might break off local and regional organizations to better serve people at various locations for example. + (d) An organization may have no members as part. + True. Organizations can continue their existence even after losing all members for a time. For example, the Soviet Union continued to exist for a time even after all member states left the organization. It's continuation, then, depended not on its members but instead on other factors like the organizational structure and rules. + (e) Any site is partially bounded by some instance of Material Entity. + False. It is possible for a site to only be a part of an immaterial entity without being itself bounded by a material entity. + (f) A book placed under the leg of a wobbly table has acquired a new function. + False. The book may have been primarily used to read or write in, but it was always a function of it that it could take up space and act as a solid base for another object. Function is not limited by its purpose of creation, and instead includes its ability to hold up a table or any other such object by virtue of its physical make-up. + (g) A glass vase cushioned with packing tape for all time, has the disposition to break. + True. Being cushioned with packing tape does not change the dispositions of the vase itself. + (h) Spacetime is a class in BFO. + False. The spatiotemporal region covers this, but this itself is not a class. + (i) The continuant fiat boundary class of BFO is closed, meaning, there are no subclasses beyond those identified presently in BFO. + False. We could construct any number of subclasses of zero-, one-, or two-dimensional continuant fiat boundaries, which would be subclasses of continuant fiat boundary. +``` + +8. Model the following scenario in BFO, introducing whatever terms are needed to do so: John runs for 3 hours, startin slowly, speeding up during the middle, then ending the run at a slower pace. + +John is an instance_of object +John's Running is an instance_of process +John participates in John's Running +John bears running speeds of slow, normal, and fast +Slow, normal, and fast running speeds are instances_of dispositions +John’s running occurs in 3-hours, which is instance_of one-dimensional temporal region. +John's running consists of three temporal parts: Beginning, Middle, and End +Beginning, Middle, and End are instances_of one-dimensional temporal regions +Beginning realizes normal running speed +Middle realizes fast running speed +End realizes slow running speed +Beginning precedes Middle +Middle Precedes End +Middle has_part John's accelerating +End has_part John's decelerating +John’s accelerating is an instance_of process +John's decelerating is an instance_of process +Speed is a quality of John's Running +Slow, Normal, and Fast are instances_of speed +John has has_characteristic_at_Beginning of Normal +John has has_characteristic_at_Middle of Fast +John has has_characteristic_at_End of Slow +John's Speed at Beginning is decreased_in_magnitude_relative_to John's Speed at Middle +John's speed at Middle is increased_in_magnitude_relative_to John's Speed at End +John's speed at End is decreased_in_magnitude_relative_to John's Speed at Beginning + + + +9. The Pellet reasoner in Protege can be used in an incremental reasoning strategy. ELI5 when and why one should use Pellet for incremental reasoning. + +Pellet should be used when we don't want our work to start all over again everytime we change something. We may be trying to figure out, for example, the rules for a new game we are playing. In that situation, we probably don't want to go back to the start of the instructions every time we learn a new part of the rules. Instead, we would want to take each new rule we learn about, bring it in with the rules we already know about, think about what actions and rules the new rule would affect, and then keep going. It's very annoying to have to redo all of the work we have already done each time we learn something new, so we are better off using something that lets us combine everything as we go. + +We may not want to use this, however, at the very beginning of learning this new game. When we only have a few rules we know and are trying to get a feel for everything, it helps us to keep everything in sight as we learn. In that case, starting over lets us put things in their context and bring them forward as we get a baseline for everything. + +10. Protege reasoners will not allow you to combine certain properties, e.g. reflexivity and transitivity. If you attempt to assert such pairs of the same object property, then run the reasoner, nothing will happen. If you combine such properties while a reasoner is running, then ask to synchronize the reasoner, an error will be thrown. Provide a table or series of tables illustrating which pairs of properties cannot be combined in Protege, either because nothing happens when the reasoenr is run or because an error is thrown when synchronizing a reasoner after making such changes. Review the github docs on [creating tables in markdown](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/organizing-information-with-tables). +-------------------------------------------------------------------------------------------------------------- +|Pairwise | Functional | Inverse Functional | Transitive | Symmetric | Asymmetric | Reflexive | Irreflexive | +|----------|------------|--------------------|------------|-----------|------------|-----------|-------------| +|Functional| N/a | Yes | No | Yes | Yes | Yes | Yes | +|----------|------------|--------------------|------------|-----------|------------|-----------|-------------| +|Inverse | Yes | N/a | No | Yes | Yes | Yes | Yes | +|Functional| | | | | | | | +|----------|------------|--------------------|------------|-----------|------------|-----------|-------------| +|Transitive| No | No | N/a | Yes | No | Yes | No | +|----------|------------|--------------------|------------|-----------|------------|-----------|-------------| +|Symmetric | Yes | Yes | Yes | N/a | No | Yes | Yes | +|----------|------------|--------------------|------------|-----------|------------|-----------|-------------| +|Asymmetric| Yes | Yes | No | No | N/a | No | Yes | +|----------|------------|--------------------|------------|-----------|------------|-----------|-------------| +|Reflexive | Yes | Yes | Yes | Yes | No | N/a | No | +|----------|------------|--------------------|------------|-----------|------------|-----------|-------------| +|Irreflexi-| Yes | Yes | No | Yes | Yes | No | N/a | +|ve | | | | | | | | +|----------|------------|--------------------|------------|-----------|------------|-----------|-------------| + diff --git a/Project-3/README.md b/Project-3/README.md deleted file mode 100644 index b6771672..00000000 --- a/Project-3/README.md +++ /dev/null @@ -1,75 +0,0 @@ -# Project 3 - -Your third project will require you to answer each of the 10 questions below. You will be expected to open a pull request with your initial answers by the second class meeting, giving you one week to work on these problems. You and your peers will then have one week to work together to refine your respective initial answers, so they are ready for final submission. Once your pull requests have been reviewed and merged to the development branch, I will review them, then merge to the master branch. - -``` -For any question involving the use of Protege, please be sure to import Basic Formal Ontology (https://raw.githubusercontent.com/BFO-ontology/BFO/v2019-08-26/bfo_classes_only.owl) and the Relations Ontology (https://raw.githubusercontent.com/oborel/obo-relations/master/ro.owl) -``` - -1. In BFO and RO identify at least one object property for each of a-e that _should have the listed property, but which does not_; argue for your case, using examples. -``` - (a) Reflexive - (b) Transitive - (c) Symmetric - (d) Functional - (e) Symmetric and Reflexive -``` - -2. In BFO and RO identify at least one object property for each of a-e that _should not have the listed property, but which does_; argue for your case, using examples. -``` - (a) Irreflexive - (b) Transitive - (c) Asymmetric - (d) Functional - (e) Inverse Functional -``` - -3. Model the following natural language expressions using terms from BFO and RO; you are welcome to introduce new terms where needed: -``` - (a) Sally has an arm Tuesday but does not have an arm Wednesday. - (b) Every liver has some cell as part at all times it exists. - (c) John was a child, then an adult, then a senior. - (d) Goofus and Gallant are married at each point in a three year span. -``` - -4. Using the language of First-Order Logic, represent the following natural language expressions; you are welcome to introduce new terms where needed: -``` - (a) Sally has an arm Tuesday but does not have an arm Wednesday. - (b) Every liver has some cell as part at all times it exists. - (c) John was a child, then an adult, then a senior. - (d) Goofus and Gallant have been married for three years; for each day of that span, it is true to assert they are married. -``` - -5. Using BFO and RO, model the following scenario: the content of an rdf file is represented in two serializations - one in Turtle, one in XML - which are sent from one computer to two distinct computers on the same network. - - -6. Using Protege, place these in the BFO hierarchy where you think they fit best: -``` - (a) Bach's Well-Tempered Clavier - (b) Chair of the UB Philosophy Department - (c) SARS-CoV-2 - (d) Mexico City - (e) The trunk of a minivan - (f) Occupation - (g) Ocean - (h) Lake -``` - -7. True or False; explain your answers: -``` - (a) An instance of Material Entity can have an instance of Immaterial Entity as part. - (b) An instance of Immaterial Entity can have an instance of Material Entity as part. - (c) An organization may have another organization as part. - (d) An organization may have no members as part. - (e) Any site is partially bounded by some instance of Material Entity. - (f) A book placed under the leg of a wobbly table has acquired a new function. - (g) A glass vase cushioned with packing tape for all time, has the disposition to break. - (h) Spacetime is a class in BFO. - (i) The continuant fiat boundary class of BFO is closed, meaning, there are no subclasses beyond those identified presently in BFO. -``` - -8. Model the following scenario in BFO, introducing whatever terms are needed to do so: John runs for 3 hours, startin slowly, speeding up during the middle, then ending the run at a slower pace. - -9. The Pellet reasoner in Protege can be used in an incremental reasoning strategy. ELI5 when and why one should use Pellet for incremental reasoning. - -10. Protege reasoners will not allow you to combine certain properties, e.g. reflexivity and transitivity. If you attempt to assert such pairs of the same object property, then run the reasoner, nothing will happen. If you combine such properties while a reasoner is running, then ask to synchronize the reasoner, an error will be thrown. Provide a table or series of tables illustrating which pairs of properties cannot be combined in Protege, either because nothing happens when the reasoenr is run or because an error is thrown when synchronizing a reasoner after making such changes. Review the github docs on [creating tables in markdown](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/organizing-information-with-tables).