Language-Oriented Programming Via Dsl Stacking

Total Page:16

File Type:pdf, Size:1020Kb

Language-Oriented Programming Via Dsl Stacking LANGUAGE-ORIENTED PROGRAMMING VIA DSL STACKING Bernhard G. Humm Darmstadt University of Applied Sciences, Department of Computer Science, Darmstadt, Germany Ralf S. Engelschall Capgemini sd&m Research, Munich, Germany Keywords: Language-oriented programming, Extensible programming languages, Domain-specific languages, Meta pro- gramming, Semantic web, Business information systems, Lisp. Abstract: According to the paradigm of Language-Oriented Programming, an application for a problem should be im- plemented in the most appropriate domain-specific language (DSL). This paper introduces DSL stacking, an efficient method for implementing Language-Oriented Programming where DSLs and general-purpose lan- guages are incrementally developed on top of a base language. This is demonstrated with components of a business information system that are implemented in different DSLs for Semantic Web technology in Lisp. 1 INTRODUCTION purpose. Like all software engineering paradigms, When analyzing large-scale commercial IT projects Language-Oriented Programming ultimately serves today, you usually find that five or even more lan- one goal: to allow for developing applications of guages are being used – even in a “pure Java project” high-quality at reasonable cost. To this end, which if you take a closer look. HTML and JavaScript may criteria do we expect from a DSL most appropriate be used for GUI programing, SQL or EJBQL for for a particular domain and why? database accesses, UML for data modeling, Perl for Sufficient Semantic Expressiveness. The DSL the UML to Java generator, BPEL for process logic must allow to express logic necessary for the and several XML dialects for configuration. Why respective application domain directly in the would projects put up with the high costs of hetero- language, e.g., rules in a knowledge-based geneity? This is because different problem domains system. This is necessary for implementing the require different language constructs. application at all. This is the main idea of a paradigm called Language-Oriented Programming (Ward, 1994; Conciseness and Comprehensibility. Statements Fowler, 2005; Dmitriev, 2005; Brauer et al., 2008). should be expressed adequately, i.e., as concisely It can be briefly summarized as follows. When you and comprehensibly as possible. Boilerplate code have to solve a complex problem, first choose – should be avoided. Inadequate representation has or, if necessary, develop – a language that is most several drawbacks. Firstly, developing unneces- appropriate for the problem. Then, implement the sarily voluminous code increases the costs for de- solution in this language. veloping the application. Even higher are the In most publications today, such a language follow-up costs for maintenance. Secondly, the is called a Domain-Specific Language (DSL) (van quality of the solution decreases since errors can- Deursen et al., 2000) – see Sect. 5.2. Earlier pub- not be detected as easily. The more adequate the lications use the term Problem-Oriented Language representation – i.e., the closer to the problem do- (Goldfinger, 1961). In this paper we stick to the term main – the more problem domain experts can be DSL although it shall be noted that the problem area involved in the development. does not have to be a business domain and the lan- Integration. It must be possible to integrate the DSL guage may be more or less specific, depending on its application with other applications, possibly im- 279 G. Humm B. and S. Engelschall R. (2010). LANGUAGE-ORIENTED PROGRAMMING VIA DSL STACKING. In Proceedings of the 5th International Conference on Software and Data Technologies, pages 279-287 DOI: 10.5220/0002925402790287 Copyright c SciTePress ICSOFT 2010 - 5th International Conference on Software and Data Technologies plemented in other DSLs. This includes invoca- DSLs. The Unix little languages like AWK (Aho tion at run-time and, ideally, integrated develop- et al., 1988) or make (Feldman, 1979) are examples ment including integrated debugging. Integration of DSLs. is mandatory if the DSL application is a compo- Recently, there have evolved a number of nent of a larger application, e.g., a business infor- Language-Oriented Programming initiatives. Apart mation system. Integrated development decreases from OMG’s MDA initiative these are the STEPS development costs, particularly for testing and de- project (Kay et al., 2008), Microsoft’s “Software bugging. Factories” (Greenfield, 2004), “Intentional Program- Performance. Applications implemented in the DSL ming” (Simonyi et al., 2006) and the “Meta- must meet the respective performance require- Programming System” (Dmitriev, 2005). In those ments. publications, the term “language workbench” is used as an integrated environment to design and implement Those aspects help the application developer (de- DSLs and to program applications in those DSLs. signer and implementer). Language-Oriented Pro- Additionally, a number of new extensible pro- graming adds another role: the language developer gramming languages like F#, Ruby, Groovy, and (designer and implementer). The following aspect Scala have evolved in the last decade. They explicitly helps the language developer. provide features for language-oriented programming Efficient DSL Development. The design, imple- like Groovy’s Meta-Object Protocol (MOP). mentation including validation logic, testing, and Two approaches to Language-Oriented Program- maintenance of DSLs should be as efficient as ming can be distinguished: external DSLs and inter- possible. Efficient DSL development directly af- nal DSLs (Fowler, 2005). fects the total development cost. Internal DSLs are idiomatic ways of writing higher- In this paper, we present a method for Language- level language code in the host language of the Oriented Programming called DSL Stacking. DSL application (“base language” – see Sect. 5.2) stacking may meet all the criteria described above. directly. Example: AllegroProlog, a Prolog We demonstrate this with a sample Lisp application (Clocksin and Mellish, 1987) implementation by using Semantic Web technology in the insurance busi- Franz Inc. fully integrated in Lisp that allows Pro- ness. log programming in Lisp notation. The extensible This article is structured as follows. Sect. 2 and programming language initiatives all fall into this 3 give an overview of Language-Oriented Program- category. ming, Semantic Web technology, the insurance sam- External DSLs are different from the base language. ple and Lisp. In Sect. 4 we present a family of DSLs DSL programs are scanned, parsed and trans- for applying Semantic Web technology in the insur- formed into the base language using some form of ance business. Sect. 5 explains the concept of DSL compiler or interpreter. Example: a BPEL (OA- stacking. In Sect. 6, we discuss the results. Sect. 7 SIS, 2007) engine parses XML code and trans- concludes this article. forms it into data structures of a programming lan- guage like Java. The Unix little languages and MDA fall into this category. External DSLs may be embedded in a host language, e.g., as strings, 2 LANGUAGE-ORIENTED or may be programmed in separate files. PROGRAMMING In this paper, we focus on internal DSLs. The term Language-Oriented Programming (Ward, 1994; Fowler, 2005; Dmitriev, 2005; Brauer et al., 2008) has already been used for a number of years. 3 SAMPLE DOMAIN: SEMANTIC The idea, however, is even much older and has been WEB TECHNOLOGY IN THE around since the invention of the first high-level pro- gramming languages. There have been a number INSURANCE BUSINESS of extensible language initiatives in the 1960 and 1970s, e.g, translator writing systems like “The Syn- 3.1 Semantic Web Standards tax Directed Compiler” (Irons, 1961) or extensible programming languages like Lisp (McCarthy, 1960), The World Wide Web Consortium (W3C) has stan- IMP (Irons, 1970), and Smalltalk-72 (Kay, 1993). dardized a number of languages under the term “Se- Extensible languages facilitate the development of mantic Web” (Berners-Lee et al., 2001). The lan- 280 LANGUAGE-ORIENTED PROGRAMMING VIA DSL STACKING guages are based on the technologies XML and URI. insurance-example#Heart-Stroke"> The main Semantic Web standards are as follows </rdf:Description> (World Wide Web Consortium (W3C), 2010). </ins:has-disease> </rdf:Description> RDF (Resource Description Framework) is the ba- </rdf:RDF> sic Semantic Web modeling language. The funda- Ten lines of XML code are necessary for expressing mental data structure is a triple consisting of sub- a simple triple. With this verbose code, RDF/XML ject, predicate, and object. is certainly no adequate representation for Semantic RDF-S (RDF Schema) builds on top of RDF adding Web programming. Other representations more or the concepts of classes and properties. less alleviate shortcomings of RDF/XML to provide a more concise and human-comprehensible form – one OWL (Web Ontology Language) builds on top of of the main concerns of Language-Oriented Program- RDF-S and adds expressive set-based logic. ming. SPARQL (SPARQL Protocol and RDF Query Lan- guage) allows for querying RDF-S and OWL 3.4 Business Domain: Insurance statements. We have developed a family of DSLs and have imple- 3.2 RDF Triples mented an insurance example application using those DSLs. The example is about issuing disability insur- The triple is the basic yet powerful data structure of ance. The customer interested in a disability insur- RDF. Every triple consists of subject, predicate, and ance must provide, apart from personal data, infor- object. See Figure 1. It allows for basic statements mation about employment, financial situation, health, like “Peter has an income of $ 65,000”. It further- and lifestyle. Based on this situation, the applica- more allows statements about class / instance rela- tion will perform a customer rating. For example, se- tionships as in “Peter is a Person” and “Person is a vere diseases present in the family history may lead to Class”. It also allows statements about properties like the decision of not offering a policy to the applicant. “has-income is a Property”. Based on the rating, the application automatically ac- cepts or declines the application or involves human Peter has-income 65,000 intervention.
Recommended publications
  • Franz's Allegrograph 7.1 Accelerates Complex Reasoning Across
    Franz’s AllegroGraph 7.1 Accelerates Complex Reasoning Across Massive, Distributed Knowledge Graphs and Data Fabrics Distributed FedShard Queries Improved 10X. New SPARQL*, RDF* and SHACL Features Added. Lafayette, Calif., February 8, 2021 — Franz Inc., an early innovator in Artificial Intelligence (AI) and leading supplier of Graph Database technology for AI Knowledge Graph Solutions, today announced AllegroGraph 7.1, which provides optimizations for deeply complex queries across FedShard™ deployments – making complex reasoning up to 10X faster. AllegroGraph with FedShard offers a breakthrough solution that allows infinite data integration through a patented approach unifying all data and siloed knowledge into an Entity-Event Knowledge Graph solution for Enterprise scale analytics. AllegroGraph’s unique capabilities drive 360-degree insights and enable complex reasoning across enterprise-wide Knowledge Fabrics in Healthcare, Media, Smart Call Centers, Pharmaceuticals, Financial and much more. “The proliferation of Artificial Intelligence has resulted in the need for increasingly complex queries over more data,” said Dr. Jans Aasman, CEO of Franz Inc. “AllegroGraph 7.1 addresses two of the most daunting challenges in AI – continuous data integration and the ability to query across all the data. With this new version of AllegroGraph, organizations can create Data Fabrics underpinned by AI Knowledge Graphs that take advantage of the infinite data integration capabilities possible with our FedShard technology and the ability to query across
    [Show full text]
  • Using Microsoft Power BI with Allegrograph,Knowledge Graphs Rise
    Using Microsoft Power BI with AllegroGraph There are multiple methods to integrate AllegroGraph SPARQL results into Microsoft Power BI. In this document we describe two best practices to automate queries and refresh results if you have a production AllegroGraph database with new streaming data: The first method uses Python scripts to feed Power BI. The second method issues SPARQL queries directly from Power BI using POST requests. Method 1: Python Script: Assuming you know Python and have it installed locally, this is definitely the easiest way to incorporate SPARQL results into Power BI. The basic idea of the method is as follows: First, the Python script enables a connection to your desired AllegroGraph repository. Then we utilize AllegroGraph’s Python API within our script to run a SPARQL query and return it as a Pandas dataframe. When running this script within Power BI Desktop, the Python scripting service recognizes all unique dataframes created, and allows you to import the dataframe into Power BI as a table, which can then be used to create visualizations. Requirements: 1. You must have the AllegroGraph Python API installed. If you do not, installation instructions are here: https://franz.com/agraph/support/documentation/current/p ython/install.html 2. Python scripting must be enabled in Power BI Desktop. Instructions to do so are here: https://docs.microsoft.com/en-us/power-bi/connect-data/d esktop-python-scripts a) As mentioned in the article, pandas and matplotlib must be installed. This can be done with ‘pip install pandas’ and ‘pip install matplotlib’ in your terminal.
    [Show full text]
  • Practical Semantic Web and Linked Data Applications
    Practical Semantic Web and Linked Data Applications Common Lisp Edition Uses the Free Editions of Franz Common Lisp and AllegroGraph Mark Watson Copyright 2010 Mark Watson. All rights reserved. This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works Version 3.0 United States License. November 3, 2010 Contents Preface xi 1. Getting started . xi 2. Portable Common Lisp Code Book Examples . xii 3. Using the Common Lisp ASDF Package Manager . xii 4. Information on the Companion Edition to this Book that Covers Java and JVM Languages . xiii 5. AllegroGraph . xiii 6. Software License for Example Code in this Book . xiv 1. Introduction 1 1.1. Who is this Book Written For? . 1 1.2. Why a PDF Copy of this Book is Available Free on the Web . 3 1.3. Book Software . 3 1.4. Why Graph Data Representations are Better than the Relational Database Model for Dealing with Rapidly Changing Data Requirements . 4 1.5. What if You Use Other Programming Languages Other Than Lisp? . 4 2. AllegroGraph Embedded Lisp Quick Start 7 2.1. Starting AllegroGraph . 7 2.2. Working with RDF Data Stores . 8 2.2.1. Creating Repositories . 9 2.2.2. AllegroGraph Lisp Reader Support for RDF . 10 2.2.3. Adding Triples . 10 2.2.4. Fetching Triples by ID . 11 2.2.5. Printing Triples . 11 2.2.6. Using Cursors to Iterate Through Query Results . 13 2.2.7. Saving Triple Stores to Disk as XML, N-Triples, and N3 . 14 2.3. AllegroGraph’s Extensions to RDF .
    [Show full text]
  • Gábor Melis to Keynote European Lisp Symposium
    Gábor Melis to Keynote European Lisp Symposium OAKLAND, Calif. — April 14, 2014 —Franz Inc.’s Senior Engineer, Gábor Melis, will be a keynote speaker at the 7th annual European Lisp Symposium (ELS’14) this May in Paris, France. The European Lisp Symposium provides a forum for the discussion and dissemination of all aspects of design, implementationand application of any of the Lisp and Lisp- inspired dialects, including Common Lisp, Scheme, Emacs Lisp, AutoLisp, ISLISP, Dylan, Clojure, ACL2, ECMAScript, Racket, SKILL, Hop etc. Sending Beams into the Parallel Cube A pop-scientific look through the Lisp lens at machine learning, parallelism, software, and prize fighting We send probes into the topic hypercube bounded by machine learning, parallelism, software and contests, demonstrate existing and sketch future Lisp infrastructure, pin the future and foreign arrays down. We take a seemingly random walk along the different paths, watch the scenery of pairwise interactions unfold and piece a puzzle together. In the purely speculative thread, we compare models of parallel computation, keeping an eye on their applicability and lisp support. In the the Python and R envy thread, we detail why lisp could be a better vehicle for scientific programming and how high performance computing is eroding lisp’s largely unrealized competitive advantages. Switching to constructive mode, a basic data structure is proposed as a first step. In the machine learning thread, lisp’s unparalleled interactive capabilities meet contests, neural networks cross threads and all get in the way of the presentation. Video Presentation About Gábor Melis Gábor Melis is a consultant at Franz Inc.
    [Show full text]
  • Evaluation of Current RDF Database Solutions
    Evaluation of Current RDF Database Solutions Florian Stegmaier1, Udo Gr¨obner1, Mario D¨oller1, Harald Kosch1 and Gero Baese2 1 Chair of Distributed Information Systems University of Passau Passau, Germany [email protected] 2 Corporate Technology Siemens AG Munich, Germany [email protected] Abstract. Unstructured data (e.g., digital still images) is generated, distributed and stored worldwide at an ever increasing rate. In order to provide efficient annotation, storage and search capabilities among this data and XML based description formats, data stores and query languages have been introduced. As XML lacks on expressing semantic meanings and coherences, it has been enhanced by the Resource Descrip- tion Format (RDF) and the associated query language SPARQL. In this context, the paper evaluates currently existing RDF databases that support the SPARQL query language by the following means: gen- eral features such as details about software producer and license infor- mation, architectural comparison and efficiency comparison of the inter- pretation of SPARQL queries on a scalable test data set. 1 Introduction The production of unstructured data especially in the multimedia domain is overwhelming. For instance, recent studies3 report that 60% of today's mobile multimedia devices equipped with an image sensor, audio support and video playback have basic multimedia functionalities, almost nine out of ten in the year 2011. In this context, the annotation of unstructured data has become a necessity in order to increase retrieval efficiency during search. In the last couple of years, the Extensible Markup Language (XML) [16], due to its interoperability features, has become a de-facto standard as a basis for the use of description formats in various domains.
    [Show full text]
  • Enhance Entity Extraction Using an RDF Store
    Enhance Entity Extraction Using an RDF Store Jans Aasman, Franz Inc., 2201 Broadway, Suite 715 Oakland, CA 94612, USA www.franz.com [email protected] Rita Joseph Expert System, 1464 Waggaman Circle McLean, VA 22101, USA www.expertsystem.net [email protected] Abstract. Using robust entity extraction technology allows for the automatic comprehension of words, sentences, paragraphs and whole documents. Categorization, extraction, domain establishment, taxonomy and ontology creation can then be built upon a semantic technology infra-structure to exploit the capabilities provided in OWL and RDF. This technology brings value to the intelligence community by allowing users to find, discover and create structured knowledge connections from what were previously unstructured information sets. The presentation “Enhance Entity Extraction Using an RDF Store” will demonstrate how to represent output from Expert System’s Cogito entity extractor in a Franz AllegroGraph RDF database, and perform reasoning along with visually generated SPARQL queries. We will demonstrate a new product called TexTriples that combines professional entity extraction, a scalable triple-store, and intelligent web spidering. We will show how TexTriples collects thousands of articles from newspapers and blogs, and processes them through Cogito to create RDF triples for use in AllegroGraph. The presentation will discuss tips and techniques in dealing with these representations, demonstrate how to relate entities to Linked Data such as DBpedia, Scalability, and finally we will perform a number of queries on the resulting triple store data using some straight forward inferencing. Keywords: entity extraction, RDF, OWL, taxonomy, ontology, SPARQL, Semantic Web 1 Entity Extraction: Cogito’s Approach Cogito collects all the structural and lexical text aspects in order to comprehend natural language and understand the meanings of words and sentences.
    [Show full text]
  • Report on Allegrograph Rdfstore Submitted by Ruku Roychowdhury
    Report On AllegroGraph RDFStore Submitted By Ruku Roychowdhury Shagun Kariwala CSC 8711 Database and the Web Spring 2011 Table of content • Introduction • Allegrograph Features o Installation instructions o Allegrograph Architecture o Allegrograph Database • Allegrograph Triple Store o Creating a Triple store o Adding triples into Triple Store o Retrieving triples o Query on Triple Store o Deleting Triples • Gruff • Recent Projects in AllegroGraph • Conclusion • References Introduction :- Semantic web technology aim to build websites with sufficient self describing data so that computers can browse through them as easily humans can do.Allegrograph is a framework to develop semantic web applications.It is a high performance Graph Database to store this data and metadata in triple format. Allegrograph provides various query APIs to perform query on these triples. It also has its own built in RDFS++ reasoner but it is not complete.Allegrograph can be integrated to other powerful GUI based reasoner if more elaborated reasoning is required. Installation :- Allegrograph runs as a service. We have to install the server first and start the service. The latest version of Allegrograph Server, Allegrograph Server 4 runs natively on Linux x86-64 bit machine. It is advisable to to set up a Linux Virtual machine if we want to run it on other Operating Systems (Windows or MAC). Allegrograph 3.3 can run on 64-bit Mac, Windows, and Solaris, and all 32-bit systems. Allegrograph server can work with a large variety of programming interfaces like Java, Common Lisp and Prolog to name a few. Future editions of Allegrograph will also have interfaces for C# and Ruby.
    [Show full text]
  • Provenance Store Evaluation
    PNNL-17237 Provenance Store Evaluation PR Paulson TD Gibson KL Schuchardt EG Stephan March 2008 Prepared for the U.S. Department of Energy under Contract DE-AC05-76RL01830 DISCLAIMER This report was prepared as an account of work sponsored by an agency of the United States Government. Neither the United States Government nor any agency thereof, nor Battelle Memorial Institute, nor any of their employees, makes any warranty, express or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed, or represents that its use would not infringe privately owned rights. Reference herein to any specific commercial product, process, or service by trade name, trademark, manufacturer, or otherwise does not necessarily constitute or imply its endorsement, recommendation, or favoring by the United States Government or any agency thereof, or Battelle Memorial Institute. The views and opinions of authors expressed herein do not necessarily state or reflect those of the United States Government or any agency thereof. PACIFIC NORTHWEST NATIONAL LABORATORY operated by BATTELLE for the UNITED STATES DEPARTMENT OF ENERGY under Contract DE-AC05-76RL01830 Printed in the United States of America Available to DOE and DOE contractors from the Office of Scientific and Technical Information, P.O. Box 62, Oak Ridge, TN 37831-0062; ph: (865) 576-8401 fax: (865) 576-5728 email: [email protected] Available to the public from the National Technical Information Service, U.S. Department of Commerce, 5285 Port Royal Rd., Springfield, VA 22161 ph: (800) 553-6847 fax: (703) 605-6900 email: [email protected] online ordering: http://www.ntis.gov/ordering.htm PNNL-17237 Provenance Store Evaluation P Paulson T Gibson K Schuchardt E Stephan March 2008 Prepared for the U.S.
    [Show full text]
  • Semantic Components Product Sheet
    SEMANTIC COMPONENTS PRODUCT SHEET SEMANTIC COMPONENTS Semantic Components is a powerful suite of tools, designed as a bridge between Geospatial domain and Semantic Web/Linked Data/graph databases world. It allows import/export and analysis of combined graph and GIS data as well as direct access from geospatial platform to RDF sources, SPARQL endpoints and graph databases. DESIGN AND FUNCTIONALITY OVERVIEW The Semantic Component is robust tool designed as an extension to the proven GIS platform - Hexagon’s GeoMedia. It utilizes the power of most advanced RDF graph database - Franz’s AllegroGraph (some limited functionality available for other repositories compliant with W3C RDF and SPARQL e.g.: Sesame and Virtuoso). Semantic Components extends GeoMedia sophisticated visualization, analytic, and processing functionality with Linked Data and graph database access. KEY FEATURES • Creation of new Linked Data datasets and graph databases, • Import of Linked Data and graph data into the GeoMedia environment, • Visualization of imported data using sophisticated cartographic algorithms, • Combined graph/spatial analysis, • Enrichment of the Linked Data using vast number of GeoMedia processing tools, • Export and publishing of data into Linked Data cloud, • Direct access to graph databases, • Direct access to SPARQL endpoints. BENEFITS USERS • Simplifies the process of creation of Linked • Mapping agencies, Data from traditional data sources, • Open Data publishers, • Automates import of RDF and graph data into • General graph data users, GeoMedia workspace, • Geo-marketing firms, • Automates the process of spatial data • Civil and military intelligence, export into Linked Data with the capability of GeoSPARQL spatial representation, • Anti-fraud agencies, • Offers direct upload of converted spatial data • Data analysts, into other Linked Data solutions, • Data scientists.
    [Show full text]
  • Python Example,ГРАФОВЫЕ БАЗЫ
    Using Microsoft Power BI with AllegroGraph There are multiple methods to integrate AllegroGraph SPARQL results into Microsoft Power BI. In this document we describe two best practices to automate queries and refresh results if you have a production AllegroGraph database with new streaming data: The first method uses Python scripts to feed Power BI. The second method issues SPARQL queries directly from Power BI using POST requests. Method 1: Python Script: Assuming you know Python and have it installed locally, this is definitely the easiest way to incorporate SPARQL results into Power BI. The basic idea of the method is as follows: First, the Python script enables a connection to your desired AllegroGraph repository. Then we utilize AllegroGraph’s Python API within our script to run a SPARQL query and return it as a Pandas dataframe. When running this script within Power BI Desktop, the Python scripting service recognizes all unique dataframes created, and allows you to import the dataframe into Power BI as a table, which can then be used to create visualizations. Requirements: 1. You must have the AllegroGraph Python API installed. If you do not, installation instructions are here: https://franz.com/agraph/support/documentation/current/p ython/install.html 2. Python scripting must be enabled in Power BI Desktop. Instructions to do so are here: https://docs.microsoft.com/en-us/power-bi/connect-data/d esktop-python-scripts a) As mentioned in the article, pandas and matplotlib must be installed. This can be done with ‘pip install pandas’ and ‘pip install matplotlib’ in your terminal.
    [Show full text]
  • Allegrograph for Flexibility in the Enterprise and on the Web
    AllegroGraph for Flexibility in the Enterprise and on the Web Jans Aasman Franz Inc [email protected] What is a triple store (1 (2 3) (4 5) (6 7) (8 9) (10 11) (12 13) (14 15)(16 17) (18 19 20 21 22 23 24 27 28) (29 30)) How is it different and why is it more flexible? • No Schema . – Say whatever you want to say but – ontologies may constrain what you put in triple store • No Link Tables – because you can do one-to-many relationships directly • No Indexing Choices – add new data attributes (predicates) on-the-fly that will be real-time available for querying • Takes anything you give it: it is trivial to consume – Rows and columns from RDB, XML, RDF(S), OWL, Text and Extracted Entities And how is it the same • AllegroGraph has all the enterprise features of a relational database – 24/7, robust, real time processing – ACID, transactional – Replication, On-line Backup, Point in time recovery – High Availability – Many kinds of full text indexing – REST Protocol Why Triple Stores are here to stay. • There is now a standard for meta data or graphs – data representation: RDF/RDFS – logic and inferencing: RDFS/OWL –querying: SPARQL –rules: RuleML, Swirl • With vertical compression we can get this smaller than RDB • Comparable to RDB and NoSQL wrt speed and scalability • And an enormous impetus to share data via RDF Oct 2007 LOD cloud – Sept 22 2010 latest LOD cloud Just look at this But what about NoSQL? • And by that we mean – Cassandra – Hbase – CoucheDB – Etc.
    [Show full text]
  • Evaluation Criteria for RDF Triplestores with an Application to Allegrograph
    (IJACSA) International Journal of Advanced Computer Science and Applications, Vol. 11, No. 6, 2020 Evaluation Criteria for RDF Triplestores with an Application to Allegrograph Khadija Alaoui1, Mohamed Bahaj2 LITEN Lab, Faculty of Sciences and Techniques Hassan I University Settat, Morocco Abstract—Since its launching as the standard language of the others, SPARQL to SQL (Structured Query Language) query semantic web, the Resource Description Framework RDF has conversion overhead for RDF data querying, complex joins gained an enormous importance in many fields. This has led to processing imposed by the relational schema proposals for the appearance of a variety of data systems to store and process modeling RDF data, integration of other data sources and the RDF data. To help users identify the best suited RDF data stores handling of big amounts of data. To come up with solutions to for their needs, we establish a list of evaluation and comparison the relational problems with regards to RDF data handling, criteria of existing RDF management systems also called various RDF data management systems have been proposed triplestores. This is the first work addressing such topic for such during the past decade ranging from NoSQL (Not only SQL) triplestores. The criteria list highlights various aspects and is not based systems through native triplestores to Big Data solutions. limited to special stores but covers all types of stores including among others relational, native, centralized, distributed and big The aim of this work is to give a complete list of evaluation data stores. Furthermore, this criteria list is established taking and comparison criteria for RDF management systems.
    [Show full text]