Filtering of XML Documents 1

Transcription

1 Filtering of XML Documents 1 D. Ballis Dip. Matematica e Informatica, Via delle Scienze 206, Udine, Italy. D. Romero DSIC, Universidad Politécnica de Valencia, Camino de Vera s/n, Apdo , Valencia, Spain. Abstract In this paper, we present a simple, easy-to-use, rewriting-like methodology for filtering information in an XML document. Essentially, we define a specification language which allows one to extract relevant data (positive filtering) as well as to exclude useless and misleading contents (negative filtering) from a set of XML documents according to some given criteria. We believe that our methodology achieves the right tradeoff between expressive power and simplicity of use, and thus it may be also fruitfully employed by those users who typically prefer to avoid formal languages. I. INTRODUCTION Internet users typically retrieve/receive a lot of information which should be absorbed in a pleasant and/or understandable fashion. Frequently, information flows are not of the desired quality, since data might appear obscure, difficult to interpret or with an unknown format. Besides, most of the time, just a small percentage of the whole amount of the data received is considered interesting by the user. Filters are one of the possible methodologies which is employed to obtain Web contents which best fit user s needs. They allow one to extract useful data as well as to get rid of meaningless, incorrect information of a Web site. In other words, they are just as useful for selecting the good as they are in weeding out the bad. Arguably, simply selecting the good is a more productive and enjoyable process; although, sometimes, it is more convenient to just remove the unnecessary information. Additionally, filters can transform our information flows into more useful and palatable forms [12]. XML[18] is the format of interchange usually used to transmit information on internet with the aim of standardizing and facilitating data sharing across different systems. A lot of research work has been invested in XML document management, in particular XML filtering is undoubtedly one of the more relevant topic in such an area. The World Wide Web Consortium has defined XQuery[20] and XPath[19] as standard languages to consult and filter information in XML documents, nonetheless a plethora of alternative and worthwhile proposals have been developed independently, e.g. [7], [15], [8]. Our contribution. In this paper, we present a novel XML filtering language which allows the user to easily select the 1 This work has been partially supported by the EU (FEDER) and Spanish MEC TIN C04-02 project, the Generalitat Valenciana under grant GV06/285, and the ICT for EU-India Cross-Cultural Dissemination ALA/95/23/2003/ project. Daniel Romero is also supported by ALFA grant LERNet AML/ /97/0666/II-0472-FA desired information (positive filtering) as well as to remove noisy, spurious data (negative filtering) from a given Web page. Our language is easy to use and thus can be employed even by those users who are typically not used to express themselves using formal methodologies, since no special expertise is required. We also believe that the proposed methodology is expressive enough to catch all those filtering features one may require. Basically, in our approach, XML documents are encoded as Herbrand terms of a suitable term algebra, then homeomorphic embedding among terms [5], [14] is used to recognize the information that the user wants to select or to strike out. To detect information patterns inside an XML document, similar works make use of tree (or graph) simulation, which is a slightly different, less powerful, but efficient to compute notion of embedding. Simulation has been used in a number of works dealing with querying, transformation, and similarity checks of semistructured data (cf. [1], [10], [4], [6]). For instance, the language Xcerpt [6] is a (logic) query language for XML and semistructured documents which implements a sort of unification by exploiting the notion of simulation. Plan of the paper. The rest of the paper is structured as follows. Section II summarizes some preliminary definitions and notations, we also formulate a simple method for translating XHTML/XML documents into Herbrand terms. In Section III, we recall the notion of homeomorphic embedding, which we utilize to recognize patterns inside XML documents. In Section IV, we define our XML filtering language, while in Section V, we formalize the positive as well as the negative filtering by means of the notion of partial matching. Section VI concludes. II. PRELIMINARIES We call a finite set of symbols alphabet. Given the alphabet A, A denotes the set of all finite sequences of elements over A. Syntactic equality between objects is represented by. By V we denote a countably infinite set of variables and Σ denotes a set of function symbols, or signature. We consider varyadic signatures as in [9] (i.e., signatures in which symbols have an unbounded arity, that is, they may be followed by an arbitrary number of arguments). τ(σ, V) and τ(σ) denote the nonground term algebra and the term algebra built on Σ V and Σ. Terms are viewed as labelled trees in the usual way. Positions are represented by sequences of natural numbers denoting an access path in a term. The empty sequence Λ denotes the root position. By notation w 1.w 2, we denote the concatenation

