Since extending DATALOG to a general-purpose programming language seems very difficult, many projects have embedded a DATALOG-based query language into a procedural host language, such as CORAL, Glue-Nail, etc.Althoug...Since extending DATALOG to a general-purpose programming language seems very difficult, many projects have embedded a DATALOG-based query language into a procedural host language, such as CORAL, Glue-Nail, etc.Although DATALOG can be considered as function-free PROLOG, they are very different in many aspects. For instance, DATALOG is declarative while PROLOG isn't, DATALoG takes 'a-set-at-atime' mode of evaluation but PROLOG takes 'a-tuple-at-a-time' one, DATALOG is only a query language whereas PROLOG is a general-purpose programming language. It is thought that integrating DATALOG with PROLOG may take their advantages. KBASEP is such a language. It uses KBASE as the query language and PROLOG as its procedural host language, where KBASE is an extension of DATALOG with negation and function. This paper introduces the integration techniques used in KBASE-P system.展开更多
文摘Since extending DATALOG to a general-purpose programming language seems very difficult, many projects have embedded a DATALOG-based query language into a procedural host language, such as CORAL, Glue-Nail, etc.Although DATALOG can be considered as function-free PROLOG, they are very different in many aspects. For instance, DATALOG is declarative while PROLOG isn't, DATALoG takes 'a-set-at-atime' mode of evaluation but PROLOG takes 'a-tuple-at-a-time' one, DATALOG is only a query language whereas PROLOG is a general-purpose programming language. It is thought that integrating DATALOG with PROLOG may take their advantages. KBASEP is such a language. It uses KBASE as the query language and PROLOG as its procedural host language, where KBASE is an extension of DATALOG with negation and function. This paper introduces the integration techniques used in KBASE-P system.