Анализ мотивации, целей и подходов проекта унификации языков на правилах RIF Калиниченко Л.А., Ступников С.А. (ИПИ РАН) Симпозиум «Онтологическое моделирование», КФУ, 11-12 Октября 2010 г. План рассмотрения • Унификация языков, интеграция информационных ресурсов, интероперабельность • Цели проекта RIF • Языки на правилах и их применения: краткий исторический экскурс • Логические модели рассуждений • Семантики логических программ • Языки и системы ЛП, оказавшие существенное влияние на RIF • Примеры использования RIF и системы ЛП в области интересов группы RIF WG • Требования к RIF • Обзор основных решений RIF • Выводы Унификация языков, интеграция информационных ресурсов, интероперабельность Унификация языков, интероперабельность информационных ресурсов • Требуют унификации: языки реляционных и объектных баз данных, онтологического моделирования, представления слабо структурированных, графовых, мультимедийных данных, представления баз знаний, логического программирования, дедуктивные языки запросов к базам данных, спецификации потоков работ, спецификации интерфейсов программных ИР, языки со специализированной семантикой (например, для выражения темпоральных, пространственных моделей), языки для определения нечетких, вероятностных представлений, языки концептуального моделирования и метамодели, и многие другие. • Примеры расширяемых унифицирующих языков – СИНТЕЗ • Программы на правилах – новый вид ИР , унификация ЯП • Цель RIF: создание расширяемого унифицированного семейства языков на правилах • Применение подхода должно быть общим, не ограничиваться Вебом Why rules • The use of rules for knowledge representation and intelligent information systems dates back over thirty years. • By now it is a mature technology with decades of theoretical development, practical and commercial use. • The accumulated experience in this area exceeds the experience gathered with the use of Description Logics and the field is arguably more mature when it comes to rules • The mature technology for rule-based applications is based on logic programming and nonmonotonic reasoning (LPNMR) • Interesting that SQL, arguably the most important rule-based language, has LPNMR as its foundation • To exploit the full potential of rule-based approaches, the business rules and the Semantic Web communities have started to develop solutions for reusing and integrating knowledge specified in different rule languages (such as http://www.w3.org/2005/rules/wg/wiki/List of Rule Systems) Цели проекта RIF Концепция RIF • Рабочая группа W3C RIF WG: с 2005 г. Задача: – Обеспечить использование потенциала, накопленного при создании и использовании различных языков и систем на правилах – Совместимость с RDF и OWL • Цель: создание унифицированных диалектов на правилах, в которые существующие языки на правилах могли быть отображены с сохранением семантики , позволяя правила, созданные в рамках некоторого приложения, публиковать, использовать совместно с другими правилами, повторно использовать в других приложениях и других машинах • Унифицированный язык представляется как семейство диалектов, которые имеют общее ядро (корневой диалект) и совокупность расширяющих его диалектов • Для полновесного включения каждого языка на правилах в совокупность интероперабельных языков достаточно снабдить соответствующую систему программирования двумя сохраняющими семантику преобразователями – из собственного языка в диалект (роль поставщика) и из диалекта в собственный язык (роль пользователя) Принятие стандарта • 22 June 2010 W3C published a new standard for building rule systems on the Web. Declarative rules allow integration and transformation of data from multiple sources in a distributed, transparent and scalable manner. The new standard, called Rule Interchange Format (RIF), was developed with participation from the Business Rules, Logic Programming, and Semantic Web communities to provide interoperability and portability between many different systems using declarative technologies. The six new standards are: • RIF Core Dialect, which provides a standard, base level of functionality for interchange • RIF Basic Logic Dialect and RIF Production Rule Dialect provided extended functionality matching two common classes of rule engines • RIF Framework for Logic Dialects describes how to extend RIF for use with a large class of systems • RIF Datatypes and Built-Ins 1.0 borrows heavily from XQuery and XPath for a set of basic operations • RIF RDF and OWL Compatibility specifies how RIF works with RDF data and OWL ontologies Языки на правилах и их применения: краткий исторический экскурс Программы на правилах, классы применений • Logic programming has three main classes of application: – a general-purpose programming language, – a database language, – a knowledge representation language. • As a programming language, it can represent and compute any computable function. • As a database language, it generalises relational databases, to include general clauses in addition to facts. • As a knowledge representation language it is a non-monotonic logic, which can be used for default reasoning Применение логики для представления знаний и решения задач Basic landmarks: • • • • • • Advice Taker, McCarthy (1958) , KR and theorem-proving Resolution (Robinson, 1965) Procedural against logic approach: Planner (MIT) Winograd1971 Procedural interpretation of Horn clauses Kowalski 1974 Colmerauer’s development of the programming language Prolog Non-monotonic logics: Naf (Clark, 1978), circumscription ( McCarthy, 1980), default logic (Reiter, 1980), autoepistemic logic (Moore, 1985) • Production systems (Neweli, 1973) • Agent LP logic (Kowalski and Sadri,1999; Kowalski 2001, 2006) Дедуктивные базы данных • Green and Raphael (1968): connection between theorem proving and deduction in databases; QA systems • First description of bounded recursive queries (can be replaced by nonrecursive equivalents): Minker, Nicolas • Distinction between EDB and IDB first emphasized in DADM (1981) • Reiter's paper on the closed world assumption (1978) • Showing that the least fixpoint of a Horn-clause logic program coincides with its least Herbrand model: Emden and Kowalski, 1976 • Period of 1984 – 1995: active research and development under the influence of the 5th Gen Computers initiative • LDL and LDL++ project at MCC (1984, 1990) • ECRC deductive database project • DOOD conferences: 1989 (Kyoto), 1991 (Munich), 1993 (Phoenix), 1995 (Singapore), 1997 (Montreux), 2000 (London). Cистемы дедуктивных баз данных (1) Системы дедуктивных баз данных (2) Логические модели рассуждений Логические модели рассуждений Примеры различных видов (моделей) немонотонных рассуждений: • Абдуктивные рассуждения:вид автоматизированного правдоподобного рассуждения • Рассуждения на основе умолчания: имеется возможность отказа от предположения умолчания, когда оказывается, что оно неверно • Отрицание как неудача: основано на предположении о замкнутости мира • Логика очерчивания (circumscription): действуют предположения здравого смысла, пока нет других указаний • Автоэпистемическая логика: представление знаний о знаниях и рассуждения в таком контексте • Логика отмены заключений: при рассуждениях заключения не окончательны, они могут быть скорректированы или отменены • Логика рассуждений с неопределенностью: например, использование Байесовского формализма в системах правил • Теории аргументации: основана на искусстве ведения дебатов, убеждения, применяя логические рассуждения NAF и рассуждения о неполной информации • В логических формулах наряду с отрицанием как неудачей (not), требуется использование классического (сильного) отрицания (¬) flies(X) :- bird(X), not excl(X). bird(X) :- penguin(X). excl(X) :- penguin(X). bird(tweety) :-. penguin(sam) :-. ¬bird(X) :- not bird(X). ¬penguin(X) :- not penguin(X). ¬excl(X) :- not excl(X). ¬flies(X) :- penguin(X). ¬flies(X) :-¬bird(X). • Явное определение предположения CWA (выделенные предикаты). Остальные предикаты - в предположении OWA Семантики логических программ Classes of Programs • H ← B1 ˄ . . . ˄ Bm ˄ ~Bm+1 ˄ . . . ˄ ~Bn where H, Bi are atoms, n, m ≥ 0 and ~Bj are called negation-as-failure literals (NAF literals). if [body] then [head]”, with universal quantification on the outer level. Specific classes of programs: • Normal programs allow the use of classical negation in the head and in the body of a rule. • Definite programs are normal programs where negated atoms and NAFliterals are not allowed in the rules. • Datalog programs, are logic programs where function symbols other than constants are not allowed. Usually it is also required that the rules are safe. • Conjunction of literals in the head: shorthand for a number of ordinary rules. • Disjunction of literals in the head => disjunctive logic programming Definite Programs Definite programs (not including NAF literals), definite Horn clause, or Horn rule H ← B1 ˄ . . . ˄ Bk The semantics of definite logic programs : the least Herbrand model of a given program. The least Herbrand model is the smallest (w.r.t. set inclusion) set S of ground atoms such that for any rule H ← B1 ˄ . . . ˄ Bk, if B1 ˄ . . . ˄ Bk ϵ S then H ϵ S. • Backward reasoning, where an atomic query is matched/unified with the head of a rule and replaced by the respective instance of the body • Forward reasoning, where the head of a ground instance of a rule is added to the conclusion set when all body atoms of this rule are already included in the conclusion set. Хорновские правила • A Horn clause is a clause (a conjunction of literals – atomic formulae (atoms) or their negation) with at most one positive literal in the head H ← B1 ˄ . . . ˄ Bm ˄ ~Bm+1 ˄ . . . ˄ ~Bn • • • • Horn clauses play a basic role in logic programming. A Horn clause with exactly one positive literal in the head is a definite clause. A Horn clause with no positive literals in LP is called a goal clause. The resolution of a goal clause with a definite clause is the basis of the SLD resolution (Selective Linear resolution with Definite clauses). • NAF can be used in a body of clauses. In Prolog NAF is known to be problematic: it may not terminate due to infinite positive recursion; due to infinite recursion through negation; and it may repeatedly evaluate the same clause body literal, leading to unacceptable performance • Modern logic programming languages use either the well-founded default negation or the one based on stable models Overlaps among Different Logics Two Philosophically Different Approaches for LP • 1. To keep the idea of defining a single model for a program, possibly including also problematic classes of programs with negation. This can be achieved by properly defining which single model should be selected among all classical models of a program. For general normal problems, the most popular semantics is perhaps the one based on the well-founded model • 2. To identify a collection of multiple models. This line of research abandons the “dogmatic” requirement of a single model and accepts the possibility of having multiple scenarios compatible with a given program. Stable model: model generation (that is, the computation of the set of preferred models) . This is more than query answering Stable Model • The intuition behind stable model semantics is to treat negated atoms in a special way. Intuitively, such atoms are a source of “contradiction” or “unstability.” “Stability” can thus be seen as follows: if an interpretation M of P is not self-contradicting, then it is stable. man(petrov). single(X) ← man(X), not husband(X). husband(X) ← man(X), not single(X). • where single(petrov) and husband(petrov) are mutually dependent using negation. An SLD resolution algorithm would loop forever when trying to answer the query single(X). • This program has two minimal Herbrand models that are stable M1 = {man(petrov), single(petrov)} and M2 = {man(petrov), husband(petrov)} Answer Set Programming (ASP) • ASP adds constraints, strong negation and disjunction • female(X) v male(X) ← person(X) • Useful application for strong negation (in combination with weak negation) is to express default rules. For example, we can express that “a bird flies by default” with the rule • flies(X) ← bird(X), not¬ flies(X). Here ¬ is a strong negation. • not p in the body of a rule can be read (V.Lifschitz) as "p is not believed" • broken(left hand, tom) v broken(right hand, tom) - disjunctive fact • ok(C) v ¬ ok(C) ← component(C) states that a component may be in a working condition or not working at all, ASP Example • In the graph 3-coloring problem, assuming that G = (V, E) is stored using • facts node(n) for each n ϵ V and edge(n, n’) for each (n, n’) ϵ E, which gives the data D, the generic specification of solutions PS can be given by the following rules: • b(X) ← node(X), not r(X), not g(X) • r(X) ← node(X), not b(X), not g(X) • g(X) ← node(X), not r(X), not b(X) • and the constraints • • • ←b(X), b(Y ), edge(X, Y ) ←r(X), r(Y ), edge(X, Y ) ←g(X), g(Y ), edge(X, Y ) ASP Applications • This method has been successfully applied to numerous problems in a range of areas; an incomplete list is • • • • • • • • • diagnosis information integration constraint satisfaction reasoning about actions (including planning) routing, and scheduling health care biomedicine and biology text mining and classification question answering Хорошо обоснованная семантика (WFS) • The well-founded semantics (WFS) - three-valued logic (true, false, unknown) • If an atom is true in the well-founded model of P then it belongs to every stable model of P. The converse, generally, does not hold. • For instance, the program p ← not q q ← not p r←p r←q has two stable models, {p,r} and {q,r}. Even though r belongs to both of them, its value in the well-founded model is unknown. • WFS, в отличие от ASP, продуцирует в результате вывода единственное результирующее множество • Хорошо обоснованная семантика (WFS) является основой реализации многих систем, прежде всего коммерческих (например, XSB, Ontobroker, Intellidimension, SweetRules, SILK, FLORA) • ASP обладает более высокой вычислительной сложностью. Примеры реализаций ASP: Smodels, DLV, Clasp. Хорошо обоснованная и стабильная семантики • One of the frequently cited difference is that ASP supports reasoning by cases , which is not possible using WFS. Due to the differences in their expressive power, the two paradigms are typically used for different purposes. ASP is ideally suited for solving hard combinatorial programs and such systems usually appear as embedded knowledge base components of imperative programming languages. In contrast, WFS-based systems typically are Turing-complete and can be used as programming languages in their own right. • At the same time, it was shown that the WFS can be viewed as a three-valued version of the stable model semantics. Языки и системы ЛП, оказавшие существенное влияние на RIF (F-Logic) Фреймовая логика и язык метапрограммирования (F-Logic) • F-logic combines the advantages of conceptual modeling with objectoriented, frame-based languages and offers a declarative semantics • F-logic provides a logical foundation for frame-based and object-oriented languages for data and knowledge representation • HiLog is a a logical formalism extending Prolog that provides higher-order and meta-programming features in a computationally tractable first-order setting. • FLORA-2 is an advanced object-oriented knowledge base language • The language of FLORA-2 is a dialect of F-logic with extensions – HiLog and logical updates in the style of Transaction Logic • Non-first order, nonmonotonic semantics by interpreting the negation operator as negation-as-failure as well as the semantics of multiple inheritance with overriding Structure of F-Logic Programs F-programs specify what each method is supposed to do, define method signatures, and organize objects along class hierarchies. • Object definitions may be explicit, that is, given as facts, or implicit, that is, specified via deductive rules. • Class-hierarchy declarations, as their name suggests, organize objects and classes into IS-A hierarchies. • Signature declarations specify the types of the arguments for each method and the type of the output they produce. • In FLORA-2, transactions are expressed as object methods that are prefixed with the special symbol “%". Atomicity of transactions is provided. Схемы в F-Logic • Classes are treated as objects and it is possible for the same object to play the role of a class in one formula and of an object in another. • Schema information through signature formulas paper[authors => person, title => string]. journal p :: paper[in vol => volume]. conf p :: paper[at conf => conf proc]. journal vol[of => journal, volume => integer, number => integer, year => integer]. journal[name => string, publisher => string, editors => person]. conf proc[of conf => conf series, year => integer, editors => person]. conf series[name => string]. publisher[name => string]. person[name => string, affil(integer) => institution]. institution[name => string, address => string]. Объекты в F-Logic o_j1 : journal p[title -> ’Records, Relations, Sets, Entities, and Things’, authors -> {o_mes}, in vol -> o_i11]. o_di : conf p[ title -> ’DIAM II and Levels of Abstraction’, authors -> {o_mes, o_eba}, at conf -> o_v76]. o_i11 : journal vol[of -> o_is, number -> 1, volume -> 1, year -> 1975]. o_is : journal[name -> ’Information Systems’, editors -> {o_mj}]. o_v76 : conf proc[of -> vldb, year -> 1976, editors -> {o_pcl, o_ejn}]. o_vldb : conf series[name -> ’Very Large Databases’]. o_mes : person[name -> ’Michael E. Senko’]. o_mj : person[name -> ’Matthias Jarke’, affil(1976) -> o_rwt]. o_rwt : institution[name -> ’RWTH Aachen’]. Примеры запросов • ?- student[?M=> person]. finds the set-valued methods that are defined in the schema of class student and return objects of type person • ?- student::?C and student[name=> ?T]. returns all the superclasses of class student: • ?- person[?M(?Arg)=> integer]. ?M would be bound to names of functions (and predicates) The semantics for this second-order syntax is first order, however. Roughly it means that variables get bound not to the extensional values of the symbols, but to the symbols themselves. Class Hierarchy Реификация p(a). q(p(a)). ?- q(?X), ?X. What happens here is that the proposition p(a) is reified (made into an object) and so it can be bound to a variable ?X John believes that Mary likes Sally as follows: John[believes ->${Mary[likes ->Sally]}]. ${...} is the syntax that FLORA-2 uses to denote reified statements John[believes ->${Bob[likes ->?X] : - Mary[likes ->?X]}]. This sentence reifies a rule (not just a fact) and states that John also believes that Bob likes anybody who is liked by Mary. F-Logic examples • X: merchandise <- X: Y ˄ Y[ price => ( )] defines a derived class, merchandise, that consists of all objects to which the attribute price applies. • Lowest superclass of X and Y lsup(X,Y)::C ← X::C ˄ Y::C X::lsup(X, Y) Y:: lsup(X, Y) • Greatest subclass of X and Y C::gsub(X,Y) ← C::X ˄ C::Y gsub(X, Y) :: X gsub(X, Y)::Y Methods in F-Logic empl[ salary @ year => integer] person[ birthdate => year] salary is a function that for any empl-object would return an object in the class integer, if invoked with an argument of class year. The second clause says that birthdate is an attribute that returns a year for any person-object. F-Logic vs DLs • F-logic is computationally complete. On the other hand, expressive F-logic knowledge bases provide no computational guarantees. Comparing to DL: • The exponential complexity of many problems in DLs creates difficulties in reasoning with large ontologies • Decidable computations in F-logic with polynomial complexity includes queries without function symbols that are beyond the expressive power of DLs. Furthermore, research in logic programming and deductive database has identified large classes of knowledge bases with function symbols where query answering is decidable There are two aspects where DLs provide more flexibility: • DLs allow the user to represent existential information. For instance, one can say that there is a person with certain properties without specifying any concrete instance of such a person • DLs admit disjunctive information into the knowledge base. For instance, one can say that John has a book or a bicycle. The corresponding statement in Flogic is only an approximation: john[has! #:(book or bicycle)] (# - Skolem constant) Примеры использования RIF и системы ЛП в области интересов группы RIF WG Cистемы на правилах в области интересов RIF WG • C самого начала проекта RIF следовало позаботиться об установлении взаимодействия с группами создания и поддержки конкретных разнородных языков и систем на правилах • Группой RIF WG изначально было определено, что rule system is of interest to the RIF WG if it is liable to enter in applications where it will be required to interchange rules (with other rule systems of interest) and to implement a Use Cases. • Более 50 предложений примеров использования были получены RIF WG в 2005 г. Эти примеры представляли более 20 различных систем на правилах. Системы на правилах, отобранные для анализа и выработки требований к RIF (1) Системы на правилах, отобранные для анализа и выработки требований к RIF (2) Системы на правилах, отобранные для анализа и выработки требований к RIF (3) Категории примеров использования Список категорий примеров использования выглядит так (ранняя категоризация W3C): 1. Information Integration 2. Decision Support 3. Cross-Platform Rule Development & Deployment 4. Policy-Based Transaction Authorization and Access Control 5. Interchange of Human-oriented Business Rules 6. Publication 7. Third Party Rule-Interchange Services 8. Rich Knowledge Representation Требования к RIF Rule Interchange Format (RIF) intentions • RIF is designed to enable interoperability among rule languages in general, and its uses are not limited to the Web. • To design a uniform and extensible family of languages (dialects) • RIF uniformity: dialects should share as much as possible of the existing syntactic and semantic apparatus • RIF Extensibility: it should be possible to define a new RIF dialect as a syntactic extension to an existing RIF dialect, with new elements with additional functionality. • Idea behind rule exchange through RIF: syntactic, semantics-preserving mappings from native languages of various rule systems to RIF dialects and back • Primary focus: RIF is focused on two kinds of dialects: logic-based dialects and dialects for rules with actions. Общие требования к RIF • • • • Implementability: Semantic precision: Extensible Format: create new dialects of RIF upwardly compatible. Translators: to implement translators between dialect rule languages and RIF without changing the rule language. • Standard components: standard support technologies such as XML parsers and other parser generators, etc. • Rule language coverage: RIF must cover the set of languages identified in the Rulesystem Arrangement Framework (RIFRAF). Сравнение х-к систем на правилах (Grosof) Требования, мотивированные примерами использования (1) • Compliance model The RIF specifications must provide clear conformance criteria, defining what is or is not a conformant RIF implementation. • Default behavior RIF must specify at the appropriate level of detail the default behavior that is expected from a RIF compliant application that does not have the capability to process all or part of the rules described in a RIF document • Different semantics RIF must cover rule languages having different semantics. • Limited number of dialects RIF must have a standard core and a limited number of standard dialects based upon that core. • OWL data RIF must cover OWL knowledge bases as data where compatible with RIF semantics. Требования, мотивированные примерами использования (2) • RDF data RIF must cover RDF triples as data where compatible with RIF semantics. • Dialect Identification The semantics of a RIF document must be uniquely determined by the content of the document, without out-of-band data. • XML syntax RIF must have an XML syntax as its primary normative syntax. • XML types RIF must support an appropriate set of scalar datatypes and associated operations as defined in XML Schema. • Merge Rule Sets RIF must support the ability to merge rule sets (even written in different rule languages). • Identify Rule Sets RIF must support the identification of rule sets. Обзор основных решений RIF Решения RIF • Known rule systems fall into three broad categories: first-order, logicprogramming, and action rules. These paradigms share little in the way of syntax and semantics. Moreover, there are large differences between systems even within the same paradigm. • The approach taken by the Working Group was to design a family of languages, called dialects, with rigorously specified syntax and semantics. The family of RIF dialects is intended to be uniform and extensible. • RIF uniformity means that dialects are expected to share as much as possible of the existing syntactic and semantic apparatus. • Extensibility here means that it should be possible for motivated experts to define a new RIF dialect as a syntactic extension to an existing RIF dialect, with new elements corresponding to desired additional functionality. These new RIF dialects would be non-standard when defined, but might eventually become standards. Current RIF Dialects as Standards • RIF-BLD: The Basic Logic Dialect this dialect corresponds to Horn logic with various syntactic and semantic extensions. The main syntactic extensions include the frame syntax and predicates with named arguments. The main semantic extensions include datatypes and externally defined predicates. Has limited expressiveness that lies within the intersection of first-order and logic-programming systems, it does not support negation. • RIF-PRD: The Production Rule Dialect captures the main aspects of various production rule systems. Production rules are defined using ad hoc computational mechanisms, which are not based on a logic. • RIF-Core: The Core Dialect. This dialect is a subset of both RIF-BLD and RIF-PRD thus enabling limited rule exchange between logic rule dialects and production rules. RIF-Core corresponds to Horn logic without function symbols (often called 'Datalog') with a number of extensions to support features such as objects and frames as in F-logic, internationalized resource identifiers for concepts, and XML Schema datatypes. RIF Dialects RIF Framework for Logic Dialects • Started as a classification system (RIFRAF = RIF Rule Arrangement Framework) populated with existing rule languages and systems. 50 use cases were collected by the RIF group applying normative, deductive, reactive rules • RIF-FLD specification is unique it presents in a coherent form syntactic and semantic machinery of different logic rule systems after digesting of the respective knowledge • RIF-FLD is a very general logic language that includes a great deal of commonly used syntactic and semantic apparatus • It purposely leaves certain parameters unspecified to enable designers of concrete dialects to fill in the necessary details RIF Framework for Logic Dialects • A dialect designer can then define the syntax/semantics of a dialect by specializing it from the syntax/semantics of RIF-FLD • The RIF framework for logic dialects also supports a variety of rule languages based on non-monotonic theories (including WFS and stable model) • For rule interchange between CL and RIF dialects, it is expected that partial RIF-CL mappings will be defined. • RIF framework is likely to see several extensions in the future RIF-FLD main components • Syntactic framework. This framework defines the mechanisms for specifying the formal presentation syntax of RIF logic dialects by specializing the presentation syntax of the framework. This syntax is not intended to be a concrete syntax for the dialects; it leaves out details such as the delimiters of the various syntactic components, parenthesizing, precedence of operators, and the like. Since RIF is an interchange format, it uses XML as its only concrete syntax. • Semantic framework. The semantic framework describes the mechanisms that are used for specifying the models of RIF logic dialects. It specifies such semantic notions as models and logical entailment (leaving such options as exact models are to be used for entailment open ). • XML serialization framework. This framework defines the general principles that logic dialects are to use in specifying their concrete XML-based syntaxes. For each dialect, its concrete XML syntax is a derivative of the dialect's presentation syntax. Гибкость RIF-FLD Каркас RIF содержит набор конструкций, достаточных для : • Формирования диалектов с различной семантикой, включая хорошо обоснованную семантику и стабильную семантику • Введения правил, имеющих широкий диапазон представлений – от Хорновских правил до универсальных правил с произвольными формулами в голове (таким образом, например, становятся представимыми как правила дизъюнктивного Datalog’а, так и GLAV взгляды) • Выбора трактовки предположения об уникальности имен (в логическом программировании синтаксически разные базовые термы обозначают разные объекты, а в дескриптивных логиках это не так) Other known RIF dialects (not yet standards) • RIF Core Answer Set Programming Dialect CASPD is intended to capture the paradigm of declarative logic programming that is based on the answer set semantics (it is also known as the stable model semantics when applied to a subset of the language). The ASP paradigm is especially useful as a way of specifying and solving NP-complete problems. RIF-CASPD is defined as a specialization of the RIF framework for logic-based dialect • RIF Core Logic Programming Dialect Based on the Well-founded Semantics-CLPWD is intended to capture the paradigm of declarative logic programming that is based on the WFS. RIF-CLPWD is defined as a specialization of the RIF framework for logic-based dialect • Uncertainty Rule Dialect (RIF-URD) to support a direct representation of uncertain knowledge. A fuzzy extension to Description Logic Programs (DLP), called Fuzzy DLP, and discuss its mapping to RIF. Such a formalism combines DL with LP, as in DLP and supports uncertain knowledge representation • Default logic based dialect is planned in frame of the SILK project Rules and OWL Interoperability • A “logical framework" is required that will be sitting above the OWL and rules stack and will enable inferences performed by OWL to be used by the rules stack, and vice versa • The basic idea is that rules and OWL will view each other as “black boxes" with well-defined interfaces defined through exported predicates. OWLbased ontologies will export some of their classes and properties, while rulebased knowledge bases will export some of the predicates that they define. Each type of the knowledge base will be able to refer to the predicates defined in the other knowledge bases and treat them extensionally, as collections of facts. • Thus, the hybrid architecture offers a way to combine expressive classes of nonmonotonic rule bases with OWL-based ontologies Hybrid approach • Ontologies are assumed to provide commonly shared conceptualization of a domain. There may be different application-specific rule programs for different applications in the domain. • Rules would not define new classes or properties of the ontology, but rather some application-specific relations, while referring in the bodies to classes and properties defined by a given ontology. • This is similar to defining views in a given relational database. Such an approach is called hybrid. • The ontology remains unchanged and rules are built on top of ontologies. This makes possible integration of existing rule reasoner with existing ontology reasoner for reasoning in the hybrid language, rather than developing a new reasoner from scratch. • LP rule language R and an ontology language S based on a description logic. A hybrid rule over R and S is a rule of the form H <- B1 & . . . & Bm & Q1 & . . . & Qn where, m, n >= 0, H, Bi are literals, Qj are queries in query language QS Состояние реализации RIF Состояние реализации RIF (2) Выводы • Принятие стандарта RIF W3C - важное событие • Впервые работа по унификации языков выполняется как задача крупного консорциума. Осознание необходимости подобной работы таким разнородным сообществом как W3C уже событие • В результате работы RIF WG можно рассматривать программы на правилах как особый вид ИР, который может быть использован в различных средах интеграции и интероперабельного использования ИР (например, в средах предметных посредников). • Благодаря высокому уровню абстракции и декларативности программ на правилах, становится практически достижимой точная спецификация поведения в концептуальных моделях ограниченная пока спецификацией пред- и пост-условий. В частности, применение различных моделей логических рассуждений становится реально возможным при решении задач с использованием множества неоднородных распределенных информационных ресурсов. Выводы (2) • Предложен тщательно обоснованный и формализованный подход к созданию семейства диалектов языков на правилах, позволяющих однородно представить многообразие существующих языков. • Для языков ЛП определен каркас, позволяющий конструировать различные диалекты, на основе которых можно создавать взаимные сохраняющие семантику отображения адекватных диалекту существующих языков ЛП в диалект. • Такие отображения являются необходимой предпосылкой обеспечения интероперабельности и повторного использования логических программ. Новый диалект создается как расширение существующих диалектов, управляемое каркасом. • Стандарт RIF будет стимулировать развитие исследований по созданию сохраняющих семантику, конформных отображений языков на правилах Language extensions • Let L1 ⊆ L2 be two logic languages and suppose their semantics are defined using the entailment relations ⊨1 and ⊨2. L2 is said to be an extension of L1 if for any pair of formulas φ, ψ ϵ L1, the entailment φ ⊨1 ψ holds iff φ ⊨2 ψ holds. • In case of a rules language, the set of formulas that can be used as premises is not the same as the formulas that can be used as consequents. Therefore, we should assume that L1 = Premises1 ⋃ Consequents1 and L2 = Premises2 ⋃ Consequents2. In addition, as in the case of DLP and Datalog, L1 may not actually be a subset of L2. Instead, it may be embedded in L2 under a 1-1 transformation, ι. In our notation, this is expressed as ι(Premises1) ⊆ Premises2 and ι(Consequents1) ⊆ Consequents2. • We can now say that L2 extends L1 under the embedding ι if for every pair of formulas, φ ϵ Premises1 and ψ ϵ Consequents1, the entailment φ ⊨1 ψ holds iff ι(φ) ⊨2 ι(ψ) holds. Post presentation slides Stable Model and Answer Set Programming (ASP) • In default logic a rule includes, besides its premises and conclusion, a list of formulas called justifications. A default can be used to derive its conclusion under the assumption that its justifications are consistent. It is possible to treat negated atoms in the bodies of rules (under stable model semantics) as justifications • The autoepistemic logic uses a modal operator to distinguish between what is true and what is believed. not p in the body of a rule can be read (V.Lifschitz) as "p is not believed"(rule with negation is a formula of autoepistemic logic). • Distingushing ability to express defaults: assertions of the form “Elements of a class C normally satisfy property P”. Learning of defaults, exception to these defaults and the way of using this information to draw the reasonable conclusions about the world be supported by stable model and ASP. It allows to express disjunction and classical negation • ASP allows also to express the causal effects of actions (“statement F becomes true as a result of performing an action alpha”), statements expressing a lack of information (“it is not known if statement P is true or false”), various CWA assumptions (“statements not entailed by the knowledge base are false”). Системы программирования множества ответов (ASP) • The search algorithms used in design of many ASP solvers are enhancements of the procedure similar to efficient SAT solvers. Unlike SLDNF in Prolog, such algorithms always terminate. • System LPARSE was originally created as a front-end for the answer set solver SMODELS, and it is now used in the same way in most other answer set solvers. (System DLV is an exception; syntax of ASP for DLV is different) • Constraints (rules with empty head) and choice rules are supported. The effect of adding a constraint to a program is to eliminate some of its stable models. {s,t} :- p. Intuitively, the choice rule means: if p is included in the stable model then choose arbitrarily which of the atoms s, t to include. • ASP programs can include CWA rules for some of its predicates and leave the other predicates in the realm of OWA RIF WG initial plans • The W3C RIF WG is chartered to develop an exchange format for rules that should enable rules to be translated between different rule languages and, thus, to be used in different rule systems. Planned in two phases: • Phase I focuses essentially on Horn rules for a core rule interchange format. • For Phase II, the charter just gives starting points for possible extensions. For example, the core format might be extended in the direction of first-order rules, (possibly non-monotonic) logic programming rules, and particularly ECA and production rules. • The charter also emphasizes compatibility with Web and Semantic Web technologies such as XML, RDF, SPARQL, and OWL. • It is not the goal of RIF to provide a one-for-all rule language which can cover all of these features. Distinct features of different rule systems are often simply incompatible. Rather, the concept of RIF dialects will enable the exchange of rules within common fragments or variable feature sets between various parties Importance of RIF for W3C and e-science Creating a generally accepted RIF is by no means a trivial task: • different kinds of rules: deduction rules, normative rules, production rules, reactive rules, etc. • within the same category of rules, systems use different (often incompatible) semantics and syntaxes • existing Semantic Web standards, such as RDF and OWL, show incompatibilities with many kinds of rule languages The intersection of DLs and Rules is of interest for several reasons. 1) such an intersection could form the common basis for and promote interoperability between DL and Rules based ontology languages; 2) understanding the expressive intersection of these two KRs may help to understand the expressive combination/union of the two KRs; 3) ontologies that are within this intersection may be able to use rules engines to provide scalable reasoning services. RDF(S), OWL and rules It is not easy to combine OWL with most rule-based formalisms 1) OWL allows disjunctive and existential information (most rule-based systems do not) 2) OWL is based on FOL, but many rule-based formalisms support so-called default reasoning which is not first-order. RDF (and RDFS) allows expressing knowledge in the Semantic Web but does not provide ways of extracting new knowledge from the asserted one. Rule support in RDF(S) is already a practical reality. W3C Stack: PRELIMINARY CONSIDERATIONS Syntactic framework • Constants and variables. These terms are common to most logic languages. • Positional terms. These terms are commonly used in first-order logic. • Terms with named arguments. Terms with named arguments generalize the notion of rows in relational tables, where column headings correspond to argument names. • Lists. These terms correspond to lists in logic programming • Frames. A frame term represents an assertion about an object and its properties. These terms correspond to molecules of F-logic. There is syntactic similarity between terms with named arguments and frames • Classification. These terms are used to define the subclass and class membership relationships. There are two kinds of classification terms: membership terms and subclass terms (borrowed from F-logic) • Equality. These terms are used to equate other terms. • Formula terms. These terms are the ones for which truth values are defined by the RIF semantic framework. Most dialects would treat such terms in a special way and will impose various restrictions on their contexts. Some advanced dialects, however, will have fewer such restrictions, which will make it possible to reify formulas and manipulate them as objects. Syntactic framework (2) • • • • External. These terms are used to represent built-ins and external data sources that are treated as "black boxes." Aggregation. These are the terms that are used to represent aggregation functions over sets. Remote. These terms are used to represent queries to RIF documents that are not part of the RIF document that contains these terms. Terms are then used to define several types of RIF-FLD formulas. RIF dialects can choose to permit all or some of the aforesaid categories of terms. In addition, RIF-FLD introduces extension points, one of which allows the introduction of new kinds of terms. An extension point is a keyword that is not a syntactic construct per se, but a placeholder that is supposed to be replaced by specific syntactic constructs of an appropriate kind. RIF-FLD defines several types of extension points: symbols (NEWSYMBOL), connectives (NEWCONNECTIVE), quantifiers (NEWQUANTIFIER), aggregate functions (NEWAGGRFUNC), and terms (NEWTERM). Specialization mechanisms of syntactic framework • Extension points RIF-FLD introduces extension points a placeholder to be replaced by specific syntactic constructs of an appropriate kind (symbols (NEWSYMBOL), connectives (NEWCONNECTIVE), quantifiers (NEWQUANTIFIER), aggregate functions (NEWAGGRFUNC), and terms (NEWTERM)) • Symbol spaces. Symbol spaces partition the set of non-logical symbols that correspond to individual constants, predicates, and functions, and each partition is then given its own semantics. A symbol space has an identifier and a lexical space, which defines the "shape" of the symbols in that symbol space. • Signatures. Signatures determine which terms and formulas are wellformed. They constitute a generalization of the notion of sorts in classical first-order logic. In this way, it is possible to control which symbols are used for predicates and which for functions, where variables can occur, and so on. • Restriction. A dialect might impose further restrictions on the form of a particular kind of term or formula. For example, variables or aggregate terms might not be allowed in certain places. Semantic framework • Defines the notion of a semantic structure (interpretation) to interpret formulas and to define logical entailment. The mechanisms of specialization include: • Set of truth values. RIF-FLD is designed to accommodate dialects that support reasoning with inconsistent and uncertain information. Most of the respective logics are multi-valued. RIF-FLD postulates that there is a set of truth values, TV, which includes the values t (true) and f (false) and possibly others. • Semantic structures determine how the different symbols in the alphabet of a dialect are interpreted and how truth values are assigned to formulas. • Datatypes A symbol space whose symbols have a fixed interpretation in any semantic structure is called a datatype. • Entailment. This notion is fundamental to logic-based dialects. Entailment is the main mechanism underlying query answering in Databases, Logic Programming, and the various reasoning tasks in Description Logics. A set of formulas G logically entails another formula g if for every semantic structure I in some set S, if G is true in I then g is also true in I. Almost all logics define entailment this way. The difference lies in which set S they use. RIF: Homogeneous vs Hybrid Rules/Ontology Integration • In the hybrid approach there is a strict separation between the ordinary predicates, which are basic rule predicates and ontology predicates, which are only used as constraints in rule antecedents. Reasoning is done by interfacing existing rule reasoner with existing ontology reasoner. • In the homogeneous approach both ontologies and rules are embedded in a logical language L without making a priori distinction between the rule predicates and the ontology predicates. In this way a subset R of L is defined. For reasoning in R either a general reasoner of L can be reused, or a specialized reasoner for R is to be constructed. Entailment in RDF • A RDF graph corresponds to an existentially closed conjunction of binary atomic formulae. It is not possible to express negations or disjunctions of formulae. The RDF Semantics specifies four distinct forms of entailment: • Simple entailment: can be understood as a subgraph-matching problem, which is known to be decidable but a NP-complete problem • RDF entailment is based on a notion of rdf:Property, that declares the resources of RDF vocabulary which are properties. The other difference to simple RDF entailment is the recognition of syntactically correct rdf:XMLLiterals • RDFS entailment the full RDF and RDFS vocabularies can be used, including classes. This allows to deduce a lot of axiomatic triples from any given RDF-graph. • Datatype entailment RDFS entailment is extended for supporting other typed literals, with emphasis in several XML Schema Datatypes like decimals, integers, dates, and strings. RDF and OWL Semantics for RIF • OWL 2 specifies two different variants of the language, each having its own semantics, namely OWL 2 DL [OWL2-Syntax] (called simply OWL 2 in the specification) - DL semantics, and OWL 2 Full [OWL2-RDF-BasedSemantics] – RDFS semantics • A RIF document with RDF graphs is viewed as a combination of a document and a number of graphs and ontologies. The conditions under which the combination is satisfiable (i.e., consistent), as well as the entailments (i.e., logical consequences) of the combination are defined in the OWL/RIF compatibility specification. The interaction between RIF and RDF/OWL is realized by connecting the model theory of RIF [RIF-BLD] with the model theories of RDF [RDF-Semantics] and OWL [OWL2Semantics], respectively. • The RDF semantics specification [RDF-Semantics] defines four normative notions of entailment for RDF graphs: Simple, RDF, RDFS, and Datatype entailment. OWL 2 specifies two different semantics, with corresponding notions of entailment: the direct semantics [OWL2-Semantics], which specifies OWL 2 DL entailment, and the RDF-based semantics [OWL2RDF-Based-Semantics], which specifies OWL 2 Full entailment. All six variants are taken into account (OWL/RIF compatibility doc) OWL/RIF Compatibility Issues • In the Full variant, classes and properties are interpreted as objects in the domain of interpretation. In the DL variant, classes and properties are directly interpreted as subsets of, respectively binary relations over the domain. Defining RIF-OWL DL compatibility as an extension of RIF-RDF compatibility would define a correspondence between OWL 2 DL statements and RIF frame formulas. • To ensure that the RIF-OWL DL combination is faithful to the OWL 2 DL semantics and to enable using the same, or similar, RIF rules in combinations with both OWL 2 DL and RDF/OWL 2 Full, the interpretation of frame formulas s[p -> o] in RIFOWL DL combinations is slightly different from their interpretation in RIF and syntactical restrictions are imposed on the use of variables and function terms in frame formulas Scenarios of use RIF together with RDF data or RDFS/OWL ontologies 1. 2. 3. An interchange partner A has a rules language that is RDF/OWL-aware. A sends its rules using RIF, possibly with references to the appropriate RDF graph(s), to partner B. B receives the rules and retrieves the referenced RDF graph(s). The rules are translated to the internal rules language of B and are processed, together with the RDF graphs, using the RDF/OWL-aware rule engine of B. The publication of RIF rules as a special kind of interchange: one to many. there may be several consumers that retrieve the RIF rules and RDF graphs from the Web and manipulate them similarly to a partner B in scenario 1. Interchange partner A has a rules language that extends OWL. A splits its ontology+rules description into a separate OWL ontology and a RIF document, publishes the OWL ontology, and sends (or publishes) the RIF document. A consumer of the rules retrieves the OWL ontology and translates the ontology and document into a combined ontology+rules description in its own rule extension of OWL. RIF Core Dialect • RIF-Core corresponds to the language of definite Horn rules without function symbols (often called 'Datalog'). RIF-Core also is a language of production rules where conclusions are interpreted as assert actions. • RIF-Core has a number of Datalog extensions to support features such as objects and frames as in F-logic, internationalized resource identifiers (or IRIs) as identifiers for concepts, and XML Schema datatypes • RIF-Core is not the maximal common subset of RIF-BLD and RIF-PRD. Syntax restrictions of the Core w.r.t. RIF-BLD • The alphabet of the presentation language of RIF-Core is the alphabet of the RIF-BLD presentation language with the exclusion of the symbol ## (subclass) and the set of symbols ArgNames (used for named-argument uniterms). • The Terms of RIF-Core are the terms of RIF-BLD with the exclusion of subclass terms and of terms with named arguments. In RIF-Core there are only closed ground lists. • A closed ground list has the form List(t1 ... m), where m≥0 and t1, ..., tm are ground terms (no tail and no variables are allowed). Syntax restrictions of the Core formulae • • • • • The Formulas of RIF-Core are the formulas of RIF-BLD with the following restrictions. Subterms that occur inside atomic formulas can be variables, constants, ground list, or external positional terms. This implies that RIF-Core only allows external function applications. Equality terms and class membership terms cannot occur in rule conclusions -they are allowed only in rule premises. Terms with named arguments and subclass terms are excluded from RIF-Core. A syntactically correct RIF-Core formula that passes the well-formedness test for RIF-BLD is also a well-formed RIF-Core formula. Recall that RIF-Core does not allow uninterpreted (i.e., non-external) function symbols. Therefore no symbol in RIF-Core can occur in the context of an (uninterpreted) function symbol. RIF Basic Logic Dialect • RIF-BLD is from a class of languages based on definite Horn rules with equality and a standard first-order semantics.. • Syntactically, RIF-BLD has a number of extensions to support features such as objects and frames as in F-logic, internationalized resource identifiers ( IRIs) as identifiers for concepts, and XML Schema datatypes. • RIF RDF and OWL Compatibility defines semantics for the integrated RIFBLD/RDF and RIF-BLD/OWL languages. • Unlike ISO Common Logic (CL), RIF-BLD was designed to be a simple dialect with limited expressiveness that lies within the intersection of firstorder and logic-programming systems, it does not support negation. • The RIF framework for logic dialects also includes a variety of rule languages based on non-monotonic theories • For rule interchange between CL and RIF dialects, it is expected that partial RIF-CL mappings will be defined. Rule Language Document ::= IRIMETA? 'Document' '(' Base? Prefix* Import* Group? ')' Base ::= 'Base' '(' ANGLEBRACKIRI ')' Prefix ::= 'Prefix' '(' Name ANGLEBRACKIRI ')' Import ::= IRIMETA? 'Import' '(' LOCATOR PROFILE? ')' Group ::= IRIMETA? 'Group' '(' (RULE | Group)* ')' RULE ::= (IRIMETA? 'Forall' Var+ '(' CLAUSE ')') | CLAUSE CLAUSE ::= Implies | ATOMIC Implies ::= IRIMETA? (ATOMIC | 'And' '(' ATOMIC* ')') ':-' FORMULA LOCATOR ::= ANGLEBRACKIRI PROFILE ::= ANGLEBRACKIRI Annotations: IRIMETA ::= '(*' IRICONST? (Frame | 'And' '(' Frame* ')')? '*)' Condition Language FORMULA ::= IRIMETA? 'And' '(' FORMULA* ')' | IRIMETA? 'Or' '(' FORMULA* ')' | IRIMETA? 'Exists' Var+ '(' FORMULA ')' | ATOMIC | IRIMETA? 'External' '(' Atom ')' ATOMIC ::= IRIMETA? (Atom | Equal | Member | Subclass | Frame) Atom ::= UNITERM UNITERM ::= Const '(' (TERM* | (Name '->' TERM)*) ')' Equal ::= TERM '=' TERM Member ::= TERM '#' TERM Subclass ::= TERM '##' TERM Frame ::= TERM '[' (TERM '->' TERM)* ']' TERM ::= IRIMETA? (Const | Var | Expr | List | 'External' '(' Expr ')') Expr ::= UNITERM List ::= 'List' '(' TERM* ')' | 'List' '(' TERM+ '|' TERM ')' Const ::= '"' UNICODESTRING '"^^' SYMSPACE | CONSTSHORT Var ::= '?' Name Name ::= NCName SYMSPACE ::= ANGLEBRACKIRI | CURIE More details • A frame term is a term composed of an object identifier and a collection of attribute-value pairs. • The term External(Atom) is a call to an externally defined predicate. Likewise, External(Expr) is a call to an externally defined function. • Conditions are composed of atoms, expressions, equalities with lists, frames, and existentials. • • In frame formulas, variables are shown in the positions of object identifiers, object properties, and property values, • • prefix:suffix is understood as a shorthand for an IRI obtained by concatenation of the prefix definition and suffix. Constant symbols The set of all constant symbols, Const, is partitioned into the following subsets: • A subset of individuals. . • A subset of plain (i.e., non-external) function symbols. • A subset for external function symbols. • A subset of plain predicate symbols. • A subset for external predicate symbols Examples Prefix(bks <http://example.com/books#>) Prefix(auth <http://example.com/authors#>) Prefix(cpt <http://example.com/concepts#>) • Positional terms: cpt:book(auth:rifwg bks:LeRif) Exists ?X (cpt:book(?X bks:LeRif)) • Terms with named arguments: cpt:book(cpt:author->auth:rifwg cpt:title->bks:LeRif) Exists ?X (cpt:book(cpt:author->?X cpt:title->bks:LeRif)) • Equalities with list terms: ?L = List(?X ?Y ?X) List(?Head | ?Tail) = List("a"^^rif:local ?Y "c"^^rif:local) Examples: Frames bks:wd1[cpt:author->auth:rifwg cpt:title->bks:LeRif] Exists ?X (bks:wd2[cpt:author->?X cpt:title->bks:LeRif]) Exists ?X (And (bks:wd2#cpt:book bks:wd2[cpt:author->?X cpt:title>bks:LeRif])) Exists ?I ?X (?I[cpt:author->?X cpt:title->bks:LeRif]) Exists ?I ?X (And (?I#cpt:book ?I[cpt:author->?X cpt:title->bks:LeRif])) Exists ?S (bks:wd2[cpt:author->auth:rifwg ?S->bks:LeRif]) Exists ?X ?S (bks:wd2[cpt:author->?X ?S->bks:LeRif]) Exists ?I ?X ?S (And (?I#cpt:book ?I[author->?X ?S->bks:LeRif])) Example: Rules • If an item is perishable and it is delivered to John more than 10 days after the scheduled delivery date then the item will be rejected by him. • Document( Prefix(ppl <http://example.com/people#>) Prefix(cpt <http://example.com/concepts#>) Prefix(dc <http://purl.org/dc/terms/>) Prefix(func <http://www.w3.org/2007/rif-builtin-function#>) Prefix(pred <http://www.w3.org/2007/rif-builtin-predicate#>) Prefix(xs <http://www.w3.org/2001/XMLSchema#>) (* "http://sample.org"^^rif:iri _pd[dc:publisher -> "http://www.w3.org/"^^rif:iri dc:date -> "2008-0404"^^xs:date] *) • Group ( Forall ?item ?deliverydate ?scheduledate ?diffduration ?diffdays ( cpt:reject(ppl:John ?item) :And(cpt:perishable(?item) cpt:delivered(?item ?deliverydate ppl:John) cpt:scheduled(?item ?scheduledate) ?diffduration = External(func:subtractdateTimes(?deliverydate ?scheduledate)) ?diffdays = External(func:days-fromduration(?diffduration)) External(pred:numeric-greater-than(?diffdays 10))) ) Forall ?item ( cpt:reject(ppl:Fred ?item) :- cpt:unsolicited(?item) ) ) RIF-BLD Semantics • A semantic structure, I, is a tuple of the form <TV, DTS, D, Dind, Dfunc, IC, IV, IF, INF, Ilist, Itail, Iframe, Isub, Iisa, I=, Iexternal, Itruth>. Here D is a non-empty set of elements called the domain of I, and Dind, Dfunc are nonempty subsets of D. Dind is used to interpret the elements of Const that occur as individuals and Dfunc is used to interpret the elements of Const that occur in the context of function symbols. As before, Const denotes the set of all constant symbols and Var the set of all variable symbols. DTS denotes a set of identifiers for datatypes Ilist and Itail are used to interpret lists. They are mappings of the following form: Ilist : Dind* → Dind Itail : Dind+× Dind → Dind RIF-BLD Semantics (2) • Iframe maps Dind to total functions of the form SetOfFiniteBags (Dind × Dind) → D. • This mapping interprets frame terms. An argument, d ∈ Dind, to Iframe represents an object and the finite bag {<a1,v1>, ..., <ak,vk>} represents a bag of attribute-value pairs for d. • Isub gives meaning to the subclass relationship. It is a mapping of the form Dind × Dind → D. Iisa gives meaning to class membership. It is a mapping of the form Dind × Dind → D RIF-BLD Semantics (3) Some of truth-valued functions: • Atomic formulas with named arguments: TValI(p(s1->v1 ... sk->vk)) = Itruth(I(p(s1->v1 ... sk->vk))). • Equality: TValI(x = y) = Itruth(I(x = y)). To ensure that equality has precisely the expected properties, it is required that: Itruth(I(x = y)) = t if I(x) = I(y) and that Itruth(I(x = y)) = f otherwise. TValI(x = y) = t if and only if I(x) = I(y). • Rule implication: TValI(conclusion :- condition) = t, if either TValI(conclusion)=t or TValI(condition)=f. TValI(conclusion :- condition) = f otherwise. Semantics (4) • Truth value for a Groups of rules: If Γ is a group formula of the form Group(φ1 ... φn) then TValI(Γ) = t if and only if TValI(φ1) = t, ..., TValI(φn) = t. TValI(Γ) = f otherwise. This means that a group of rules is treated as a conjunction. • Logivcal entailment A multi-structure Î is a model of a formula, φ, written as Î |= φ, iff TValÎ(φ) = t (Logical entailment). Let φ and ψ be (document or non-document) formulas. We say that φ entails ψ, written as φ |= ψ, if and only if for every multi-structure, Î, Î |= φ implies Î |= ψ. Comment on Fixpoint Semantics • Horn programs have the model-intersection property. Thus, the intersection of all models of a Horn program, P, is also a model of P. This is the least model of P • The least fixpoint of P coincides with the least model of P • PRZYMUSINSKI. T. C. 1989. Every logic program has a natural stratification and an iterated least fixed point model. In Proceedings of the 8th ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems (Philadelphia, Pa,, Mar. 29-31). ACM, New York, pp. 11-21 External Schemas • External schemas serve as templates for externally defined terms. They are designed to also accommodate the ideas of procedural attachments and querying of external data sources. (Schema for external term). • An external schema is a statement of the form (?X1 ... ?Xn; τ) where τ is a positional or a named-argument term. ?X1 ... ?Xn is a list of all distinct variables that occur in τ • The names of the variables in an external schema are immaterial, but their order is important. For instance, (?X ?Y; ?X[foo->?Y]) and (?V ?W; ?V[foo>?W]) are considered to be indistinguishable, but (?X ?Y; ?X[foo->?Y]) and (?Y ?X; ?X[foo->?Y]) are different schemas. External Schemas (2) • A term t is an instantiation of an external schema (?X1 ... ?Xn; τ) iff t can be obtained from τ by a simultaneous substitution ?X1/s1 ... ?Xn/sn of the variables ?X1 ... ?Xn with terms s1 ... sn, respectively. Some of the terms si can be variables themselves. For example, ?Z[foo->f(a ?P)] is an instantiation of (?X ?Y; ?X[foo->?Y]) by the substitution ?X/?Z ?Y/f(a ?P). • The intuition behind the notion of an external schema, such as (?X ?Y; ?X["foo"^^xs:string->?Y]) or (?V; "pred:isTime"^^rif:iri(?V)), is that ?X["foo"^^xs:string->?Y] or "pred:isTime"^^rif:iri(?V) are invocation patterns for querying external sources, and instantiations of those schemas correspond to concrete invocations. • Thus, External("http://foo.bar.com"^^rif:iri["foo"^^xs:string>"123"^^xs:integer]) and External("pred:isTime"^^rif:iri("22:33:44"^^xs:time) are examples of invocations of external terms -- one querying an external source and another invoking a built-in.