2 of position w 1 and position w 2. Positions are ordered by the prefix ordering, that is, given the positions w 1, w 2, w 1 w 2 if there exists a position x such that w 1.x = w 2. Given S Σ V, O S (t) denotes the set of positions of a term t which are rooted by symbols in S. t u is the subterm at the position u of t. t[r] u is the term t with the subterm rooted at the position u replaced by r. Given a term t, we say that t is ground, if no variables occur in t. Besides, t is a terminal term, if it is a 0-ary signature symbol (i.e. constants are terminal terms). A substitution σ {X 1 /t 1, X 2 /t 2,...} is a mapping from the set of variables V into the set of terms τ(σ, V) satisfying the following conditions: (i) X i X j, whenever i j, (ii) X i σ = t i, i = 1,..n, and (iii) Xσ = X, for any X V \ {X 1,..., X n }. By Var(s) we denote the set of variables occurring in the syntactic object s. Term rewriting systems provide an adequate computational model for functional languages. In the sequel, we follow the standard framework of term rewriting (see [3], [13]). A term rewriting system (TRS for short) is a pair (Σ, R), where Σ is a signature and R is a finite set of reduction (or rewrite) rules of the form λ ρ, λ, ρ τ(σ, V), λ V and Var(ρ) Var(λ). We will often write just R instead of (Σ, R). A rewrite step is the application of a rewrite rule to an expression. A term s rewrites to a term t via r R, s r t (or s R t), if there exist a position u O Σ (s), r λ ρ, and a substitution σ such that s u λσ and t s[ρσ] u. When no confusion can arise, we will omit any subscript (i.e. s t). A term s is a irreducible form (or normal form) w.r.t. R, if there is no term t s.t. s R t. t is the irreducible form of s w.r.t. R (in symbols s! R t) if s R t and t is irreducible. We say that a TRS R is terminating, if there exists no infinite rewrite sequence t 1 R t 2 R... A TRS R is confluent if, for all terms s, t 1, t 2, such that s R t 1 and s R t 2, there exists a term t s.t. t 1 R t and t 2 R t. When R is terminating and confluent, it is called canonical. In canonical TRSs, each input term t can be univocally reduced to a unique irreducible form. Let s = t be an equation, we say that the equation s = t holds in a canonical TRS R, if there exists an irreducible form z τ(σ, V) w.r.t. R such that s! R z and t! R z. A. Denotation of XML Documents In this work, we assume an XML document [18] to be well-formed, since there are plenty of programs and online services which are able to validate XML syntax and perform link checking (e.g. [21],[17]). XML documents can be encoded as Herbrand terms as follows. Let us consider two alphabets T and Tag. We denote the set T by Text. An object t Tag is called tag element, while an element w Text is called text element. Since XML documents are provided with a tree-like structure, they can be straightforwardly translated into ordinary terms of a given term algebra τ(text Tag) as shown in Figure 1. Note that XML tag attributes can be considered as common tagged elements, and hence translated in the same way. <books> <book> <title>el Alquimista</title> <author>coelho</author> <year>2002</year> </book> </books> books(book(title(el Alquimista), author(coelho),year(2002))) Fig. 1. term. An XML document and its corresponding encoding into a Herbrand In the following, we will also consider terms of the nonground term algebra τ(text Tag, V), which may contain variables. An element s τ(text Tag, V) is called XML document template. In our methodology, XML document templates are used for specifying filtering criteria over XML documents as described in Section IV. III. HOMEOMORPHIC EMBEDDING Roughly speaking, homeomorphic embedding allows us to verify whether a given XML document template is somehow included into another one. We give a definition of homeomorphic embedding,, which is an adaptation of the one proposed in [14], where (i) a distinct trreatment of the variables is considered, (ii) terms with different arity are allowed, and (iii) the positional ordering among the arguments of terms is ignored (i.e. f(a, b) is equivalent to f(b, a)). Definition 3.1 (homeomorphic embedding): The homeomorphic embedding relation τ(text Tag, V) τ(text Tag, V) on XML documents templates is the least relation satisfying the rules: 1) X t, for all X V and t τ(text Tag, V). 2) s f(t 1,..., t n ), if s t i for some i. 3) f(t 1,..., t m ) g(s 1,..., s n ) iff f g and t i s π(i), for i = 1,..., m, and some injective function π : {1,..., m} {1,..., n}. Whenever s t, we say that t embeds s (or s is embedded or recognized into t). The intuition behind the above definition is that s t iff s can be obtained from t by striking out certain parts, in other words, the structure of s appears within t. Note that, in Definition 3.1, when m is 0 we have c c for each terminal term c. Also observe that, if we constrain π to be an increasing function w.r.t. the usual ordering over natural numbers, Definition 3.1 captures the notion of ordered homeomorphic embedding, where the ordering among the arguments of a term does matter. Typically, ordered homeomorphic embeddings can be computed faster [16]. Let us illustrate Definition 3.1 by means of a rather intuitive example.

