RDF in the JRS Server

Total Page:16

File Type:pdf, Size:1020Kb

RDF in the JRS Server RDF in the JRS Server Simon Johnston, Martin Nally, Edison Ting May 16, 2008 This document describes the manner in which the JRS Server leverages, and exposes, RDF. JRS is not an RDF server, however it has made extensive use of RDF in the way in which it indexes resources and exposes indexed properties to client applications. This document covers not only the manner in which clients interact with this RDF view but the motivation for using RDF and some of the implementation details. 1 Motivation The Jazz REST Services (JRS) Server is a set of REST storage services that allow for the secure storage, indexing and query of resources supporting the development of Application Lifecycle Management (ALM) application clients. A JRS server should not make any restriction on the type or representation of resources1 stored, and yet indexing of resources does require knowledge of the “raw” format (XML vs. plain text for example) and specific domain schema (requirement XML vs. test case XML for example). To this end the workflow within JRS on the storage of resources is to invoke a set of indexer tasks that are raw format specific and which may be further configured with declarative rules for domain schema. For example the JRS server provides an image indexer that is able to extract EXIF2 properties from photographs and indexes a fixed subset, the XML indexer however must be configured by a client to extract specific elements and attributes using a set of XPath expressions. These indexer tasks are responsible for the extraction of properties from the resource which the JRS server then makes available for queries. In the design of the JRS server a number of particular needs were defined that effect the design of the indexer tasks and the server's persistence of index properties themselves. 1. The notion of an index property should be as simple as possible while still conveying useful information. 1We use the definitions of “resource” and “representation” from http://www.w3.org/TR/webarch/ (sec- tions 2.2 and 3.2) 2http://www.exif.org 1 2. Index properties should be retrievable for a given resource, that is the server should be able to answer the question “what index properties have been extracted from this resource”. 3. The representation of properties returned to a client should be in a standard format, if possible, rather than JRS inventing something new. 4. The server should support standard query languages that can operate on these index properties allowing client applications to perform complex queries. In the prototype server that pre-dates JRS the first concern above started us down a path of using key/value pairs and storing the value only as a string. This proved overly simple/restrictive firstly as we needed to ensure that properties could be correctly typed such that operators such as “>” and “<” would work correctly and also because in the case of XML resources some properties were attached to secondary resources3 within the resource and so needed to store this additional identifier. This led us to a design where we used the {subject, predicate, object} triple notion common in knowledge representation schemes, and an initial implementation known as the “universal table” where we stored all triples in a single database table. This single table led to terrible performance as any meaningful query resulted in many joins and simply did not scale. In JRS we changed the design such that each resource in the repository has it's own set of typed triples (types are limited to String, URI, Boolean, Integer and Timestamp). In the JRS Server it is possible to request a resource that contains the set of all index properties that are stored on a resource using the URI form “resource-uri?properties” where the query parameter “properties” will result in the return of a property document rather than the resource itself. It is also posible when executing a JRS simple query (that is a simple conjunctive, URL-encoded query) to request that not only the URL of a hit be returned but the properties of a hit also. This second form allows for client applications to query for resources and to return index properties such as name, content-type and so on allowing query results to be more appropriately rendered for a user. The initial format of this response was a custom format, which was unsatisfactory, and so we looked around for a more appropriate replacement. It seemed reasonable, as the internal format of the indexed properties was very much inspired by RDF4 that the RDF XML format be used in the representation of properties in queries described above. To this end we described a set of RDF generation patterns (described below) that the JRS server would use so that all our property documents would be returned in a regular manner. This move to an RDF XML representation also spurred us to remove the custom names we had used for certain system maintained properties, using a mixture of RDF and Dublin Core5, properties instead. The last step was to decide how to make these indexed properties more easily accessible and available for query by client applications. The resulting decision was to generate a 3See http://www.w3.org/TR/webarch/ section 3.2.2 4http://www.w3.org/RDF/ 5http://dublincore.org/documents/dcmi-terms/ 2 query service provided by JRS that allowed client applications to POST a query, in a standard query language, to the server and have it run against an “RDF Store”, that is against some collection of all the possible RDF documents used to describe the resources in the JRS repository. The key here is that the implementation of JRS could provide multiple such query languages and can choose to actually store the RDF as XML data or not; the details are not client visible. The benefit to the client is that the shape of this RDF store and the behavior of the query service are defined by the JRS specifications and so how the query service is implemented is immaterial as long as it conforms to these behavioral requirements. Putting all of these together we discovered that RDF has now taken a central role in our design; ANY resource stored in JRS regardless of it's representation has an associ- ated set of index properties (even if these are only the system defined properties) and these properties are accessible though the “?properties” request, the URL-encoded query and the RDF store query. As we expect client applications to make extensive use of links between resources and to define “virtual collections” of resources through standard queries, understanding these services are key to the development of JRS client applica- tions. The rest of this document describes the format of properties, the property and query APIs and finally some of the details of the current JRS implementation that uses DB2 PureXML. 2 Indexing and Properties This section describes the set of generation patterns used to express JRS indexed prop- erties in RDF. The reason for this document is to constrain the use of RDF to a set of patterns that can be expected by clients and therefore reduce the parsing re- quirements. All examples have been tested against the W3C (RDF Validation Service http://www.w3.org/RDF/Validator/) and written as a set of test cases with RDFLib http://rdflib.net. The examples in this section show indexes extracted from the more complete music example presented later in this paper. 2.1 General Patterns The following describe common patterns derived from patterns seen in indexes them- selves. 2.1.1 Empty Set of Index Properties The following is the representation returned for resources that either have not been indexed or for which no indexer contributed properties. This is the simplest form of RDF description document. <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="/jazz/resources/musicdb/albums/album-1"/> </ rdf:RDF > 3 Note that the rdf:RDF element is optional, according to RDF/XML Syntax Specifi- cation http://www.w3.org/TR/rdf-syntax-grammar/ section 2.6, we would prefer not to require this and so clients should not expect to receive the outer RDF tag. Users should note however that some validators, including the W3C online validation service DO require the outer RDF tag. To create a complete RDF/XML document, the serialization of the graph into XML is usually contained inside an rdf:RDF XML element which becomes the top-level XML document element. Conventionally the rdf:RDF element is also used to declare the XML namespaces that are used, although that is not required. When there is only one top-level node element inside rdf:RDF, the rdf:RDF can be omitted although any XML namespaces must still be declared. Therefore the basic form would be simpler, as in the following listing. <rdf:Description xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" rdf:about="/jazz/resources/musicdb/albums/album-1"/> 2.1.2 Simple Index Properties Once index properties have been stored for a resource, we see these encoded as true XML elements with the predicate name and namespace extracted by the indexer. The difference between this format and the current JRS indexer is that RDF makes a conscious and semantic distinction between literal values and resource links and this is reflected in the format as shown below. This form uses the RDF convention that stores literal values as element content but references to other resources with the URL as an attribute of the element (seen here in the difference between ns:name and ns:artist).
Recommended publications
  • A Comparative Evaluation of Geospatial Semantic Web Frameworks for Cultural Heritage
    heritage Article A Comparative Evaluation of Geospatial Semantic Web Frameworks for Cultural Heritage Ikrom Nishanbaev 1,* , Erik Champion 1,2,3 and David A. McMeekin 4,5 1 School of Media, Creative Arts, and Social Inquiry, Curtin University, Perth, WA 6845, Australia; [email protected] 2 Honorary Research Professor, CDHR, Sir Roland Wilson Building, 120 McCoy Circuit, Acton 2601, Australia 3 Honorary Research Fellow, School of Social Sciences, FABLE, University of Western Australia, 35 Stirling Highway, Perth, WA 6907, Australia 4 School of Earth and Planetary Sciences, Curtin University, Perth, WA 6845, Australia; [email protected] 5 School of Electrical Engineering, Computing and Mathematical Sciences, Curtin University, Perth, WA 6845, Australia * Correspondence: [email protected] Received: 14 July 2020; Accepted: 4 August 2020; Published: 12 August 2020 Abstract: Recently, many Resource Description Framework (RDF) data generation tools have been developed to convert geospatial and non-geospatial data into RDF data. Furthermore, there are several interlinking frameworks that find semantically equivalent geospatial resources in related RDF data sources. However, many existing Linked Open Data sources are currently sparsely interlinked. Also, many RDF generation and interlinking frameworks require a solid knowledge of Semantic Web and Geospatial Semantic Web concepts to successfully deploy them. This article comparatively evaluates features and functionality of the current state-of-the-art geospatial RDF generation tools and interlinking frameworks. This evaluation is specifically performed for cultural heritage researchers and professionals who have limited expertise in computer programming. Hence, a set of criteria has been defined to facilitate the selection of tools and frameworks.
    [Show full text]
  • V a Lida T in G R D F Da
    Series ISSN: 2160-4711 LABRA GAYO • ET AL GAYO LABRA Series Editors: Ying Ding, Indiana University Paul Groth, Elsevier Labs Validating RDF Data Jose Emilio Labra Gayo, University of Oviedo Eric Prud’hommeaux, W3C/MIT and Micelio Iovka Boneva, University of Lille Dimitris Kontokostas, University of Leipzig VALIDATING RDF DATA This book describes two technologies for RDF validation: Shape Expressions (ShEx) and Shapes Constraint Language (SHACL), the rationales for their designs, a comparison of the two, and some example applications. RDF and Linked Data have broad applicability across many fields, from aircraft manufacturing to zoology. Requirements for detecting bad data differ across communities, fields, and tasks, but nearly all involve some form of data validation. This book introduces data validation and describes its practical use in day-to-day data exchange. The Semantic Web offers a bold, new take on how to organize, distribute, index, and share data. Using Web addresses (URIs) as identifiers for data elements enables the construction of distributed databases on a global scale. Like the Web, the Semantic Web is heralded as an information revolution, and also like the Web, it is encumbered by data quality issues. The quality of Semantic Web data is compromised by the lack of resources for data curation, for maintenance, and for developing globally applicable data models. At the enterprise scale, these problems have conventional solutions. Master data management provides an enterprise-wide vocabulary, while constraint languages capture and enforce data structures. Filling a need long recognized by Semantic Web users, shapes languages provide models and vocabularies for expressing such structural constraints.
    [Show full text]
  • Design and Analysis of a Query Processor for Brick
    Design and Analysis of a Query Processor for Brick Gabe Fierro David E. Culler UC Berkeley UC Berkeley [email protected] [email protected] ABSTRACT to increase energy efficiency and comfort, as well as provide mon- Brick is a recently proposed metadata schema and ontology for de- itoring and fault diagnosis. While many such applications exist, scribing building components and the relationships between them. the lack of a common description scheme, i.e. metadata, limits the It represents buildings as directed labeled graphs using the RDF portability of these applications across the heterogeneous building data model. Using the SPARQL query language, building-agnostic stock. applications query a Brick graph to discover the set of resources While several efforts address the heterogeneity of building meta- and relationships they require to operate. Latency-sensitive ap- data, these generally fail to capture the relationships and entities plications, such as user interfaces, demand response and model- that are required by real-world applications [8]. This set of re- predictive control, require fast queries — conventionally less than quirements drove the development of Brick [6], a recently proposed 100ms. metadata standard for describing the set of entities and relationships We benchmark a set of popular open-source and commercial within a building. Brick succeeds along three metrics: completeness SPARQL databases against three real Brick models using seven (captures 98% of building management system data points across six application queries and find that none of them meet this perfor- real buildings), expressiveness (can capture all important relation- mance target. This lack of performance can be attributed to design ships) and usability (represents this information in an easy-to-use decisions that optimize for queries over large graphs consisting manner).
    [Show full text]
  • Diplomová Práce Prostředky Sémantického Webu V Uživatelském
    Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky Diplomová práce Prostředky sémantického webu v uživatelském rozhraní pro správu elektrofyziologických experimentů Plzeň 2020 Jan Palcút Místo této strany bude zadání práce. Prohlášení Prohlašuji, že jsem diplomovou práci vypracoval samostatně a výhradně s po- užitím citovaných pramenů. V Plzni dne 9. srpna 2020 Jan Palcút Poděkování Tímto bych chtěl poděkovat vedoucímu diplomové práce panu Ing. Romanovi Moučkovi, Ph.D. za cenné rady, připomínky a odborné vedení této práce. Abstract The work aims to verify the applicability of technologies and languages of the semantic web in creating an application for the management of electro- physiological experiments. The application will allow us to manage multiple experiments of the same characteristic type at once, display their metadata, and search in them. The theoretical part of the work describes the semantic web, selected data standards for electrophysiology, and the neuroinformat- ics laboratory of the University of West Bohemia in Pilsen. The analysis and design of the application describe requirements’ specifications and se- lect the data standard and technologies to implement the solution. Part of the proposal is also a description of the solution of writing metadata of experiments into the newly designed structure. Based on the design, the ap- plication for the selected data standard is implemented. The functionality of the application was verified on experiments of various types. Abstrakt Cílem této práce je ověření použitelnosti technologií a jazyků sémantického webu při tvorbě aplikace pro správu elektrofyziologických experimentů. Apli- kace umožní spravovat více experimentů stejného charakteristického typu najednou, zobrazovat jejich metadata a vyhledávat v nich.
    [Show full text]
  • SWAD-Europe Deliverable 3.11: Developer Workshop Report 4 - Workshop on Semantic Web Storage and Retrieval
    Sat Jun 05 2004 22:31:44 Europe/London SWAD-Europe Deliverable 3.11: Developer Workshop Report 4 - Workshop on Semantic Web Storage and Retrieval Project name: Semantic Web Advanced Development for Europe (SWAD-Europe) Project Number: IST-2001-34732 Workpackage name: 3 Dissemination and Implementation Workpackage description: ☞http://www.w3.org/2001/sw/Europe/plan/workpackages/live/esw-wp-3 Deliverable title: 3.11 Developer Workshop Report 4 URI: ☞http://www.w3.org/2001/sw/Europe/reports/dev_workshop_report_4/ Author: Dave Beckett Abstract: This report summarises the fourth SWAD-Europe developer ☞Workshop on Semantic Web Storage and Retrieval which was held 13-14 November 2003 at Vrije Universiteit, Amsterdam, Netherlands and attended by 26 semantic web developers from Europe and the USA discussing practical aspects of developing and deploying semantic web storage and retrieval systems. STATUS: Completed 2004-01-12, updated 2004-01-13 with workshop evaluation details. Contents 1. ☞Introduction 2. ☞Summary 3. ☞Evaluation 4. ☞Outcomes 5. ☞Minutes 6. ☞Attendees 1. Introduction The workshop aimed to discuss: Implementation techniques and problems met Storage models and database schemas Aggregation and tracking provenance Using RDBMSes for semantic web storage Discussion of useful test data and queries for comparisons. Implementing RDF datatypes, entailment (from ☞RDF Semantics) 2. Summary The fourth SWAD-Europe workshop was on ☞Semantic Web Storage and Retrieval and held at Vrije Universiteit, Amsterdam, Netherlands organised by ☞Dave Beckett (ILRT) and hosted by ☞Frank van Harmelen from VU. The workshop participants were mostly technical developers and researchers from a ☞variety of Page 1 Sat Jun 05 2004 22:31:45 Europe/London organisations mostly in industry and education from Greece, UK, Slovenija, The Netherlands and Italy in Europe and from the United States.
    [Show full text]
  • Performance of RDF Library of Java, C# and Python on Large RDF Models
    et International Journal on Emerging Technologies 12(1): 25-30(2021) ISSN No. (Print): 0975-8364 ISSN No. (Online): 2249-3255 Performance of RDF Library of Java, C# and Python on Large RDF Models Mustafa Ali Bamboat 1, Abdul Hafeez Khan 2 and Asif Wagan 3 1Department of Computer Science, Sindh Madressatul Islam University (SMIU), Karachi, (Sindh), Pakistan. 2Department of Software Engineering, Sindh Madressatul Islam University (SMIU) Karachi, (Sindh), Pakistan. 3Department of Computer Science, Sindh Madressatul Islam University (SMIU), Karachi (Sindh), Pakistan. (Corresponding author: Mustafa Ali Bamboat) (Received 03 November 2020, Revised 22 December 2020, Accepted 28 January 2021) (Published by Research Trend, Website: www.researchtrend.net) ABSTRACT: The semantic web is an extension of the traditional web, in which contents are understandable to the machine and human. RDF is a Semantic Web technology used to create data stores, build vocabularies, and write rules for approachable LinkedData. RDF Framework expresses the Web Data using Uniform Resource Identifiers, which elaborate the resource in triples consisting of subject, predicate, and object. This study examines RDF libraries' performance on three platforms like Java, DotNet, and Python. We analyzed the performance of Apache Jena, DotNetRDF, and RDFlib libraries on the RDF model of LinkedMovie and Medical Subject Headings (MeSH) in aspects measuring matrices such as loading time, file traversal time, query response time, and memory utilization of each dataset. SPARQL is the RDF model's query language; we used six queries, three for each dataset, to analyze each query's response time on the selected RDF libraries. Keywords: dotNetRDF, Apache Jena, RDFlib, LinkedMovie, MeSH.
    [Show full text]
  • Inscribing the Blockchain with Digital Signatures of Signed RDF Graphs. a Worked Example of a Thought Experiment
    Inscribing the blockchain with digital signatures of signed RDF graphs. A worked example of a thought experiment. The thing is, ad hoc hash signatures on the blockchain carry no information linking the hash to the resource for which the hash is acting as a digital signature. The onus is on the inscriber to associate the hash with the resource via a separate communications channel, either by publishing the association directly or making use of one of the third-party inscription services that also offer a resource persistence facility – you get to describe what is signed by the hash and they store the description in a database, usually for a fee, or you can upload the resource for storage, definitely for a fee. Riccardo Cassata has a couple of technical articles that expose more of the practical details: https://blog.eternitywall.it/2016/02/16/how-to-verify-notarization/ So what's published is a hexadecimal string indistinguishable from all the others which purportedly matches the hash of Riccardo's mugshot. But which? https://tineye.com/search/ed9f8022c9af413a350ec5758cda520937feab21 What’s needed is a means of creating an inscription that is not only a signature but also a resovable reference to the resource for which it acts as a digital signature. It would be even better if it were possible to create a signature of structured information, such as that describing a social media post – especially if we could leverage off’ve the W3’s recent Activity Streams standard: https://www.w3.org/TR/activitystreams-core/ An example taken from the
    [Show full text]
  • Wiki S Podporou Zpracování Sémantiky
    MASARYKOVA UNIVERZITA F}w¡¢£¤¥¦§¨ AKULTA INFORMATIKY !"#$%&'()+,-./012345<yA| Wiki s podporou zpracování sémantiky DIPLOMOVÁ PRÁCE Bc. Jakub Talaš Brno, podzim 2010 Prohlášení Prohlašuji, že tato diplomová práce je mým p ˚uvodnímautorským dílem, které jsem vypra- coval samostatnˇe.Všechny zdroje, prameny a literaturu, které jsem pˇrivypracování použí- val nebo z nich ˇcerpal,v práci ˇrádnˇecituji s uvedením úplného odkazu na pˇríslušnýzdroj. Vedoucí práce: RNDr. Tomáš Gregar ii Podˇekování Chtˇelbych podˇekovatRNDr. Tomáši Gregarovi za odborné vedení. Rodiˇc˚umza podporu bˇehemstudia a všem ostatním, kteˇríjakkoliv napomohli vzniku této práce. iii Shrnutí Sémantické technologie prodˇelalyv posledních letech bouˇrlivývývoj. Novým cílem sou- ˇcasnýchsnah je pˇredstavitjejich výhody a pˇrivéstje i k bˇežnémuuživateli. Jednou z cest nabývajících na významu je nenásilná a vhodná integrace sémanticky zpracovávaných dat do známých systém ˚ua aplikací – operaˇcních systém ˚u,wiki, systém ˚upro správu obsahu apod. Moje diplomová práce se zabývá zapojením sémantických dat do wiki systému Trac a jejich využití pˇredevšímv oblasti project managementu a e-learningu. iv Klíˇcováslova sémantický web, wiki, Trac, XML, RDF, project management, Python v Obsah 1 Úvod ............................................. 1 2 Motivace pro sémantický web .............................. 3 3 Technologie sémantického webu ............................. 5 3.1 Sémantika dat ..................................... 5 3.2 Ontologie ........................................ 6 3.3
    [Show full text]
  • Introduction to Linked Open Data Github.Com/Cmh2166/Swib18lodintro Simeon Warner, Cornell University Christina Harlow, Stanford University
    Introduction to Linked Open Data github.com/cmh2166/SWIB18LODintro Simeon Warner, Cornell University Christina Harlow, Stanford University SWIB 2018, 26 November 2018 Bonn, Germany github.com/cmh2166/SWIB18LODintro Workshop Resources: github.com/cmh2166/SWIB18LODintro github.com/cmh2166/SWIB18LODintro Workshop Etiquette (influenced by the Hacker School Rules) ● Feel free to ask questions ● Help others where you can ● Be open to different domain expertise & experiences ● Be kind More info on the “Hacker School Rules”: https://www.recurse.com/blog/38-subtle-isms-at-hacker-school https://www.recurse.com/manual#sub-sec-social-rules github.com/cmh2166/SWIB18LODintro Schedule 13:00 - 13:15 General Workshop Introduction 13:15 - 14:00 RDF Introduction: Create Your Graph 14:00 - 14:30 Linked Data Introduction: Link Your Graph 14:30 - 15:30 Linked Data & Semantic Web: Expand Your Graph 15:30 - 16:00 30 minute break, cake served in the foyer 16:00 - 16:15 Linked Open Data & Licensing: License Your Graph 16:15 - 17:15 Linked Data Experimentation: SPARQL & Vis. 17:15 - 18:00 Linked Data Examples, Resources & Questions github.com/cmh2166/SWIB18LODintro Our Goals for this Workshop ● Introduce & Leverage the RDF data model ● Create & Refine RDF Documents ● Explain Fundamentals of Linked Data Technologies ● Introduce & Discuss Basic Issues of Linked Open Data ● Apply Open Data Principles to RDF data ● Understand Pros & Cons of Modeling in RDF ● Understand Pros & Cons of Publishing Linked Data ● Share LOD Tools, Projects, Resources, Examples github.com/cmh2166/SWIB18LODintro Your goals for this Workshop? ● Why are you attending this workshop? ● What are your goals - immediate or long-term? ● What's your level of comfort & experience with any aspect of Linked Data? github.com/cmh2166/SWIB18LODintro RDF Introduction: Create Your Graph github.com/cmh2166/SWIB18LODintro Facilitator’s Starter RDF @prefix z: <https://pad.riseup.net/p/swib-18-ws-z#> .
    [Show full text]
  • Semantic Web and Python Concepts to Application Development
    PyCon 2009 IISc, Bangalore, India Semantic Web and Python Concepts to Application development Vinay Modi Voice Pitara Technologies Private Limited Outline • Web • Need better web for the future • Knowledge Representation (KR) to Web – Challenges • Data integration – challenges • KR to Web - solutions for challenges • Metadata and Semantic Web – protocol stack • RDF, RDFS and SPARQL basic concepts • Using RDFLib adding triples • RDFLib serialization • RDFLib RDFS ontology • Blank node • SPARQL querying • Graph merging • Some possible things one can do with RDFLib Text in Natural Languages Multimedia Images Web Deduce the facts; create mental relationships Need better Web for the future I Know What You Mean KR to Web – Challenges Traditional KR Scaling KR techniques and Network effect Algorithmic complexity and Performance for information space like W3 KR to Web – Challenges Continue … 1 Representational Inconsistencies Machine down Partial Information Data integration - Challenges • Web pages, Corporate databases, Institutions • Different content and structure • Manage for – Company mergers – Inter department data sharing (like eGovernment) – Research activities/output across labs/nations • Accessible from the web but not public. Data Integration – Challenges Continue … 1 • Example: Social sites – add your contacts every time. • Requires standard so that applications can work autonomously and collaboratively. What is needed • Some data should be available for machines for further processing • Data should be possibly combined, merged on Web scale • Some time data may describe other data – i.e. metadata. • Some times data needs to be exchanged. E.g. between Travel preferences and Ticket booking. Metadata • Data about data • Two ways of associating with a resource – Physical embedding – Separate resource • Resource identifier • Globally unique identifier • Advantages of explicit metadata • Dublin core, FOAF KR to Web – Solution for Challenges Continue … 2 Solve syntactic interoperability.
    [Show full text]
  • Design of an Effective Ontology and Query Processor Enabling Portable Building Applications
    Design of an Effective Ontology and Query Processor Enabling Portable Building Applications Gabe Fierro Electrical Engineering and Computer Sciences University of California at Berkeley Technical Report No. UCB/EECS-2019-29 http://www2.eecs.berkeley.edu/Pubs/TechRpts/2019/EECS-2019-29.html May 10, 2019 Copyright © 2019, by the author(s). All rights reserved. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission. Acknowledgement This thesis is based in part on work done with Bharathan Balaji, Arka Bhattacharya, Gabe Fierro, Jingkun Gao, Joshua Gluck, Dezhi Hong, Aslak Johansen, Jason Koh, Yuvraj Agarwal, Mario Berges, David E. Culler, Rajesh Gupta, Mikkel Baun Kjaergaard, Joern Ploennigs and Kamin Whitehouse Design of an Effective Ontology and Query Processor Enabling Portable Building Applications by Gabriel Tomas Fierro A thesis submitted in partial satisfaction of the requirements for the degree of Master of Science, Plan II in Computer Science in the Graduate Division of the University of California, Berkeley Committee in charge: Professor David E. Culler, Research Advisor Professor Randy H. Katz Spring 2019 The thesis of Gabriel Tomas Fierro, titled Design of an Effective Ontology and Query Pro- cessor Enabling Portable Building Applications, is approved: Research Advisor Date Date University of California, Berkeley Design of an Effective Ontology and Query Processor Enabling Portable Building Applications Copyright 2019 by Gabriel Tomas Fierro 1 Abstract Design of an Effective Ontology and Query Processor Enabling Portable Building Applications by Gabriel Tomas Fierro Master of Science, Plan II in Computer Science University of California, Berkeley Professor David E.
    [Show full text]
  • RDF Triplestores and SPARQL Endpoints
    RDF triplestores and SPARQL endpoints Lecturer: Mathias Bonduel [email protected] LDAC summer school 2019 – Lisbon, Portugal Lecture outline • Storing RDF data: RDF triplestores o Available methods to store RDF data o RDF triplestores o Triplestore applications – databases – default graph – named graphs o List of triplestore applications o Comparing triplestores o Relevant triplestore settings o Communication with triplestores • Distributing RDF data: SPARQL endpoints o Available methods to distribute RDF data o SPARQL endpoints o Reuse of SPARQL queries o SPARQL communication protocol: requests and responses June 18, 2019 RDF triplestores and SPARQL endpoints | Mathias Bonduel 2 Storing RDF data June 18, 2019 RDF triplestores and SPARQL endpoints | Mathias Bonduel 3 Available methods to store RDF data • In-memory storage (local RAM) o Working memory of application (e.g. client side web app, desktop app) o Frameworks/libraries: RDFLib (Python), rdflib.js (JavaScript), N3 (JavaScript), rdfstore-js (JavaScript), Jena (Java), RDF4J (Java), dotNetRDF (.NET), etc. o Varied support for SPARQL querying • Persistent storage (storage drive) o RDF file/dump (diff. RDF serializations): TTL, RDF/XML, N-Quads, JSON-LD, N-triples, TriG, N3, TriX, RDFa (RDF embedded in HTML), etc. o RDF triplestore o (ontology editing applications: Protégé, Topbraid Composer, etc.) June 18, 2019 RDF triplestores and SPARQL endpoints | Mathias Bonduel 4 RDF triplestores “a database to store and query RDF triples” • Member of the family of graph/NoSQL databases • Data structure: RDF • Main query language: SPARQL standards • Oftentimes support for RDFS/OWL/rules reasoning • Data storage is typically persistent June 18, 2019 RDF triplestores and SPARQL endpoints | Mathias Bonduel 5 Triplestore applications – databases - default graph - named graphs • An RDF triplestore instance (application) can have one or multiple databases (repositories) • Each database has one default graph and zero or more named graphs o a good practice is to place TBox in a separate named graph.
    [Show full text]