Results 1  10
of
20
CLP(Flex): Constraint Logic Programming Applied to XML Processing
 On the Move to Meaningful Internet Systems 2004: CoopIS, DOA, and ODBASE. Proc. of Confederated Int. Conferences, volume 3291 of LNCS
, 2004
"... In this paper we present an implementation of a constraint solving module, CLP(Flex), for dealing with unification in an equality theory for terms with flexible arity function symbols. ..."
Abstract

Cited by 21 (10 self)
 Add to MetaCart
In this paper we present an implementation of a constraint solving module, CLP(Flex), for dealing with unification in an equality theory for terms with flexible arity function symbols.
Typebased {XML} Processing in Logic Programming
 In PADL 2003
, 2003
"... In this paper we propose a typebased framework for using logic programming for XML processing. We transform XML documents into terms and DTDs into regular types. We implemented a standard type inference algorithm for logic programs and use the types corresponding to the DTDs as additional type ..."
Abstract

Cited by 13 (2 self)
 Add to MetaCart
In this paper we propose a typebased framework for using logic programming for XML processing. We transform XML documents into terms and DTDs into regular types. We implemented a standard type inference algorithm for logic programs and use the types corresponding to the DTDs as additional type declarations for logic programs for XML processing. Due to the correctness of the type inference this makes it possible to use logic programs as an implicitly typed processing language for XML with static type (in this case DTDs) validation. As far as we know this is the first work adding type validation at compile time to the use of logic programming for XML processing.
Functional Programming with Sequence Variables: The Sequentica Package
 Proceedings of the 17th International Workshop on Unification (UNIF 2003
, 2003
"... Sequence variables are an advanced feature of modern languages which allows to program in a declarative and easy to understand way. Functional programming with sequence variables relies on the choice of a matcher, which in general is not unique. We propose a number of idioms for programming with seq ..."
Abstract

Cited by 11 (6 self)
 Add to MetaCart
Sequence variables are an advanced feature of modern languages which allows to program in a declarative and easy to understand way. Functional programming with sequence variables relies on the choice of a matcher, which in general is not unique. We propose a number of idioms for programming with sequence variables which enable the user to control the choice of the matcher. To this end we have developed the package Sequentica, which extends the language of Mathematica with our programming constructs. Our extensions enable (1) to control the selection of matcher by annotating sequence variables with priorities and ranges for their lengths, and (2) to compute optimum values characterized by a score function which must be optimized. We illustrate the usefulness of our extensions and describe how they have been implemented.
Solving equations with sequence variables and sequence functions
 J. Symbolic Computation
, 2007
"... Term equations involving individual and sequence variables and sequence function symbols are studied. Function symbols can have either fixed or flexible arity. A sequence variable can be instantiated by any finite sequence of terms. A sequence function abbreviates a finite sequence of functions all ..."
Abstract

Cited by 11 (8 self)
 Add to MetaCart
Term equations involving individual and sequence variables and sequence function symbols are studied. Function symbols can have either fixed or flexible arity. A sequence variable can be instantiated by any finite sequence of terms. A sequence function abbreviates a finite sequence of functions all having the same argument lists. It is proved that solvability of systems of equations of this form is decidable. A new unification procedure that enumerates a complete almost minimal set of solutions is presented, together with variations for special cases. The procedure terminates if the solution set is finite. Applications in various areas of artificial intelligence, symbolic computation, and programming are discussed. 1
Context Sequence Matching for XML
, 2005
"... Context and sequence variables allow matching to explore termtrees both in depth and in breadth. It makes context sequence matching a suitable computational mechanism for a rulebased language to query and transform XML, or to specify and verify web sites. Such a language would have advantages of b ..."
Abstract

Cited by 10 (5 self)
 Add to MetaCart
Context and sequence variables allow matching to explore termtrees both in depth and in breadth. It makes context sequence matching a suitable computational mechanism for a rulebased language to query and transform XML, or to specify and verify web sites. Such a language would have advantages of both pathbased and patternbased languages. We develop a context sequence matching algorithm and its extension for regular expression matching, and prove their soundness, termination and completeness properties.
Solving Equations Involving Sequence Variables and Sequence Functions
 Artificial Intelligence and Symbolic Computation. Proc. of AISC’04 Conference, volume 3249 of LNAI
, 2004
"... Term equations involving individual and sequence variables, and individual and sequence function symbols are studied. Function symbols can have either fixed or flexible arity. A new unification procedure for solving such equations is presented. Decidability of unification is proved. Completeness and ..."
Abstract

Cited by 9 (8 self)
 Add to MetaCart
Term equations involving individual and sequence variables, and individual and sequence function symbols are studied. Function symbols can have either fixed or flexible arity. A new unification procedure for solving such equations is presented. Decidability of unification is proved. Completeness and almost minimality of the procedure is shown. 1
On the Implementation of a RuleBased Programming System and Some of its Applications
 Proc. of the 4th Int. Workshop on the Implementation of Logics (WIL'03
, 2003
"... We describe a rulebased programming system where rules specify nondeterministic computations. The system is called FunLog and has constructs for defining elementary rules, and to build up complex rules from simpler ones via operations akin to the standard operations from abstract rewriting. The ..."
Abstract

Cited by 8 (6 self)
 Add to MetaCart
We describe a rulebased programming system where rules specify nondeterministic computations. The system is called FunLog and has constructs for defining elementary rules, and to build up complex rules from simpler ones via operations akin to the standard operations from abstract rewriting. The system has been implemented in Mathematica and is, in particular, useful to program procedures which can be encoded as sequences of rule applications which follow a certain reduction strategy. In particular, the procedures for unification with sequence variables in free, flat, and restricted flat theories can be specified via a set of inference rules which should be applied in accordance with a certain strategy. We illustrate how these unification procedures can be expressed in our framework.
Theorem Proving with Sequence Variables and Flexible Arity Symbols
 LOGIC IN PROGRAMMING, ARTI INTELLIGENCE AND REASONING. INTERNATIONAL CONFERENCE LPAR'02, VOLUME 2514 OF LNAI
, 2002
"... An ordering for terms with sequence variables and flexible arity symbols is presented. The ordering coincides with the lexicographic extension of multiset path ordering on terms without sequence variables. It is shown that the classical strict superposition calculus with ordering and equality constr ..."
Abstract

Cited by 8 (5 self)
 Add to MetaCart
An ordering for terms with sequence variables and flexible arity symbols is presented. The ordering coincides with the lexicographic extension of multiset path ordering on terms without sequence variables. It is shown that the classical strict superposition calculus with ordering and equality constraints can be used as a refutationally complete proving method for wellconstrained sets of clauses with sequence variables and flexible arity symbols.
Matching with Regular Constraints
 SUTCLIFFE G., VORONKOV A., Eds., Proceedings of LPAR’05
, 2005
"... We describe a sound, terminating, and complete matching algorithm for terms built over flexible arity function symbols and context, function, sequence, and individual variables. Context and sequence variables allow matching to move in term trees to arbitrary depth and breadth, respectively. The ..."
Abstract

Cited by 7 (7 self)
 Add to MetaCart
We describe a sound, terminating, and complete matching algorithm for terms built over flexible arity function symbols and context, function, sequence, and individual variables. Context and sequence variables allow matching to move in term trees to arbitrary depth and breadth, respectively. The values of variables can be constrained by regular expressions which are not necessarily linear. We describe heuristics for optimization, and discuss applications.
XCentric: A logic programming language for Xml
 In PLANX
, 2005
"... Abstract. In this paper we present the logicprogramming language XCentric, discuss design issues, and show its adequacy for XML processing. Distinctive features of XCentric are a powerful unification algorithm for terms with functors of arbitrary arity (which correspond closely to XML documents) an ..."
Abstract

Cited by 4 (3 self)
 Add to MetaCart
Abstract. In this paper we present the logicprogramming language XCentric, discuss design issues, and show its adequacy for XML processing. Distinctive features of XCentric are a powerful unification algorithm for terms with functors of arbitrary arity (which correspond closely to XML documents) and a very rich type language that uses operators such as repetition (*), alternation, etc, as types allowing a compact representation of terms with functors with an arbitrary number of arguments (closely related to standard type languages for XML). This nonstandard unification together with an appropriate use of types yields a substantial degree of flexibility in programming. 1