3 Example 3.1: Consider the following XML document templates (called s and t, respectively) (s) book(author(x)) (t) book(authorlist(author(name(borges)), author(guerrero)), year(1957), code(bg57), title(manual de zoología fantástica)) (1) <filterrule> ::= <filter> <criterion> in <expression> [where <condition>] [label] (2) <filter> ::= filter filter* (3) <criterion> ::= <xmldocumenttemplate> (4) <expression> ::= <xmldocument> (<filterrule>) (5) <condition> ::= <sequence of membership tests and equations> (6) <label> ::= (P) (N) Fig. 3. BNF-like grammar for the XML filtering language We observe that the structure of s can be recognized inside the structure of t, hence s t, while t s. More precisely, there are 3 possible homeomorphic embeddings between s and t. In Figure 2, we show two of them: specifically, the ones which bind the variable X to some terminal term. IV. XML FILTERING LANGUAGE A filtering specification is a set of filtering rules. Basically, a filtering rule formalizes the information pattern (also called filtering criterion) which has to be detected inside a given XML document p. The information, which is recognized in p, is then selected (positive filtering) or removed (negative filtering), whenever a given filtering condition which refers to the detected instance of the filtering criterion is fulfilled. We simply model filtering criteria as XML document templates. A filtering condition consists of a sequence of equations over terms and membership tests (e.g. X rexp) w.r.t. a given regular language. 1 More formally, a filtering criterion t belongs to τ(text Tag, V). Besides, let (Σ, R) be a canonical TRS. A filtering condition C is a sequence of the form C (X 1 in rexp 1,..., X n in rexp n, s 1 = t 1... s m = t m ), where V ar(c) V ar(t), t is a filtering criterion, rexp i is a regular expression over Text, i = 1,..., n, and s j = t j is an equation over τ(σ, V), j = 1,..., m. Given a filtering condition C (X 1 in rexp 1,..., X n in rexp n, s 1 = t 1... s m = t m ), we say that C holds for substitution σ, if (i) each structured text X i σ, i = 1,..., n, is contained in the language of the corresponding regular expression rexp i ; (ii) each instantiated equation (s i =t i )σ, i = 1,..., m, holds in R. The TRS R contains the definition of some auxiliary functions which the user would like to provide in order to ease some common operations, such as string processing, arithmetic, boolean operators, etc. It is formalized as a term rewriting system, which is handled by standard rewriting [13]. In Figure 3, we present the complete grammar of our filtering language using a BNF-like notation. In the following, we describe the syntax and the features of the language through some intuitive examples. Note that some parts of the rules are not mandatory (e.g. conditions and labels). In 1 Regular languages are represented by means of the usual Unix-like regular expressions syntax. particular, when no condition is provided for a filtering rule r, we say that r is unconditional. 1) Positive filtering: Intuitively, given an XML document p, a positive filtering rule extracts every instance tσ of a given filtering criterion t from p. Then, if the associated condition C holds for σ, the result is delivered to the user. Positive filtering rules are identified by means of the label (P). However, when no label is provided, the rule is considered positive by default. Example 4.1: Consider the following filtering criterion and XML document: (t) book(title(x),author(name(y), surname(z)),code(w)) (p) book(title(el Alquimista), name(paulo)), year(2002),abstract(blablabla), along with a TRS R which models the usual string concatenation function ++ and the function first, which returns the first character of a string. Then, the execution of the positive filtering rule filter book(title(x),author(name(y), surname(z)),code(w)) name(paulo)),year(2002), abstract(blablabla), where X in [:Text:]Alquimista[:Text:], W = first(y) ++ first(z) (P) will yield the following slice of the original XML document: book(title(el Alquimista), name(paulo)), 2) Negative filtering: Given an XML document p, a negative filtering rule extracts every instance tσ of a given filtering criterion t from p. Then, if the associated condition C holds for σ, tσ is removed from p and the result is delivered to the

