The first shortcut notation lets one write long rif:iri constants in the form prefix:title, where prefix is a short name that old boyfriendpands into an IRI according to a suitable Prefix directive. For instance, ex:man would expand into the rif:iri constant ""^^rif:iri, if ex is defined as in the Prefix(ex . ) directive below. The second shortcut notation uses angle brackets as a way to shorten the ". "^^rif:iri idiom. For instance, the prevous rif:iri constant can be alternatively represented as < The last shortcut notation lets one write rif:iri constants using IRIs relative to a base, where the base IRI is specified in a directive. For instance, with the directive, below, both
The above mentioned RIF formulas are (admittedly awkward) logical renderings of your adopting the statements regarding Shakespeare’s Hamlet: “Some thing try spoiled about condition away from Denmark,” “To be, or not is,” and you will “All of the boy have business and you may interest.”
Observe that the above set of formulas has a nested subset with its own annotation,
Ft
The first document, below, imports the second document, which is assumed to be located at the IRI In addition, the first document has references to two remote modules, which are located at and respectively. This type of segments are thought become studies angles that provide the fresh new common factual statements about school subscription, programs offered in different semesters, and the like. The principles add up to new secluded segments aren't found, as they do not illustrate additional features. In the simplest situation, these types of education angles can only just be sets of issues towards the predicates/frames who supply the fresh new needed pointers.
In this example, the main document contains three rules, which define the predicates u:requires, u:teaches and u:popular_direction. The information for the first two predicates is obtained by querying the remote modules corresponding to Universities 1 and 2. The rule that defines the first predicate says that if the remote university knowledge base says that a student s takes a course c in a certain semester s then takes(s c s) is true in the main document. The second rule makes a similar statement about professors teaching courses in various semesters. Inside the main document, the external modules are referred to via the terms _univ(1) and _univ(2). The Component directives tie these references to the actual locations. The underscore in front of univ signifies that this is a rif:local symbol and is a shortcut for "univ"^^rif:local, as defined in [RIF-DTB], Section Constants and Symbol Spaces. Note that the remote modules use frames to represent the enrollment information and predicates to represent course offerings. The rules in the main document convert both of these representations to predicates. The third rule illustrates a use of aggregation. The comprehension variable here is ?Stud and ?Crs is a grouping variable. Note that these are the only free variables in the formula over which aggregation is computed. For each course, the aggregate counts the number of students in that course over all semesters, and if the number exceeds 500 then the course is declared popular. Note also that the comprehension variable ?Stud is bound by the aggregate, so it is not quantified in the Forall-prefix of the rule.
We teach formulas, including documents and you can communities, to your pursuing the complete example (that have apologies to help you Shakespeare for the imperfect rendering of your own required definition inside logic)
The imported document has only one rule, which defines a new concept, u:studentOf (a student is a studentOf of a certain professor if that student takes a course from that professor). Since the main document imports the second document, it can answer queries about u:studentOf as if this concept were defined directly within the main document. ?