HyperGraphDB: A Generalized Graph Database
|
|
|
- Ferdinand Preston
- 9 years ago
- Views:
Transcription
1 HyperGraphDB: A Generalized Graph Database Borislav Iordanov Kobrix Software, Inc. Abstract. We present HyperGraphDB, a novel graph database based on generalized hypergraphs where hyperedges can contain other hyperedges. This generalization automatically reifies every entity expressed in the database thus removing many of the usual difficulties in dealing with higher-order relationships. An open two-layered architecture of the data organization yields a highly customizable system where specific domain representations can be optimized while remaining within a uniform conceptual framework. HyperGraphDB is an embedded, transactional database designed as a universal data model for highly complex, large scale knowledge representation applications such as found in artificial intelligence, bioinformatics and natural language processing. Key words: hypergraph, database, knowledge representation, semantic web, distributed 1 Introduction While never reaching widespread industry acceptance, there has been an extensive body of work on graph databases, much of it in the 90s. Various data models were proposed, frequently coupled with a complex object representation as a natural, practical application of graph storage. More recently, several developments have contributed to a renewed interest in graph databases: large-scale networks research, social networks, bioinformatics as well as the semantic web and related standards. Part of that interest is due to the massive amounts of graph-oriented data (e.g. social networks) and part of it to the inherent complexity of the information that needs to be represented (semantics and knowledge management). This body of work has been thoroughly reviewed in [1]. In this paper, we present the implementation of a generalized hypergraph model independently proposed by Harold Boley [4] and Ben Goertzel [5]. The model allows for n-ary hyperedges that can also point to other edges, and we add an extensible type tower [6] to the mix. Two generalizations of graphs related to our work have been the Hypernode model [2] and the GROOVY model [3], both focused specifically on representing objects and object schemas. While hypergraphs have been extensively used as an analytical tool in database research, we are not aware of any other implementation of general hypergraphs as a native database.
2 The main contributions of HyperGraphDB 1 lies in the power of its structurerich, reflexive data model, the dynamic schema enforced by an extensible type system, and open storage architecture allowing domain specific optimizations. It must be noted however that the representational flexibility also leads to performance gains when fully exploited. While a hypergraph can be represented as a regular graph, frequently the opposite is also true in a non-trivial way. Many graphs will have repetitive structural patterns stemming from the restrictions of the classical graph model. Such patterns can be abstracted via a hypergraph resentation, leading to much fewer nodes and database operations. For example, flow graphs where edges represent multi-way input-output connections can be stored much more compactly using a hypergraph-based model. Furthermore, reducing the complexity of a representation is not the only benefit of a hypergraph model. As illustrated in the context of cellular networks, transformation to a graph representation is usually possible but may imply a loss of information that can lead to wrong interpretations afterward ([7]). In fact, biological networks are replete with multilateral relationships that find a direct expression as hypergraphs. Another example of how the ability to represent higher-order relations can improve algorithms can be found in [8], where the authors present a learning algorithm for Markov Logic Networks based on what they call hypergraph lifting which amounts to working on higher-order relations. One common criticism of RDF ([9]) stores is the limited expressiveness of binary predicates, a problem solved by HyperGraphDB s n-ary relationships. Two other prominent issues are contextuality (scoping) and reification. A popular solution of the scoping problem has been proposed in the form of Named Graphs ([11]). Reification is represented through a standardized reification vocabulary, by transforming an RDF graph into a reified form ([10]). In this transformation a single triplet yields 4 triplets, which is unnatural, breaks algorithms relying on the original representation, and suffers from both time and space inefficiencies. A similar example comes from the Topic Maps standard [12] where reification must be explicitly added as well, albeit without the need to modify the original representation. Those and other considerations from semantic web research disappear or find natural solutions in the model implemented by HyperGraphDB. The paper is organized as follows: first, we review some variations of hypergraphs and describe the particular one adopted by HyperGraphDB. In subsequent sections, we detail the system s architecture: storage model, typing, indexing, querying and its P2P distribution framework. Lastly, we describe in some detail one particular application in natural language processing. 1 The system is open-source software, freely available at p/hypergraphdb.while the current implementation is in the Java programming language, we note that the architecture is host-language-agnostic and we make very few references to Java constructs in the exposition below.
3 2 Hypergraphs and the HyperGraphDB Model The standard mathematical definition of a hypergraph is a family of sets over a universal set of vertices V, or equivalently an undirected graph where an edge can connect any number (> 0) of vertices. Such hypergraphs are studied in the context of set combinatorics, where they are also called finite set systems [13]. In representational problems directed hypergraphs have also been proposed, where a hyperedge acquires an orientation in one of two ways: (1) partitioning it into a head and a tail set yields several interesting applications as reported in [14]; or (2) treating the edge as a tuple (ordered, with repetition) yields a very powerful representational language [16]. In basic set theory a hypergraph essentially defines an incidence structure over the universe of vertices V. Such a hypergraph is isomorphic to a bipartite graph where one set represents the hypergraph s vertices and the other its hyperedges. If one includes hyperedges in the vertex universe as well, a set theoretic formalization becomes harder because the foundation axiom no longer holds. Such hypergraphs are isomorphic to general (i.e. allowing cycles) directed graphs and they have been studied from a set-theoretic perspective by P. Azel [17]. But in a computational setting such generalized hypergraphs are a much more natural construct as they directly allow the recursive construction of logical relationships while easily avoiding dangerous circularity in a manner similar to Russel s type theory. This is the model adopted by HyperGraphDB. The representational power of higher-order n-ary relationships is the main motivation behind its development. In the HyperGraphDB data model, the basic representational unit is called an atom. Each atom has an associated tuple of atoms called its target set. The size of the target set is called the atom s arity. Atoms of arity 0 are called nodes and atoms of arity > 0 are called links. The incidence set of an atom x is the set of atoms that have x as a member of their target set (i.e. the set of links pointing to x). The use of tuples instead of sets for an atom s target set is not the only possible choice; both can be supported, but we have focused on the former as the most practical by far. Moreover, each atom has an associated strongly typed value. Values are of arbitrary types, and types themselves are atoms (see below for a detailed discussion of the type system). Atoms and values represent two orthogonal aspects of the information content stored in a HyperGraphDB instance. Atoms are the semantic entities that form the hypergraph structure, while values are typed data that may be structured or not. The value of an atom can be changed or replaced with a value of a different type while preserving an identical linkage structure. Several atoms may share the same value. On the other hand, values are immutable entities. 2 2 One could directly overwrite a value in storage or change its runtime representation and HyperGraphDB has no control over that, but there are no means in the API to modify a value.
4 Note that this model does not need to impose any particular semantics on the data being stored. It is a semi-structured, general purpose model incorporating graph, relational, and object-oriented aspects. The HyperGraphDB database schema is a type system that can evolve dynamically, where data integrity constraints can be enforced by type implementations. As exemplified by RDF, such a flexible architecture is called for on the open web, where fixed database schemas can easily break. 3 Two-Layered Architecture A key aspect of HyperGraphDB s architecture are the two levels of data organization which we now describe. We note that the actual physical storage is mostly irrelevant with the notable requirement that an efficient key-value indexing must be available, such as the BerkeleyDB storage system [18] which is currently being used. The two-layered architecture defines a primitive hypergraph storage abstraction, the primitive storage layer and a model layer. The primitive storage layer is partitioned into two associative arrays (i.e. key-value stores): LinkStore : ID List < ID > DataStore : ID List < byte > In other words, the primitive layer consists of a graph of pure identifiers and raw data. Each identifier maps either to a tuple of identifiers or to a plain byte array. The default representation of identifiers is a cryptographically strong type 4 UUID [19]. This makes it easier to manage them in a large distributed environment while virtually eliminating the chance of collision - each data peer can make up new IDs without a central authority. This layer is augmented with a set of indices some of which form an essential part of the data organization while others can be added by users or extension implementations. The main requirement from the key-value store perspective is that the indices support multiple ordered values per single key. The model layer is where the hypergraph atom abstraction lives, together with the type system, caching, indexing and query facilities. The model layer is implemented by formalizing the layout of the primitive storage layer in the following way: AtomID [T ypeid, V alueid, T argetid,..., T argetid] T ypeid AtomID T argetid AtomID V alueid List < ID > List < byte > In other words, each identity is taken to represent either a hypergraph atom, or the value of an atom. In the former case, the atom is stored as an identity tuple where the first argument is the (identity of the) type of the atom, the second its value, and the rest of the arguments form the target set of the atom. In the latter case, the value can be directly stored as a byte array or it can be an aggregate stored as an identity tuple as well. The layout of atom identities is managed by the core framework while the layout of data values is delegated
5 to type implementations. Note that ValueIDs also form a recursive structure enabling the storage of arbitrarily complex structures that are orthogonal to the graph atom abstraction. The T ypeid AtomID production will be detailed in the next section. The core indices needed for the efficient implementation of the model layer are: IncidenceIndex : UUID SortedSet < UUID > T ypeindex : UUID SortedSet < UUID > V alueindex : UUID SortedSet < UUID > The IncidenceIndex maps a hypergraph atom to the set of all links pointing to it. The TypeIndex maps a hypergraph type atom to the set of all its instance atoms. The ValueIndex maps (the ID of) a top-level value structure to the set of atoms carrying that value as a payload. 4 Typing HyperGraphDB has the ability to store arbitrary types of data as atoms in a programming-language-neutral way. Specifically, as an embedded database it maps data values in the host language to and from permanent storage. Therefore, it must cover typing constructs found in various languages in a way that integrates seamlessly with a given language s runtime environment. This is achieved via a general, extensible typing mechanism that interacts very closely with the storage layer, based on the foundational notion of a type in computer science. In computational type theory, types are formalized by saying what can be done with them. A defining notion is equality: when are two elements of a given type equal? Another fundamental concept is compounding (or constructing) new types out of simpler ones. To make a new type, one needs type constructors, that is types of types. Finally, the notion of sub-typing, which is akin to subsumption or substitutability, is usually introduced independently. On the other hand, equality can be conceived as bi-directional subsumption: two instances of the same type are equal iff they subsume each other. The essence of types has been nicely summed up by the logician Jean-Yves Girard as...plugging instructions. A term of a given type T is both something that can be plugged somewhere as well as a plug with free, typed variable ([20]). This duality, together with the considerations above lead to the following minimalistic design: A type is an atom capable of storing, constructing and removing runtime representations of its instances to and from the primitive storage layer. A type is capable, given two of its instances, to tell whether one of them can be substituted for the other (subsumption relation). In other words, types are just atoms assigned a special role that allows the system to maintain the assocation between types and instances as well as super-subtype relationships. This is formalized in the following Java interface that each type atom must implement:
6 public interface HGAtomType { Object make(id valueid, List<ID> targetset, Set<ID> incidenceset); ID store(object instance); // return valueid for runtime instance void release(id valueid); boolean subsumes(object general, Object specific); } In addition to the subsumes relation, the interface simply defines CRUD methods needed to manage values in the storage layer. Because values are by definition immutable, there is no update method. Note that the make method takes both the target and incidence sets as extra parameters (besides the identifier of the value in primitive storage). Thus, the representation of an atom is a function of both those sets. This means that an atom can be annotated with various relationships that define what it is at runtime. The make method makes a type into an object factory. A type constructor is simply a type atom that returns an HGAtomT ype instance from its make method. Now, the type system is bootstrapped by a set of (configurable) predefined types covering standard simple values such as numbers and strings as well some standard type constructors for record structures, lists and maps. Such predefined types all have the same type called T op, which is its own type. For example, the type constructor for record structures is managing record types which in turn manage concrete records. A compound type such as a record or a list can store its components by relying recursively on other HyperGraphDB types. That is, HGAtomT ype implementations can handle values both at the atom level and the pure (composite) value level. Record-style structures with named parts are so common that we have defined an abstract interface for them called HGCompositeT ype that views complex values as multidimensional structures where each dimension is identified by a name and has an associated HGP rojection implementation which is able to manipulate a value along that dimension. Such types that deal with complex structures are free to split them into separate identities in storage (i.e. as value links in the low-level graph) and provide functions like indexing, querying or reference counting for their parts. Alternatively, they can store them as compact blobs accessible only at the atom level. In sum, types in HyperGraphDB aggregate many aspects commonly found in type systems in various computer languages. They play the role of object factories like classes in object-oriented languages. They are classes in the set theoretic sense, having a well-defined extension. They also define the structural properties of atoms and hence are intensional. Finally, they play a semantic role in constraining atom usage and enforcing certain consistency and integrity properties as typical in both typing and database systems. The combination of those aspects enable HyperGraphDB to naturally integrate many different formalisms without the need to single out any one in particular. Meta-models
7 such as Sowa s conceptual graphs, RDF, combinatory logic expressions, objectorientation and even the standard relational model can be implemented on their own terms. Furthermore, it allows for storage customization and optimization all the way to the very primitive values. 5 Indexing Keeping in the spirit of the reflexive, open architecture of HyperGraphDB, indexing facilities are also an extensible feature. The implicit indexing of atoms described in section 3 is not optional as it is essential for an efficient support of the model layer semantics. For example, the incidence set indexing is crucial for the performance of both graph traversals and in general for querying the graph structure. Additional indices are being maintained at both the primitive and model layers. At the primitive layer custom indices are employed by type implementations. Such indices are obtained directly from the storage layer and managed internally by a type. For instance, the default implementation of primitive types maintains an index between the primitive data and its value identifiers, thus enforcing value sharing between atoms at the storage level with reference counts. 3 Value sharing and reference counting is not done by default for complex types because there is no universal way to implement it efficiently unless the notion of primary key (i.e. a given dimension or a combination thereof) is introduced by implementing an appropriate complex type constructor. At the model layer, indices can work both on the graph structure and value structure of atoms. However, they are always associated with atom types. This association is less constraining than it seems since an index will also apply to all sub-types of the type it is associated with. Indices are registered with the system by implementing the HGIndexer interface which must produce produce a key given an atom. HGIndexer instances are stored as atoms as well, and can thus have associated persistent meta-data for query planning, application algorithms etc. Some of the predefined indexers are listed in the following table: ByP artindexer Indexes atoms with compound types along a given dimension. ByT argetindexer Indexes atoms by a specific target (a position in the target tuple). CompositeIndexer Combines any two indexers into a single one. This allows to essentially precompute and maintain an arbitrary join. LinkIndexer Indexes atoms by their full target tuple. T argett ot argetindexer Given a link, index one of its target by another. 3 This is not necessary conceptually or technically; it is transparent at the model layer and could be changed in case different performance characteristics are required.
8 Though we have not done that in the current implementation, an indexer could detect and index local graph structures to be used in more sophisticated graph mining algorithms. 6 Querying Querying a graph database may take one of several forms. A graph traversal is a form of query yielding a sequence of atoms. Retrieving a set of not necessarily linked atoms matching some predicate, as in relational databases, is yet another kind. Finally, a third prominent category is pattern matching of graph structures. Traversals are defined in terms of iterator APIs. Evidently, the more general hypergraph model entails a corresponding generalization of traversals. 4 There are several aspects to that generalization, some of which are already outlined in [16]. Firstly, the notion of node adjacency is generalized. Adjacent atoms are found as in a standard graph, by examining the links pointing to a given atom, i.e. its incidence set. Given an atom x i and a set of typed link tuples pointing to it, one might want to examine only a subset of those links. Then given a particular link of interest l = [x 1,..., x i,..., x n ], the adjacent atoms could be a subset of {x i+1...x n }or{x i 1...x 1 } depending on both atom types and properties and the direction of the traversal. Furthermore, in a case of uniform structural patterns in the graph, one might be interested in a notion of adjacency where more than on link is involved - that is, y is adjacent to x if it is reachable in a certain way. All of those cases are simply resolved at the API level by providing the traversal algorithm (breadth-first or depth-dirst) with an adjacency list generator - an interface that returns a list of atoms adjacent to a given atom. The second generalization of traversals adds an additional dimension to the process by allowing one to follow incident links as well as adjacent atoms. While handled equally trivially at the API, such hyper-traversals model a conceptually different phenomenon: jumps in abstractions levels within the representational structure. Because such jumps are highly domain dependent, they haven t been formalized within the system. It must be noted that both flat and hyper-traversals depend on the incidence index and the efficient caching of incidence sets. Set-oriented queries are implemented through a simple, but efficient querying API where data is loaded on demand with lazy join, bi-directional (whenever possible) cursors. Query expressions are built out of a set of primitives 5 : 4 In hypergraphs as finite set system, traversals are generalized to the notion of transversals which are sets having non-empty intersection with every edge of the graph. Computing minimal transversals has applications in various combinatorics algorithms, but HyperGraphDB has been mainly applied to tuple-oriented representational problems and instead provides facilities for computing directed n-ary traversals. 5 For brevity, we list only the most fundamental ones.
9 eq(x), lt(x), eq( name, x),... Compare atom s avalue. type(t ypeid) Type of atom is T ypeid. typep lus(t ypeid) Type of atom is a subtype of T ypeid. subsumes(atomid) Atom is more general than AtomID. target(linkid) Atom belongs to the target set of LinkID. incident(t argetid) Atom points to T argetid. link(id 1,..., ID n ) Atom s target set includes {ID 1,..., ID n }. orderedlink(id 1,..., ID n ) Atom is a tuple of the given form. arity(n) Atom s arity is n. as well as the standard and, or and not operators. Much of the querying activities revolve around performing join operations on the various indices available for the query. Small to moderately sized atom incidence sets are cached as ordered ID arrays, which makes scanning and intersecting them extremely efficient. Wholes or portions of larger storage level indices get cached at the storage layer as well, but remain in B-Tree form. Joins are mostly performed on pairs of sorted sets (usually of UUIDs) via a zig-zag algorithm, when the sets support key-based random access, or a merge algorithm, when they don t. Intersections are implemented as bi-directional iterators, which allows for backtracking during more sophisticated search algorithms. Because of the generality of the HyperGraphDB data model, querying for patterns would most conveniently be done through a special purpose language in the style of [21]. Such a query language, accounting for the various structural possibilities of typed atoms with directed or undirected hyperedges and complex values, is currently a work in progress. 7 Peer-to-Peer Distribution Data distribution in HyperGraphDB is implemented at the model layer by using an agent-based, peer-to-peer framework. Algorithms are developed using communication protocols built using the Agent Communication Language (ACL) FIPA standard [22]. ACL is based in turn on speech act theory [23] and it defines a set of primitive communication performatives such as propose, accept, inform, request, query etc. Each agent maintains a set of conversations implementing dialog workflows (usually simple state machines) with a set of peers. All activities are asynchronous where incoming messages are dispatched by a scheduler and processed in a thread pool. The P2P architecture was motivated by the most common use case of Hyper- GraphDB as a distributed knowledge representation engine. It is assumed that total availability of all knowledge at any particular location will not be possible, or in many cases not even desirable. For example, an eventually consistent data replication schema is based on the following algorithm: 1. Upon startup each agent broadcasts interest in certain atoms (defined by a boolean predicate) to its peers by sending a subscribe performative.
10 2. Each peer then listens to atom events from the database and upon addition, update or removal of an atom, it notifies interested peers by sending an inform communication act. 3. To ensure consistency, local transactions are linearly ordered by a version number and logged so that they can eventually reach all interested peers. 4. A peer that receives a notification about an atom transaction must acknowledge it and decide whether to enact the same transaction locally or not. There is no two-phase commit: once an event is acknowledged by a receiver, the sender can assume that it was processed. This approach pushes the balance of replication vs. partitioning of data to the user level. We felt this was the appropriate choice since simple partitioning schemas, such as by type or by value, are easily configured on top of the base algorithm while application-dependent graph structures can only be distributed meaningfully at the domain level. A fully transparent alternative that attempts to adapt the precise location of atoms based on local usage and meta-data would result in unpredictable and frequent remote queries, in addition to requiring a significant amount of additional local storage. 8 Example Application One area where HyperGraphDB has been successfully applied is Natural Language Processing (NLP). We developed a distributed NLP processing system called Disko where the representational power of the data model considerably simplified the task. Disko uses a relatively standard NLP pipeline where a document is split into paragraphs and sentences, then each sentence is parsed into a set of syntactic dependency relations. Finally semantic analysis is applied to those relations yielding a logical representation of their meaning. In this application, several domains are naturally represented independently while interacting in a clean and meaningfull way. First, a manually curated OWL ontology is stored as a hypergraph representing OWL classes as types that create runtime instances of OWL individuals based on their graph linkage. The OWL classes themselves are typed by an OW LT ypeconstructor. Prior to parsing, an entity detection algorithm maps named entities (such as people and organizations) into individuals of that ontology. Second, the WordNet lexical database [24] is represented by storing synonym sets as undirected links between word atoms and semantic relationships between those sets (e.g. part-whole) as 2nd order directed links. A parser based on a dependency grammar [25] combined with a postprocessing relational extractor [26] yields strongly typed syntactic relationships between word atoms while a WSD (Word Sense Disambiguation) phase yields semantic relationships between synonym sets, again 2nd order, n-ary links. Further semantic analysis is performed by Prolog rules operating directly on the database instance via a mapping of logic terms to HyperGraphDB atoms, yielding further semantic relations. Both syntactic and semantic relations are of varying arity ranging from 1 (e.g. verb tense) to sometimes 4 (e.g. event(buy,
11 time, buyer, seller, object)). The tree-like structure of the document is also recorded in HyperGraphDB with scoping parent-child binary links between (a) the document and its paragraphs, (b) a paragraph and its sentences, (c) a sentence and each linguistic relationship inferred from it. Finally, an implementation of the dataflow-based programming model ([27]) also relies on HyperGraphDB to store its distributed dataflow network. A semantic search based on the NLP pipeline output makes heavy use of HyperGraphDB s indexing capabilities. First, a user question is translated into a set of relationships using the same pipeline. Ontological and lexical entities are quickly resolved by various ByP artindexers on their object-oriented representation. Non-trivial relationships (the ones with arity > 1) between those entities are matched against the database using orderedlink(x 1, x 2,...) queries. Such queries are translated to joins between the incidence sets of x 1 through x n and possibly including ByT argetindexers on some particularly large types of relationships. The matches thus accumulated are grouped according to their sentence/paragraph scopes, where the scopes themselves are efficiently resolved via a T argett ot argetindexer, which is usually applied when one wants to efficiently navigate a tree sub-graph of a large hypergraph. The groups are scored and sorted into a search result set. Note that both the ability of links to hold more than two targets and to point to other atoms is essential in this representation. Furthermore, the type system simplifies the programming effort by (1) making the mapping between persistent data and runtime representation transparent and (2) enforcing schema constraints on the representation. An approach relying on most other database models (including ODBMs, RDBMs, RDF stores, classical graph stores etc.) would force a contrived mapping of the several disjoint domains involved to a representation motivated solely by storage. 9 Conclusion The data model adopted by HyperGraphDB generalizes classical graphs along several dimensions (reified n-ary links, strong typing) and as such it doesn t lend itself to a pointer structure based storage layout. On the other hand, an open layered architecture and an extensive type system allow the model to easily subsume many different formalisms without necessarily incurring a performance penalty in the process. Further development of the query language for the HyperGraphDB model, bindings for other programming languages such as C++, support for nested graphs and distributed algorithms based on the established foundation will hopefully fuel the adoption of this data model also in domains outside AI/NLP/Semantic Web research. References 1. Angles, Renzo, Gutierrez, Claudio: Survey of Graph Database Models. In: ACM Computing Surveys, Vol. 40, No 1, Article 1 (2008)
12 2. Levene, M. Poulovassilis, A.: The Hypernode model and its associated query language. In: Proceedings of the 5th Jerusalem Conference on Information technology. IEEE Computer Society Press, , (1990). 3. Levene, M. Poulovassilis, A.: An object-oriented data model formalised through hypergraphs. In: Data Knowl. Eng. 6, 3, , (1991). 4. Boley, Harold: Directed recursive labelnode hypergraphs: A new representationlanguage. In: Artificial Intelligence, 9(1), (1977). 5. Goertzel, B.: Patterns, Hypergraphs & Embodied General Intelligence. In: IEEE World Congress on Computational Intelligence, Vancouver, BC, Canada, (2006) 6. Sheard, Tim: Languages of the Future. In: Proceedings of the ACM Conference on Object-Oriented Programming, Systems, Languages and Applications, Vancouver, British Columbia, Canada, (2004) 7. Klamt, S., Haus Utz-Uwe, Theis, F: Hypergraphs and cellular networks.in: PLoS Comput Biol, 5(5), (2009). 8. Kok, S., Domingos, P.:Learning markov logic network structure via hypergraph lifting. In: ICML 09: Proceedings of the 26th Annual International Conference on Machine Learning, pages , New York, NY, USA, ACM. 9. Resource Description Framework, RDF Semantics, Carroll, Jeremy J. and Bizer, Christian and Hayes, Pat and Stickler, Patrick: Named graphs, provenance and trust. In: WWW 05: Proceedings of the 14th international conference on World Wide Web, pp ACM, New York (2005) 12. Topic Maps, Berge, C.,: Hypergraphs: combinatorics of finite sets. North-Holland (1989) 14. Gallo, G., Long, G., Pallottino, S. and Nguyen, S.: Directed hypergraphs and applications. In: Discrete Applied Mathematics., 42(2-3):177201, (1993). 15. XML Schema, Boley, H.: Declarative operations on nets. In: Fritz Lehmann, editor, Semantic Networks in Artificial Intelligence, pp Pergamon Press, Oxford, (1992). 17. Aczel, P.: Non-well-founded sets., CSLI Lecture Notes, 14, Stanford, CA: Stanford University, Center for the Study of Language and Information, (1988) 18. Olson, M. A., Bostic, K., and Seltzer, M.: Berkeley DB. In: Proceedings of the Annual Conference on USENIX Annual Technical Conference. USENIX Association, Berkeley, CA, pp , (1999) 19. IETF UUID draft specification, draft-leach-uuids-guids-01.txt 20. Girard, Jean-Yves, Lafont, Y., Taylor, P.: Proofs and Types, Cambridge University Press, (1989) 21. SPARQL Query Language for RDF, 22. FIPA Agent Communication Language Specification, repository/aclspecs.html 23. Searle, J.: Speech Acts, Cambridge University Press (1969) 24. Miller, G. A.: WordNet: A Lexical Database for English. Communications of the ACM Vol. 38, No. 11:, pp , (1995) 25. Sleator, D., Temperley, D.: Parsing English with a Link Grammar. Carnegie Mellon University Computer Science technical report CMU-CS , (1991) 26. RelEx Dependency Relationship Extractor, Morrison, J.P.:Flow-Based Programming: A New Approach to Application Development, Van Nostrand Reinhold, (1994)
Object Oriented Databases. OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar
Object Oriented Databases OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar Executive Summary The presentation on Object Oriented Databases gives a basic introduction to the concepts governing OODBs
Semantic Search in Portals using Ontologies
Semantic Search in Portals using Ontologies Wallace Anacleto Pinheiro Ana Maria de C. Moura Military Institute of Engineering - IME/RJ Department of Computer Engineering - Rio de Janeiro - Brazil [awallace,anamoura]@de9.ime.eb.br
Relational Databases
Relational Databases Jan Chomicki University at Buffalo Jan Chomicki () Relational databases 1 / 18 Relational data model Domain domain: predefined set of atomic values: integers, strings,... every attribute
A Comparison of Current Graph Database Models
A Comparison of Current Graph Database Models Renzo Angles Universidad de Talca (Chile) 3rd Int. Workshop on Graph Data Management: Techniques and applications (GDM 2012) 5 April, Washington DC, USA Outline
It s all around the domain ontologies - Ten benefits of a Subject-centric Information Architecture for the future of Social Networking
It s all around the domain ontologies - Ten benefits of a Subject-centric Information Architecture for the future of Social Networking Lutz Maicher and Benjamin Bock, Topic Maps Lab at University of Leipzig,
How To Improve Performance In A Database
Some issues on Conceptual Modeling and NoSQL/Big Data Tok Wang Ling National University of Singapore 1 Database Models File system - field, record, fixed length record Hierarchical Model (IMS) - fixed
Scope. Cognescent SBI Semantic Business Intelligence
Cognescent SBI Semantic Business Intelligence Scope...1 Conceptual Diagram...2 Datasources...3 Core Concepts...3 Resources...3 Occurrence (SPO)...4 Links...4 Statements...4 Rules...4 Types...4 Mappings...5
The Prolog Interface to the Unstructured Information Management Architecture
The Prolog Interface to the Unstructured Information Management Architecture Paul Fodor 1, Adam Lally 2, David Ferrucci 2 1 Stony Brook University, Stony Brook, NY 11794, USA, [email protected] 2 IBM
GOAL-BASED INTELLIGENT AGENTS
International Journal of Information Technology, Vol. 9 No. 1 GOAL-BASED INTELLIGENT AGENTS Zhiqi Shen, Robert Gay and Xuehong Tao ICIS, School of EEE, Nanyang Technological University, Singapore 639798
Using Object Database db4o as Storage Provider in Voldemort
Using Object Database db4o as Storage Provider in Voldemort by German Viscuso db4objects (a division of Versant Corporation) September 2010 Abstract: In this article I will show you how
Introducing Formal Methods. Software Engineering and Formal Methods
Introducing Formal Methods Formal Methods for Software Specification and Analysis: An Overview 1 Software Engineering and Formal Methods Every Software engineering methodology is based on a recommended
Introduction to Web Services
Department of Computer Science Imperial College London CERN School of Computing (icsc), 2005 Geneva, Switzerland 1 Fundamental Concepts Architectures & escience example 2 Distributed Computing Technologies
Databases in Organizations
The following is an excerpt from a draft chapter of a new enterprise architecture text book that is currently under development entitled Enterprise Architecture: Principles and Practice by Brian Cameron
Overview on Graph Datastores and Graph Computing Systems. -- Litao Deng (Cloud Computing Group) 06-08-2012
Overview on Graph Datastores and Graph Computing Systems -- Litao Deng (Cloud Computing Group) 06-08-2012 Graph - Everywhere 1: Friendship Graph 2: Food Graph 3: Internet Graph Most of the relationships
An Open Framework for Reverse Engineering Graph Data Visualization. Alexandru C. Telea Eindhoven University of Technology The Netherlands.
An Open Framework for Reverse Engineering Graph Data Visualization Alexandru C. Telea Eindhoven University of Technology The Netherlands Overview Reverse engineering (RE) overview Limitations of current
Middleware support for the Internet of Things
Middleware support for the Internet of Things Karl Aberer, Manfred Hauswirth, Ali Salehi School of Computer and Communication Sciences Ecole Polytechnique Fédérale de Lausanne (EPFL) CH-1015 Lausanne,
G-SPARQL: A Hybrid Engine for Querying Large Attributed Graphs
G-SPARQL: A Hybrid Engine for Querying Large Attributed Graphs Sherif Sakr National ICT Australia UNSW, Sydney, Australia [email protected] Sameh Elnikety Microsoft Research Redmond, WA, USA [email protected]
Regular Expressions and Automata using Haskell
Regular Expressions and Automata using Haskell Simon Thompson Computing Laboratory University of Kent at Canterbury January 2000 Contents 1 Introduction 2 2 Regular Expressions 2 3 Matching regular expressions
Natural Language to Relational Query by Using Parsing Compiler
Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology IJCSMC, Vol. 4, Issue. 3, March 2015,
Parsing Technology and its role in Legacy Modernization. A Metaware White Paper
Parsing Technology and its role in Legacy Modernization A Metaware White Paper 1 INTRODUCTION In the two last decades there has been an explosion of interest in software tools that can automate key tasks
GRAPH DATABASE SYSTEMS. h_da Prof. Dr. Uta Störl Big Data Technologies: Graph Database Systems - SoSe 2016 1
GRAPH DATABASE SYSTEMS h_da Prof. Dr. Uta Störl Big Data Technologies: Graph Database Systems - SoSe 2016 1 Use Case: Route Finding Source: Neo Technology, Inc. h_da Prof. Dr. Uta Störl Big Data Technologies:
Building a Question Classifier for a TREC-Style Question Answering System
Building a Question Classifier for a TREC-Style Question Answering System Richard May & Ari Steinberg Topic: Question Classification We define Question Classification (QC) here to be the task that, given
An Ontology Based Method to Solve Query Identifier Heterogeneity in Post- Genomic Clinical Trials
ehealth Beyond the Horizon Get IT There S.K. Andersen et al. (Eds.) IOS Press, 2008 2008 Organizing Committee of MIE 2008. All rights reserved. 3 An Ontology Based Method to Solve Query Identifier Heterogeneity
CS 598CSC: Combinatorial Optimization Lecture date: 2/4/2010
CS 598CSC: Combinatorial Optimization Lecture date: /4/010 Instructor: Chandra Chekuri Scribe: David Morrison Gomory-Hu Trees (The work in this section closely follows [3]) Let G = (V, E) be an undirected
Lecture 16 : Relations and Functions DRAFT
CS/Math 240: Introduction to Discrete Mathematics 3/29/2011 Lecture 16 : Relations and Functions Instructor: Dieter van Melkebeek Scribe: Dalibor Zelený DRAFT In Lecture 3, we described a correspondence
DIABLO VALLEY COLLEGE CATALOG 2014-2015
COMPUTER SCIENCE COMSC The computer science department offers courses in three general areas, each targeted to serve students with specific needs: 1. General education students seeking a computer literacy
16.1 MAPREDUCE. For personal use only, not for distribution. 333
For personal use only, not for distribution. 333 16.1 MAPREDUCE Initially designed by the Google labs and used internally by Google, the MAPREDUCE distributed programming model is now promoted by several
bigdata Managing Scale in Ontological Systems
Managing Scale in Ontological Systems 1 This presentation offers a brief look scale in ontological (semantic) systems, tradeoffs in expressivity and data scale, and both information and systems architectural
Associate Professor, Department of CSE, Shri Vishnu Engineering College for Women, Andhra Pradesh, India 2
Volume 6, Issue 3, March 2016 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Special Issue
Extending Data Processing Capabilities of Relational Database Management Systems.
Extending Data Processing Capabilities of Relational Database Management Systems. Igor Wojnicki University of Missouri St. Louis Department of Mathematics and Computer Science 8001 Natural Bridge Road
Lightweight Data Integration using the WebComposition Data Grid Service
Lightweight Data Integration using the WebComposition Data Grid Service Ralph Sommermeier 1, Andreas Heil 2, Martin Gaedke 1 1 Chemnitz University of Technology, Faculty of Computer Science, Distributed
Midterm Practice Problems
6.042/8.062J Mathematics for Computer Science October 2, 200 Tom Leighton, Marten van Dijk, and Brooke Cowan Midterm Practice Problems Problem. [0 points] In problem set you showed that the nand operator
COMBINATORIAL PROPERTIES OF THE HIGMAN-SIMS GRAPH. 1. Introduction
COMBINATORIAL PROPERTIES OF THE HIGMAN-SIMS GRAPH ZACHARY ABEL 1. Introduction In this survey we discuss properties of the Higman-Sims graph, which has 100 vertices, 1100 edges, and is 22 regular. In fact
Object-Oriented Databases db4o: Part 2
Object-Oriented Databases db4o: Part 2 Configuration and Tuning Distribution and Replication Callbacks and Translators 1 Summary: db4o Part 1 Managing databases with an object container Retrieving objects
Managing Variability in Software Architectures 1 Felix Bachmann*
Managing Variability in Software Architectures Felix Bachmann* Carnegie Bosch Institute Carnegie Mellon University Pittsburgh, Pa 523, USA [email protected] Len Bass Software Engineering Institute Carnegie
3. Mathematical Induction
3. MATHEMATICAL INDUCTION 83 3. Mathematical Induction 3.1. First Principle of Mathematical Induction. Let P (n) be a predicate with domain of discourse (over) the natural numbers N = {0, 1,,...}. If (1)
Rotorcraft Health Management System (RHMS)
AIAC-11 Eleventh Australian International Aerospace Congress Rotorcraft Health Management System (RHMS) Robab Safa-Bakhsh 1, Dmitry Cherkassky 2 1 The Boeing Company, Phantom Works Philadelphia Center
Software Life-Cycle Management
Ingo Arnold Department Computer Science University of Basel Theory Software Life-Cycle Management Architecture Styles Overview An Architecture Style expresses a fundamental structural organization schema
Cloud Computing and Advanced Relationship Analytics
Cloud Computing and Advanced Relationship Analytics Using Objectivity/DB to Discover the Relationships in your Data By Brian Clark Vice President, Product Management Objectivity, Inc. 408 992 7136 [email protected]
Extend Table Lens for High-Dimensional Data Visualization and Classification Mining
Extend Table Lens for High-Dimensional Data Visualization and Classification Mining CPSC 533c, Information Visualization Course Project, Term 2 2003 Fengdong Du [email protected] University of British Columbia
What is a database? COSC 304 Introduction to Database Systems. Database Introduction. Example Problem. Databases in the Real-World
COSC 304 Introduction to Systems Introduction Dr. Ramon Lawrence University of British Columbia Okanagan [email protected] What is a database? A database is a collection of logically related data for
Service Oriented Architecture
Service Oriented Architecture Charlie Abela Department of Artificial Intelligence [email protected] Last Lecture Web Ontology Language Problems? CSA 3210 Service Oriented Architecture 2 Lecture Outline
An Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases
An Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases Paul L. Bergstein, Priyanka Gariba, Vaibhavi Pisolkar, and Sheetal Subbanwad Dept. of Computer and Information Science,
Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications
Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications White Paper Table of Contents Overview...3 Replication Types Supported...3 Set-up &
How to Choose Between Hadoop, NoSQL and RDBMS
How to Choose Between Hadoop, NoSQL and RDBMS Keywords: Jean-Pierre Dijcks Oracle Redwood City, CA, USA Big Data, Hadoop, NoSQL Database, Relational Database, SQL, Security, Performance Introduction A
Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics:
Organization of DSLE part Domain Specific Language Engineering Tooling Eclipse plus EMF Xtext, Xtend, Xpand, QVTo and ATL Prof.dr. Mark van den Brand GLT 2010/11 Topics: Meta-modeling Model transformations
Unified XML/relational storage March 2005. The IBM approach to unified XML/relational databases
March 2005 The IBM approach to unified XML/relational databases Page 2 Contents 2 What is native XML storage? 3 What options are available today? 3 Shred 5 CLOB 5 BLOB (pseudo native) 6 True native 7 The
Secure Semantic Web Service Using SAML
Secure Semantic Web Service Using SAML JOO-YOUNG LEE and KI-YOUNG MOON Information Security Department Electronics and Telecommunications Research Institute 161 Gajeong-dong, Yuseong-gu, Daejeon KOREA
InfiniteGraph: The Distributed Graph Database
A Performance and Distributed Performance Benchmark of InfiniteGraph and a Leading Open Source Graph Database Using Synthetic Data Objectivity, Inc. 640 West California Ave. Suite 240 Sunnyvale, CA 94086
Log Analysis Software Architecture
Log Analysis Software Architecture Contents 1 Introduction 1 2 Definitions 2 3 Software goals 2 4 Requirements 2 4.1 User interaction.......................................... 3 4.2 Log file reading..........................................
RARP: Reverse Address Resolution Protocol
SFWR 4C03: Computer Networks and Computer Security January 19-22 2004 Lecturer: Kartik Krishnan Lectures 7-9 RARP: Reverse Address Resolution Protocol When a system with a local disk is bootstrapped it
Semantic Analysis: Types and Type Checking
Semantic Analysis Semantic Analysis: Types and Type Checking CS 471 October 10, 2007 Source code Lexical Analysis tokens Syntactic Analysis AST Semantic Analysis AST Intermediate Code Gen lexical errors
Transparent Redirection of Network Sockets 1
Transparent Redirection of Network Sockets Timothy S. Mitrovich, Kenneth M. Ford, and Niranjan Suri Institute for Human & Machine Cognition University of West Florida {tmitrovi,kford,[email protected].
Data Grids. Lidan Wang April 5, 2007
Data Grids Lidan Wang April 5, 2007 Outline Data-intensive applications Challenges in data access, integration and management in Grid setting Grid services for these data-intensive application Architectural
Component visualization methods for large legacy software in C/C++
Annales Mathematicae et Informaticae 44 (2015) pp. 23 33 http://ami.ektf.hu Component visualization methods for large legacy software in C/C++ Máté Cserép a, Dániel Krupp b a Eötvös Loránd University [email protected]
The EMSX Platform. A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks. A White Paper.
The EMSX Platform A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks A White Paper November 2002 Abstract: The EMSX Platform is a set of components that together provide
Open-Source, Cross-Platform Java Tools Working Together on a Dialogue System
Open-Source, Cross-Platform Java Tools Working Together on a Dialogue System Oana NICOLAE Faculty of Mathematics and Computer Science, Department of Computer Science, University of Craiova, Romania [email protected]
A Platform for Supporting Data Analytics on Twitter: Challenges and Objectives 1
A Platform for Supporting Data Analytics on Twitter: Challenges and Objectives 1 Yannis Stavrakas Vassilis Plachouras IMIS / RC ATHENA Athens, Greece {yannis, vplachouras}@imis.athena-innovation.gr Abstract.
So today we shall continue our discussion on the search engines and web crawlers. (Refer Slide Time: 01:02)
Internet Technology Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No #39 Search Engines and Web Crawler :: Part 2 So today we
International Journal of Scientific & Engineering Research, Volume 4, Issue 11, November-2013 5 ISSN 2229-5518
International Journal of Scientific & Engineering Research, Volume 4, Issue 11, November-2013 5 INTELLIGENT MULTIDIMENSIONAL DATABASE INTERFACE Mona Gharib Mohamed Reda Zahraa E. Mohamed Faculty of Science,
Building Web-based Infrastructures for Smart Meters
Building Web-based Infrastructures for Smart Meters Andreas Kamilaris 1, Vlad Trifa 2, and Dominique Guinard 2 1 University of Cyprus, Nicosia, Cyprus 2 ETH Zurich and SAP Research, Switzerland Abstract.
æ A collection of interrelated and persistent data èusually referred to as the database èdbèè.
CMPT-354-Han-95.3 Lecture Notes September 10, 1995 Chapter 1 Introduction 1.0 Database Management Systems 1. A database management system èdbmsè, or simply a database system èdbsè, consists of æ A collection
Lecture 17 : Equivalence and Order Relations DRAFT
CS/Math 240: Introduction to Discrete Mathematics 3/31/2011 Lecture 17 : Equivalence and Order Relations Instructor: Dieter van Melkebeek Scribe: Dalibor Zelený DRAFT Last lecture we introduced the notion
Programming Languages
Programming Languages Programming languages bridge the gap between people and machines; for that matter, they also bridge the gap among people who would like to share algorithms in a way that immediately
THE SEMANTIC WEB AND IT`S APPLICATIONS
15-16 September 2011, BULGARIA 1 Proceedings of the International Conference on Information Technologies (InfoTech-2011) 15-16 September 2011, Bulgaria THE SEMANTIC WEB AND IT`S APPLICATIONS Dimitar Vuldzhev
Basics of Dimensional Modeling
Basics of Dimensional Modeling Data warehouse and OLAP tools are based on a dimensional data model. A dimensional model is based on dimensions, facts, cubes, and schemas such as star and snowflake. Dimensional
Lecture 1: Course overview, circuits, and formulas
Lecture 1: Course overview, circuits, and formulas Topics in Complexity Theory and Pseudorandomness (Spring 2013) Rutgers University Swastik Kopparty Scribes: John Kim, Ben Lund 1 Course Information Swastik
Chapter 13: Query Processing. Basic Steps in Query Processing
Chapter 13: Query Processing! Overview! Measures of Query Cost! Selection Operation! Sorting! Join Operation! Other Operations! Evaluation of Expressions 13.1 Basic Steps in Query Processing 1. Parsing
Big Data looks Tiny from the Stratosphere
Volker Markl http://www.user.tu-berlin.de/marklv [email protected] Big Data looks Tiny from the Stratosphere Data and analyses are becoming increasingly complex! Size Freshness Format/Media Type
Oracle BI 11g R1: Build Repositories
Oracle University Contact Us: 1.800.529.0165 Oracle BI 11g R1: Build Repositories Duration: 5 Days What you will learn This Oracle BI 11g R1: Build Repositories training is based on OBI EE release 11.1.1.7.
Meta Model Based Integration of Role-Based and Discretionary Access Control Using Path Expressions
Meta Model Based Integration of Role-Based and Discretionary Access Control Using Path Expressions Kathrin Lehmann, Florian Matthes Chair for Software Engineering for Business Information Systems Technische
BUSINESS VALUE OF SEMANTIC TECHNOLOGY
BUSINESS VALUE OF SEMANTIC TECHNOLOGY Preliminary Findings Industry Advisory Council Emerging Technology (ET) SIG Information Sharing & Collaboration Committee July 15, 2005 Mills Davis Managing Director
Structural Design Patterns Used in Data Structures Implementation
Structural Design Patterns Used in Data Structures Implementation Niculescu Virginia Department of Computer Science Babeş-Bolyai University, Cluj-Napoca email address: [email protected] November,
Turning Emergency Plans into Executable
Turning Emergency Plans into Executable Artifacts José H. Canós-Cerdá, Juan Sánchez-Díaz, Vicent Orts, Mª Carmen Penadés ISSI-DSIC Universitat Politècnica de València, Spain {jhcanos jsanchez mpenades}@dsic.upv.es
The World Wide Web as a Distributed Object System
The World Wide Web as a Distributed Object System Travis Olds School of Computer Science The University of Adelaide SA, 5005, Australia [email protected] Abstract This paper considers the idea of
FACULTY OF COMPUTER SCIENCE AND INFORMATION TECHNOLOGY AUTUMN 2016 BACHELOR COURSES
FACULTY OF COMPUTER SCIENCE AND INFORMATION TECHNOLOGY Please note! This is a preliminary list of courses for the study year 2016/2017. Changes may occur! AUTUMN 2016 BACHELOR COURSES DIP217 Applied Software
Generating SQL Queries Using Natural Language Syntactic Dependencies and Metadata
Generating SQL Queries Using Natural Language Syntactic Dependencies and Metadata Alessandra Giordani and Alessandro Moschitti Department of Computer Science and Engineering University of Trento Via Sommarive
Software Service Engineering Architect s Dream or Developer s Nightmare?
Software Service Engineering Architect s Dream or Developer s Nightmare? Gregor Hohpe Google, 1600 Amphitheatre Parkway, Mountain View, CA 94043 [email protected] Abstract. Architectural principles such
DLDB: Extending Relational Databases to Support Semantic Web Queries
DLDB: Extending Relational Databases to Support Semantic Web Queries Zhengxiang Pan (Lehigh University, USA [email protected]) Jeff Heflin (Lehigh University, USA [email protected]) Abstract: We
Semantics and Ontology of Logistic Cloud Services*
Semantics and Ontology of Logistic Cloud s* Dr. Sudhir Agarwal Karlsruhe Institute of Technology (KIT), Germany * Joint work with Julia Hoxha, Andreas Scheuermann, Jörg Leukel Usage Tasks Query Execution
LDIF - Linked Data Integration Framework
LDIF - Linked Data Integration Framework Andreas Schultz 1, Andrea Matteini 2, Robert Isele 1, Christian Bizer 1, and Christian Becker 2 1. Web-based Systems Group, Freie Universität Berlin, Germany [email protected],
FIPA agent based network distributed control system
FIPA agent based network distributed control system V.Gyurjyan, D. Abbott, G. Heyes, E. Jastrzembski, C. Timmer, E. Wolin TJNAF, Newport News, VA 23606, USA A control system with the capabilities to combine
Chapter 1. Dr. Chris Irwin Davis Email: [email protected] Phone: (972) 883-3574 Office: ECSS 4.705. CS-4337 Organization of Programming Languages
Chapter 1 CS-4337 Organization of Programming Languages Dr. Chris Irwin Davis Email: [email protected] Phone: (972) 883-3574 Office: ECSS 4.705 Chapter 1 Topics Reasons for Studying Concepts of Programming
ONTOLOGY BASED FEEDBACK GENERATION IN DESIGN- ORIENTED E-LEARNING SYSTEMS
ONTOLOGY BASED FEEDBACK GENERATION IN DESIGN- ORIENTED E-LEARNING SYSTEMS Harrie Passier and Johan Jeuring Faculty of Computer Science, Open University of the Netherlands Valkenburgerweg 177, 6419 AT Heerlen,
Quotes from Object-Oriented Software Construction
Quotes from Object-Oriented Software Construction Bertrand Meyer Prentice-Hall, 1988 Preface, p. xiv We study the object-oriented approach as a set of principles, methods and tools which can be instrumental
DYNAMIC QUERY FORMS WITH NoSQL
IMPACT: International Journal of Research in Engineering & Technology (IMPACT: IJRET) ISSN(E): 2321-8843; ISSN(P): 2347-4599 Vol. 2, Issue 7, Jul 2014, 157-162 Impact Journals DYNAMIC QUERY FORMS WITH
sql-schema-comparer: Support of Multi-Language Refactoring with Relational Databases
sql-schema-comparer: Support of Multi-Language Refactoring with Relational Databases Hagen Schink Institute of Technical and Business Information Systems Otto-von-Guericke-University Magdeburg, Germany
Paraphrasing controlled English texts
Paraphrasing controlled English texts Kaarel Kaljurand Institute of Computational Linguistics, University of Zurich [email protected] Abstract. We discuss paraphrasing controlled English texts, by defining
Graph Database Proof of Concept Report
Objectivity, Inc. Graph Database Proof of Concept Report Managing The Internet of Things Table of Contents Executive Summary 3 Background 3 Proof of Concept 4 Dataset 4 Process 4 Query Catalog 4 Environment
SQL VS. NO-SQL. Adapted Slides from Dr. Jennifer Widom from Stanford
SQL VS. NO-SQL Adapted Slides from Dr. Jennifer Widom from Stanford 55 Traditional Databases SQL = Traditional relational DBMS Hugely popular among data analysts Widely adopted for transaction systems
A Non-Linear Schema Theorem for Genetic Algorithms
A Non-Linear Schema Theorem for Genetic Algorithms William A Greene Computer Science Department University of New Orleans New Orleans, LA 70148 bill@csunoedu 504-280-6755 Abstract We generalize Holland
[Refer Slide Time: 05:10]
Principles of Programming Languages Prof: S. Arun Kumar Department of Computer Science and Engineering Indian Institute of Technology Delhi Lecture no 7 Lecture Title: Syntactic Classes Welcome to lecture
Visualizing WordNet Structure
Visualizing WordNet Structure Jaap Kamps Abstract Representations in WordNet are not on the level of individual words or word forms, but on the level of word meanings (lexemes). A word meaning, in turn,
Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students
Eastern Washington University Department of Computer Science Questionnaire for Prospective Masters in Computer Science Students I. Personal Information Name: Last First M.I. Mailing Address: Permanent
Symbol Tables. Introduction
Symbol Tables Introduction A compiler needs to collect and use information about the names appearing in the source program. This information is entered into a data structure called a symbol table. The
Design Patterns in Parsing
Abstract Axel T. Schreiner Department of Computer Science Rochester Institute of Technology 102 Lomb Memorial Drive Rochester NY 14623-5608 USA [email protected] Design Patterns in Parsing James E. Heliotis
Efficient Data Structures for Decision Diagrams
Artificial Intelligence Laboratory Efficient Data Structures for Decision Diagrams Master Thesis Nacereddine Ouaret Professor: Supervisors: Boi Faltings Thomas Léauté Radoslaw Szymanek Contents Introduction...