4 book book author authorlist year code title X author author 1957 BG57 Manual de zoología fantástica name Guerrero Borges Fig. 2. Example of homeomorphic embeddings user. Negative filtering rules are identified by means of the label (N). Example 4.2: Consider the filtering criterion book(code(x),name(y)) together with the XML document of Example 4.1. Then, the execution of the unconditional negative filtering rule filter book(code(x),name(y)) name(paulo)),year(2002), abstract(blablabla), (N) will produce the following slice of the original XML document: book(title(el Alquimista), author(surname(coelho)), abstract(blablabla),year(2002)) 3) Unordered filtering vs ordered filtering.: In Section III, we state that ordered homeomorphic embeddings are faster to compute than the unordered ones of Definition 3.1. When the user knows the structure of the XML document, is thus more convenient to use the notion of ordered embedding for filtering information. In our language we provide this distinction: the keyword filter allows us to implement the filtering mechanism without taking into account the positional ordering of the term arguments, while by means of the keyword filter* we force the system to consider such an ordering. Example 4.3: Consider the filtering criterion book(code(x),title(y)) together with the XML document of Example 4.1. Then, the execution of the unconditional, ordered, positive filtering rule filter* book(code(x),title(y)) name(paulo)),year(2002), abstract(blablabla), would not produce any result, while the unordered version would select the code as well as the title of the given book. 4) Nested filtering.: Our filtering language allows the user to specify complex, compound filtering statements by combining simpler filtering rules through nesting (see the grammar rules (1) and (4) of Figure 3). We call such rules compound filtering rules. Example 4.4: Consider the XML document of Example 4.1. The execution of the compound filtering rule filter name(x) in ( filter book(title(x),author(name(y), surname(z)),code(w)) name(paulo)), year(2002), abstract(blablabla), where X in [:Text:]Alquimista[:Text:], W = first(y) ++ first(z) (P) ) (N) yields book(title(el Alquimista), author(surname(coelho)), In our methodology, filtering is carried out by running filtering rules on XML documents. This is mechanized by means of partial matching, a technique based on homeomorphic embedding, which is described in the following section.

5 V. FILTERING USING PARTIAL MATCHING Given an XML document p and an XML document template t, partial matching exploits homeomorphic embedding to recognize instances of t in p. A formal definition follows. Definition 5.1 (partial matching): Let s 1, s 2 τ(text Tag, V). We say that s 2 partially matches s 1 via substitution σ iff 1) s 1 s 2 ; 2) for each X V such that X V ar(s 1 ), Xσ = s 2 w for some w O Tag (s 2 ), Xσ is a terminal term, and s 1 σ s 2. Definition 5.1 extends the notion of partial matching via tree simulation we formalized in [2] in order to deal with the more powerful notion of homeomorphic embedding. Let us see an example which illustrates the definition above. Example 5.1: Consider the XML document template and the XML document (called s and p, respectively) of Figure 2. Then, we have that p partially matches s via {X/Borges} and p partially matches s via {X/Guerrero}. Note that there is also a third homeomorphic embedding between s and t: specifically, the one which binds variable X to the term name(borges). However, p does not partially match s via {X/name(Borges)}, since name(borges) is not a terminal term and hence point 2 of Definition 5.1 is not satisfied in this case. The semantics of the positive as well as the negative filtering rules is based on the partial matching relation, as we can see in the following sections. A. Positive filtering Essentially, given a positive filtering rule filter t in p where C (P ), the main idea is to compute the set of all substitutions {σ 1,..., σ n } such that t partially matches s via σ i, i = 1,... n. Clearly, each instance tσ i is embedded in p by Definition 3.1. At this point, we glue together each tσ i, such that the corresponding condition C holds for σ i, into a single XML document, and finally we deliver the resulting slice of p. Summing up, the method works in two steps: 1) Compute the set of substitutions σ i, such that p partially matches s via σ i. 2) Assemble the new document. 1) Step 1.: We define the following operator R which applies to a given filtering rule filter t in p where C (L), where L {P, N}, and allows to compute all the required tσ i. R(filter t in p where C (L)) = {tσ i p partially matches t via σ i, C holds for σ i } Example 5.2: Consider the XML document books(book(title(el Alquimista), author(coelho),year(2002)) author(borges), together with the filtering criterion books(title(x),year(y)) Then, if we apply the operator R to the following filtering rule r filter books(title(x),year(y)) in books(book(title(el Alquimista), author(coelho), year(2002)) author(borges), (P) we get the following set R(r) {books(title(el Alquimista), year(2002)), books(title(ficciones),year(1944))} 2) Step 2.: Data obtained by applying the operator R to a given positive filtering rule r are subsequently assembled into a single XML document in the following way. Let result Tag be a fresh symbol which does not appear in any tσ R(r). Then, the execution of r yields the outcome result(tσ 1,..., tσ n ) where tσ i R(r), i = 1,..., n In other words, we create a new XML document containing the results of the execution of the given positive filtering rule r. Example 5.3: Consider the result of the operator R of Example 5.2. Then, we obtain the final outcome: result(books(title(el Alquimista), year(2002)) books(title(ficciones), which corresponds to the following XML document <result> <books> <title>el Alquimista</title> <year>2002</year> </books> <books> <title>ficciones</title> <year>1944</year> </books> </result> B. Negative filtering Given a negative filtering rule filter t in p where C (N), we aim at removing each instance tσ of t which is embedded

6 in p whenever the associated condition C holds for σ. For this purpose, we introduce the auxiliary function clean(p 1, p 2 ) which deletes the embedded term p 2 from the entire XML document p 1 and returns the modified document. For instance, clean(f(g(a, c), a, h(a), d), f(a)) will return the XML document f(g(c), h, d). Such a function can be easily and efficiently implemented by applying a bottom-up algorithm, which starts removing the p 2 s embedded subterms from the leaves of p 1 and proceeds recursively towards the root. By using the clean function and the operator R, defined in Section V-A, giving a semantics for the negative filtering rules becomes straightforward. More formally, the execution of a negative filtering rule r filter t in p where C (N) yields the following XML document as outcome: clean(clean(... (clean(p, tσ 1 ), tσ 2 )...), tσ n ) where R(r) = {tσ 1,..., tσ n }. Example 5.4: Consider the negative filtering rule r filter book(code(x)) in books(book(title(el Alquimista), author(coelho), code(c2002), year(2002)) author(borges), codes(code(b44), ISBN( )), (N) Then, R(r) = {book(code(c2002)),book(code(b44))}, and the final outcome is books(book(title(el Alquimista), author(coelho),year(2002)) author(borges), codes(isbn( )), which corresponds to the XML document <result> <book> <title> El Alquimista </title> <author> Cohelo </author> <year> 2002 </year> </book> <book> <title> Ficciones </title> <author> Borges </author> <codes> <isbn> </isbn> </codes> <year> 1944 </year> </book> </result> VI. CONCLUSIONS The growing complexity of the World Wide Web demands for tools which are able to tame the so-called information overload. To this respect, filters allow one to extract relevant and meaningful information within the enormous amount of data available on the Web. In this paper, we presented an XML filtering language which has several advantages w.r.t. other approaches. On the one hand, it is easy to use, since it has a simple syntax and a clear, intuitive semantics; on the other hand, it provides the expressive power of functions (modeled as Term Rewriting Systems) and a sophisticated mechanism for detecting information patterns which is based on the notion of homeomorphic embedding. By defining suitable rules, the user can easily establish filtering criteria which are subsequently employed to automatically select the needed information as well as to weed out unwanted contents from a collection of XML documents. Finally, let us conclude by mentioning some directions for future work. We are currently working on a system which implements the proposed methodology. To increase efficiency, we are taking into account several approximations of the relation of homeomorphic embedding with different degrees of accuracy and time complexity [16]. Moreover, we are also planning to develop a compiler which allows us to translate filtering specifications into XPath queries to take advantage of the efficient XPath implementations [11] which are available nowadays. REFERENCES [1] S. Abiteboul, P. Buneman, and D. Suciu. Data on the Web. From Relations to Semistructured Data and XML. Morgan Kaufmann, [2] M. Alpuente, D. Ballis, and M. Falaschi. Automated Verification of Web Sites Using Partial Rewriting. Software Tools for Technology Transfer, To appear. [3] F. Baader and T. Nipkow. Term Rewriting and All That. Cambridge University Press, [4] E. Bertino, M. Mesiti, and G. Guerrin. A Matching Algorithm for Measuring the Structural Similarity between an XML Document and a DTD and its Applications. Information Systems, 29(1):23 46, [5] M. Bezem. TeReSe, Term Rewriting Systems, chapter Mathematical background (Appendix A). Cambridge University Press, [6] F. Bry and S. Schaffert. Towards a Declarative Query and Transformation Language for XML and Semistructured Data: Simulation Unification. In Proc. of the Int l Conference on Logic Programming (ICLP 02), volume 2401 of Lecture Notes in Computer Science. Springer-Verlag, [7] F. Bry and S. Schaffert. The XML Query Language Xcerpt: Design Principles, Examples, and Semantics. Technical report, [8] A. Cortesi, A. Dovier, E. Quintarelli, and L. Tanca. Operational and Abstract Semantics of a Graphical Query Language. Theoretical Computer Science, 275: , [9] N. Dershowitz and D. Plaisted. Rewriting. Handbook of Automated Reasoning, 1: , [10] M. F. Fernandez and D. Suciu. Optimizing Regular Path Expressions Using Graph Schemas. In Proc. of Int l Conference on Data Engineering (ICDE 98), pages 14 23, [11] G. Gottlob, C. Koch, and R. Pichler. Efficient Algorithms for Processing XPath Queries. In Proc. of the 28th International Conference on Very Large Data Bases (VLDB 02), Hong Kong, China, 2002.

Regular Expressions with Nested Levels of Back Referencing Form a Hierarchy Kim S. Larsen Odense University Abstract For many years, regular expressions with back referencing have been used in a variety

CHAPTER 7 GENERAL PROOF SYSTEMS 1 Introduction Proof systems are built to prove statements. They can be thought as an inference machine with special statements, called provable statements, or sometimes

PROCEEDINGS OF THE YEREVAN STATE UNIVERSITY Physical and Mathematical Sciences 2012 1 p. 43 48 ON FUNCTIONAL SYMBOL-FREE LOGIC PROGRAMS I nf or m at i cs L. A. HAYKAZYAN * Chair of Programming and Information

XML DATA INTEGRATION SYSTEM Abdelsalam Almarimi The Higher Institute of Electronics Engineering Baniwalid, Libya Belgasem_2000@Yahoo.com ABSRACT This paper describes a proposal for a system for XML data

EMC White Paper Introduction to XML Applications Umair Nauman Abstract: This document provides an overview of XML Applications. This is not a comprehensive guide to XML Applications and is intended for

Computing basics Ruurd Kuiper October 29, 2009 Overview (cf Schaum Chapter 1) Basic computing science is about using computers to do things for us. These things amount to processing data. The way a computer

ASSOCIATIVE-COMMUTATIVE REWRITING* Nachum Dershowitz University of Illinois Urbana, IL 61801 N. Alan Josephson University of Illinois Urbana, IL 01801 Jieh Hsiang State University of New York Stony brook,

CSE341T 08/31/2015 Lecture 3 Cost Model: Work, Span and Parallelism In this lecture, we will look at how one analyze a parallel program written using Cilk Plus. When we analyze the cost of an algorithm

SQL INJECTION ATTACKS By Zelinski Radu, Technical University of Moldova Where someone is building a Web application, often he need to use databases to store information, or to manage user accounts. And

MAT2400 Analysis I A brief introduction to proofs, sets, and functions In Analysis I there is a lot of manipulations with sets and functions. It is probably also the first course where you have to take

Static Program Transformations for Efficient Software Model Checking Shobha Vasudevan Jacob Abraham The University of Texas at Austin Dependable Systems Large and complex systems Software faults are major

Building XML-Based Web Applications 1905: Building XML-Based Web Applications (5 Days) About this Course This five-day instructor-led course provides students with the skills to build a Web application

Constructing a Generic Natural Language Interface for an XML Database Rohit Paravastu Motivation Ability to communicate with a database in natural language regarded as the ultimate goal for DB query interfaces

International Journal of Computer Science and Software Engineering Volume 2, Number 1 (2015), pp. 1-6 International Research Publication House http://www.irphouse.com Dynamic Data in terms of Data Mining

In: XML 2000 XML Queries and Transformations for End Users Martin Erwig Oregon State University Department of Computer Science Corvallis, OR 97331, USA Abstract We propose a form-based interface to expresses

An extended rule framework for web forms: adding to metadata with custom rules to control appearance Atia M. Albhbah and Mick J. Ridley Abstract This paper proposes the use of rules that involve code to

Theory of Computation Lecture Notes Abhijat Vichare August 2005 Contents 1 Introduction 2 What is Computation? 3 The λ Calculus 3.1 Conversions: 3.2 The calculus in use 3.3 Few Important Theorems 3.4 Worked

The Import & Export of Data from a Database Introduction The aim of these notes is to investigate a conceptually simple model for importing and exporting data into and out of an object-relational database,

Chapter 2: Number Systems Logic circuits are used to generate and transmit 1s and 0s to compute and convey information. This two-valued number system is called binary. As presented earlier, there are many

1 Fixed-Point Logics and Computation Symposium on the Unusual Effectiveness of Logic in Computer Science University of Cambridge 2 Mathematical Logic Mathematical logic seeks to formalise the process of

The Clean programming language Group 25, Jingui Li, Daren Tuzi The Clean programming language Overview The Clean programming language first appeared in 1987 and is still being further developed. It was

Curriculum Map Discipline: Computer Science Course: C++ August/September: How can computer programs make problem solving easier and more efficient? In what order does a computer execute the lines of code

Mathematics for Computer Science/Software Engineering Notes for the course MSM1F3 Dr. R. A. Wilson October 1996 Chapter 1 Logic Lecture no. 1. We introduce the concept of a proposition, which is a statement

Completeness, Versatility, and Practicality in Role Based Administration Slobodan Vukanović svuk002@ec.auckland.ac.nz Abstract Applying role based administration to role based access control systems has

A NOTE ON INITIAL SEGMENTS OF THE ENUMERATION DEGREES THEODORE A. SLAMAN AND ANDREA SORBI Abstract. We show that no nontrivial principal ideal of the enumeration degrees is linearly ordered: In fact, below

To ensure the functioning of the site, we use cookies. We share information about your activities on the site with our partners and Google partners: social networks and companies engaged in advertising and web analytics. For more information, see the Privacy Policy and Google Privacy &amp Terms.
Your consent to our cookies if you continue to use this website.