Release 1.13 Kal Ahmed, Graham Moore

Total Page:16

File Type:pdf, Size:1020Kb

Release 1.13 Kal Ahmed, Graham Moore BrightstarDB Documentation Release 1.13 Kal Ahmed, Graham Moore January 08, 2016 Contents 1 Getting Started 1 1.1 Architect.................................................1 1.2 Data....................................................1 1.3 Developer.................................................1 2 Concepts 3 2.1 Architecture...............................................3 2.2 Data Model................................................4 2.3 Storage Features.............................................5 2.4 Client APIs................................................5 2.5 Supported RDF Syntaxes........................................5 3 Why BrightstarDB? 7 3.1 An Associative Model..........................................7 3.2 Schema-less Data Store.........................................7 3.3 A Semantic Data Model.........................................7 3.4 Automatic Data caching.........................................8 3.5 Full Historical Capabilities........................................8 3.6 Developer Friendly Toolset.......................................8 3.7 Native .NET Semantic Web Database..................................8 3.8 RDF is great for powering Object Oriented solutions..........................8 4 Developing With BrightstarDB9 5 Developer Quick Start 11 5.1 Create New Project............................................ 11 5.2 Create the Model............................................. 12 5.3 Generating the Context and Classes................................... 13 5.4 Using the Context............................................ 13 5.5 Optimistic Locking............................................ 15 5.6 Server Side Caching........................................... 16 5.7 What Next?................................................ 16 6 Connection Strings 17 7 Store Persistence Types 19 7.1 Append-Only............................................... 19 7.2 Rewritable................................................ 19 7.3 Specifying the Store Persistence Type.................................. 20 i 8 Running The BrightstarDB Samples 21 9 Entity Framework 23 9.1 Basics................................................... 23 9.2 Example LINQ Queries......................................... 26 9.3 Annotations................................................ 27 9.4 Patterns.................................................. 34 9.5 Behaviour................................................. 35 9.6 Key Properties and Composite Keys................................... 36 9.7 Optimistic Locking............................................ 39 9.8 LINQ Restrictions............................................ 40 9.9 Casting Entities.............................................. 43 9.10 OData................................................... 43 9.11 SavingChanges Event.......................................... 44 9.12 INotifyPropertyChanged and INotifyCollectionChanged Support................... 44 9.13 Graph Targeting............................................. 45 9.14 Roslyn Code Generation......................................... 46 9.15 Generated Class Visibility........................................ 47 10 Entity Framework Samples 49 10.1 Tweetbox................................................. 49 10.2 MVC Nerd Dinner............................................ 52 10.3 Mapping to Existing RDF Data..................................... 98 11 Advanced Entity Framework 101 11.1 Filter Optimization............................................ 101 11.2 Custom Queries............................................. 102 11.3 Custom SPARQL Protocol........................................ 102 11.4 Custom Type Mappings......................................... 102 12 Data Object Layer 103 12.1 Creating a Data Object Context..................................... 103 12.2 Using the IDataObjectContext...................................... 103 12.3 Working With Data Objects....................................... 104 12.4 Namespace Mappings.......................................... 106 12.5 Querying data using SPARQL...................................... 106 12.6 Binding SPARQL Results To Data Objects............................... 106 12.7 Optimistic Locking in the Data Object Layer.............................. 107 12.8 Graph Targeting in the Data Object API................................. 107 13 Dynamic API 111 13.1 Dynamic Context............................................. 111 13.2 Dynamic Object............................................. 111 13.3 Saving Changes............................................. 112 13.4 Loading Data............................................... 112 13.5 Sample Program............................................. 112 14 RDF Client API 115 14.1 Creating a client............................................. 115 14.2 Creating a Store............................................. 115 14.3 Deleting a Store............................................. 115 14.4 Jobs and IJobInfo............................................. 115 14.5 Transactional Update........................................... 116 14.6 Data Types................................................ 118 14.7 Updating Graphs............................................. 118 ii 14.8 Querying data using SPARQL...................................... 119 14.9 Querying Graphs............................................. 119 14.10 Using extension methods......................................... 120 14.11 Update data using SPARQL....................................... 120 14.12 Data Imports............................................... 121 14.13 Data Exports............................................... 121 14.14 Introduction To N-Triples........................................ 122 14.15 Introduction To SPARQL........................................ 122 15 Admin API 125 15.1 Jobs.................................................... 125 15.2 Commit Points.............................................. 126 15.3 Reverting The Store........................................... 127 15.4 Consolidating The Store......................................... 128 15.5 Creating Store Snapshots......................................... 128 15.6 Store Statistics.............................................. 129 16 HTTP API 131 16.1 Swagger API Documentation...................................... 131 16.2 Supported Media Types......................................... 131 16.3 Stores Resource............................................. 132 16.4 Store Resource.............................................. 132 16.5 SPARQL Query Endpoint........................................ 133 16.6 SPARQL Update Endpoint........................................ 134 16.7 Graphs Resource............................................. 134 16.8 Job List Resource............................................ 136 16.9 Job Resource............................................... 140 16.10 Commit Points Resource......................................... 141 16.11 Statistics List Resource.......................................... 142 16.12 Latest Statistics Resource........................................ 143 17 Concurrency and Multi-threading 145 17.1 Concurrent Access to Stores....................................... 145 17.2 Thread-safety............................................... 145 18 Developing Portable Apps 147 18.1 Supported Platforms........................................... 147 18.2 Including BrightstarDB In Your Project................................. 147 18.3 API Changes............................................... 148 18.4 Platform Notes.............................................. 148 18.5 BrightstarDB Database Portability.................................... 150 18.6 Acknowledgment............................................. 150 19 Connecting to Other Stores 151 19.1 Store Requirements........................................... 151 19.2 Configuration and Connection Strings.................................. 151 19.3 Differences to BrightstarDB Connections................................ 152 19.4 Example Configurations......................................... 153 20 API Documentation 155 21 BrightstarDB Security 157 21.1 Access Control.............................................. 157 21.2 Authentication.............................................. 158 21.3 Authorization............................................... 159 iii 22 Running BrightstarDB 161 22.1 Namespace Reservation......................................... 161 22.2 Running BrightstarDB as a Windows Service.............................. 161 22.3 Running BrightstarDB as an Application................................ 161 22.4 Running BrightstarDB In IIS....................................... 162 22.5 Running BrightstarDB in Docker.................................... 162 22.6 BrightstarDB Service Configuration................................... 162 22.7 Configuring Caching........................................... 169 22.8 Configuring Logging........................................... 170 22.9 Preloading Stores............................................. 170 22.10 Transaction Logging........................................... 172 23 SPARQL Endpoint 175 23.1 Query................................................... 175 23.2 Update.................................................. 175 23.3 Graph Store Protocol........................................... 175 23.4 SPARQL Result Formats......................................... 176 23.5 Further Reading............................................. 176 24 Polaris Management Tool 177
Recommended publications
  • Lap Around the .NET Framework 4
    Lap Around the .NET Framework 4 Marc Schweigert ([email protected]) Principal Developer Evangelist DPE US Federal Government Team http://blogs.msdn.com/devkeydet http://twitter.com/devkeydet .NET Framework 4.0 User Interface Services Data Access ASP.NET Windows Windows (WebForms, Entity Presentation Data Services Communication ADO.NET MVC, Dynamic Framework Foundation Foundation Data) Windows WinForms Workflow LINQ to SQL Foundation Core Managed Dynamic Parallel Base Class Extensibility LINQ Languages Language Extensions Library Framework Runtime Common Language Runtime ASP.NET MVC 1.0 (Model View Controller) A new Web Application Project type Simply an option Not a replacement for WebForms Builds on top ASP.NET Manual vs. Automatic Transmission Supports a clear separation of concerns Supports testability Supports “close to the metal” programming experience ASP.NET MVC 2 Visual Studio 2010 Included Visual Studio 2008 (Service Pack 1) Download Both versions built against .NET 3.5 What’s New in MVC 2? Better Separation of Concerns (Maintainability) Html.RenderAction() Areas Easier Validation (Maintainability/Productivity) Data Annotations Client Validation Helper Improvements (Maintainability/Productivity) Strongly-Typed Helpers Templated Helpers ASP.NET 4 Web Forms? Support for SEO with URL Routing Cleaner HTML Client ID improvements ViewState improvements Dynamic Data Improvements Chart Controls Productivity and Extensibility Rich Client Ajax supports both MVC & Web Forms WPF 4 Calendar, Data Grid, DatePicker Ribbon (separate download)
    [Show full text]
  • Web API and Microsoft Azure
    [ 1 ] www.it-ebooks.info Building Web Services with Microsoft Azure Quickly develop scalable, REST-based applications or services and learn how to manage them using Microsoft Azure Alex Belotserkovskiy Stephen Kaufman Nikhil Sachdeva professional expertise distilled PUBLISHING BIRMINGHAM - MUMBAI www.it-ebooks.info Building Web Services with Microsoft Azure Copyright © 2015 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. First published: May 2015 Production reference: 1220515 Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK. ISBN 978-1-78439-837-8 www.packtpub.com www.it-ebooks.info Credits Authors Copy Editors Alex Belotserkovskiy Pranjali
    [Show full text]
  • ASP.NET MVC with Entity Framework and CSS
    ASP.NET MVC with Entity Framework and CSS Lee Naylor ASP.NET MVC with Entity Framework and CSS Lee Naylor Newton-le-Willows, Merseyside United Kingdom ISBN-13 (pbk): 978-1-4842-2136-5 ISBN-13 (electronic): 978-1-4842-2137-2 DOI 10.1007/978-1-4842-2137-2 Library of Congress Control Number: 2016952810 Copyright © 2016 by Lee Naylor This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights. While the advice and information in this book are believed to be true and accurate at the date of publication, neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may be made.
    [Show full text]
  • Ios, Android, Windows Phone Xamarin, Xamarin.Forms Mvvmcross, Mvvm Light …
    iOS, Android, Windows Phone Xamarin, Xamarin.Forms MvvmCross, Mvvm Light … Formation – Audit – Conseil – Développement XAML (Windows Store, WPF, Silverlight, Windows Phone), C# Cross-plateforme Windows / Android / iOS UX Design ALLDOT. BLOGTom e 5 3ème édition Développement Cross-Plateforme Tout Dot.Blog par thème sous la forme de livres PDF gratuits ! Reproduction, utilisation et diffusion interdites sans l’autorisation de l’auteur Olivier Dahan [email protected] P a g e 1 | 410 Table des matières Introduction .................................................................................................................. 11 Présentation de l’édition 2015 ...................................................................................... 13 Edition 2015 ................................................................................................................... 15 Les unités Mobiles – Axer correctement ses développements ............................. 15 Une infographie complète ..................................................................................... 15 La guerre tablette / PC ........................................................................................... 15 Parts de marché des OS ........................................................................................ 20 Les mobiles et les français .....................................................................................22 Unités mobiles et Web .......................................................................................... 23 Conclusion
    [Show full text]
  • How to Use the Powerpoint Template
    Getting Started with Oracle and .NET Christian Shay Eric Courville Product Manager Senior Member of Technical Staff Oracle Verizon Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted Program Agenda 1 Oracle and Microsoft 2 Oracle and .NET – Getting Started 3 Oracle Developer Tools for Visual Studio 4 Oracle Data Provider for .NET 5 Additional Oracle .NET Features Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle and Microsoft Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle’s Commitment to .NET ODP ODT & ODAC 64-bit ODAC ODAC ODAC ODAC ODAC ODAC 12c ODAC 12c .NET .NET SP 2006 ODAC 2008 2009 11.2 R2 11.2 R4 11.2 R5 R1 & R2 R3 & R4 2002-03 2005 2006 2007 2007-08 2009 2010 2011 2012 2013 2014-15 .NET VS .NET 2.0 & .NET .NET 3.5 & .NET 4 & EF .NET 4.5 & VS 2013 & VS 2015, 1.x 2003 VS 2005 3.0 VS 2008 VS 2010 VS 2012 Managed NuGet & EF Code First Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Relationship with Microsoft • Close collaboration with Microsoft Engineering teams Engineering • Access to pre-release Microsoft product drops • Visual Studio Industry Partner (VSIP) • Event sponsorship – MS Ignite and Worldwide Partner Marketing Conference • Joint training, road shows, collateral, etc. • Microsoft Premier Support Agreement Support • Collaboration of support teams Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle and .NET Getting Started Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle .NET Development Environment Oracle Developer Tools Oracle Data Provider Oracle Providers for for Visual Studio for .NET ASP.NET App Development Deploy Visual .NET Studio Framework Deploy Database Web or Development Client/Server Oracle Database Extensions for .NET Copyright © 2015, Oracle and/or its affiliates.
    [Show full text]
  • Python for the C# Developer
    {SDD} 2014 Software Design & Development Python for the C# developer Michael Kennedy @mkennedy http://blog.michaelckennedy.net Objectives • Introduce the basics of the Python language • Review what is awesome about C# and .NET • Explore Python's version of each C# / .NET feature DEVELOPMENTOR Michael Kennedy | @mkennedy | blog.michaelckennedy.net What is Python? • High-level programming language • Interpreted (sometimes JIT compiled) • Object-oriented (especially Python 3) • Strongly-typed with dynamic semantics • Syntax emphasizes readability • Supports modules and packages • Batteries included (large standard library [1]) DEVELOPMENTOR Michael Kennedy | @mkennedy | blog.michaelckennedy.net The ‘shape’ of a Python program • Python defines code blocks (known as suites in Python) using whitespace and colons. Things to note: def somemethod(name): • No semicolons if name == "Michael": print("Hi old friend") • Code blocks start with ‘:’ else: • Whitespace really really matters print("Nice to meet you") • There are no braces print("My name is … ") • There are no parentheses • Tabs are not your friend def main(): somemethod() Code suites DEVELOPMENTOR Michael Kennedy | @mkennedy | blog.michaelckennedy.net Python language demo DEVELOPMENTOR Michael Kennedy | @mkennedy | blog.michaelckennedy.net What's awesome about C# and .NET? System.Object: Everything is an object. LINQ IEnumerable + foreach loops Visual Studio / IDEs Class properties ( int Age {get; set;} ) Side-by-side execution (isolation) Anonymous types Iterator methods / yield return
    [Show full text]
  • Entity Framework Overview the Entity Framework Is a Set of Technologies in ADO.NET That Support the Development of Data-Oriented Software Applications
    Entity Framework Overview The Entity Framework is a set of technologies in ADO.NET that support the development of data-oriented software applications. Architects and developers of data-oriented applications have struggled with the need to achieve two very different objectives. They must model the entities, relationships, and logic of the business problems they are solving, and they must also work with the data engines used to store and retrieve the data. The data may span multiple storage systems, each with its own protocols; even applications that work with a single storage system must balance the requirements of the storage system against the requirements of writing efficient and maintainable application code. The Entity Framework enables developers to work with data in the form of domain-specific objects and properties, such as customers and customer addresses, without having to concern themselves with the underlying database tables and columns where this data is stored. With the Entity Framework, developers can work at a higher level of abstraction when they deal with data, and can create and maintain data-oriented applications with less code than in traditional applications. Because the Entity Framework is a component of the .NET Framework, Entity Framework applications can run on any computer on which the .NET Framework starting with version 3.5 SP1 is installed. The following sections in this topic provide more detail about the Entity Framework: Giving Life to Models Mapping Objects to Data Accessing and Changing Entity Data Data Providers Entity Data Model Tools Learning More Giving Life to Models A longstanding and common design approach when building an application or service is the division of the application or service into three parts: a domain model, a logical model, and a physical model.
    [Show full text]
  • Dotnet for Java Developers.Pdf
    EDITION 1.0 DOWNLOAD available at: https://aka.ms/dotnet-forjavadevs PUBLISHED BY DevDiv, .NET and Visual Studio product teams A division of Microsoft Corporation One Microsoft Way Redmond, Washington 98052-6399 Copyright © 2018 by Microsoft Corporation All rights reserved. No part of the contents of this book may be reproduced or transmitted in any form or by any means without the written permission of the publisher. This book is provided “as-is” and expresses the author’s views and opinions. The views, opinions, and information expressed in this book, including URL and other Internet website references, may change without notice. Some examples depicted herein are provided for illustration only and are fictitious. No real association or connection is intended or should be inferred. Microsoft and the trademarks listed at http://www.microsoft.com on the “Trademarks” webpage are trademarks of the Microsoft group of companies. All other marks are property of their respective owners. .NET for Java Developers Prepared for Microsoft by Ted Neward, Principal, Neward & Associates, LLC Contents Introduction 1 History 3 Of components, managed environments, and code 3 Hello, .NET 5 Hello, strange new world 9 Getting Started: Tooling 10 Hello, web? 10 Docker all the things! 10 Linux .NET? 10 Visual Studio Code 11 Mac .NET? 12 Windows: Visual Studio 14 Hello, dotnet: CLI style 15 Hello, .NET: IDE style 16 Solutions and projects 18 Goodbye, HelloWorld 19 C#, Succinctly 20 C# Basics 20 Starting exploration: classes, properties, and methods 21 Lambdas, type inference, and extension classes 25 Language-INtegrated Query (LINQ) 27 Asynchronous programming with Async/Await 28 Frameworks, for the Win! 29 ASP.NET Core Web API 30 ASP.NET Core MVC 33 Entity Framework Core 35 Wrapping Up 39 iii Introduction When I was about eight years old, my parents took my sister and me to Paris, France.
    [Show full text]
  • Annals of the University of North Carolina Wilmington Master of Science in Computer Science and Information Systems
    Annals of the University of North Carolina Wilmington Master of Science in Computer Science and Information Systems RE-VISIONING OF THE AUTOMATIC GRADING/LEARNING SYSTEM Jason Felds A Capstone Project Submitted to the University of North Carolina Wilmington in Partial Fulfillment of the Requirements for the Degree of Master of Science Department of Computer Science Department of Information Systems and Operations Management University of North Carolina Wilmington 2012 Approved by Advisory Committee ______________________________ ______________________________ Dr. Bryan Reinicke Dr. Laurie Patterson ______________________________ ______________________________ Kevin Matthews Dr. Thomas Janicki, Chair Accepted By _______________________________ Dean, Graduate School Abstract Re-visioning of the Automatic Grading/Learning System. Felds, Jason, 2012. Capstone Paper, University of North Carolina Wilmington. In 2008, the ISOM department at UNCW implemented a system that would allow students in certain classes to be able to submit electronic files to be automatically graded as part of the existing grade book system. While that system has been successful, enhancements are desired to make the system more user-friendly and to grade additional features. A number of flaws have been uncovered with the Automatic Grading/Learning System (AGLS) that should be corrected. The goal of this project is to make it easier for the professor to create and grade assignments, but also to make the AGLS more generic so it may be used by other grade book systems.
    [Show full text]
  • Data Services
    Data Services Michael J. Carey Nicola Onose Michalis Petropoulos University of California, Irvine University of California, Irvine University of California, San 2091 Donald Bren Hall (DBH) 2091 Donald Bren Hall (DBH) Diego Irvine, CA 92697-3435 Irvine, CA 92697-3435 9500 Gilman Drive [email protected] [email protected] San Diego, CA 92093-0114 [email protected] ABSTRACT any schema information, the consumer is not sure if he/she Data services provide access to data drawn from one or more can compose these two services to retrieve the orders of cus- underlying information sources. Compared to traditional tomers. Moreover, consumers of data services can utilize a services, data services are model-based, providing richer and query language and pass a query expression as a parameter more data-centric views of the data they serve; they often to a data service; they can use metadata-guided knowledge provide both query-based and function-based access to data. of data services and their relationships to formulate queries In the enterprise world, data services play an important role and navigate between sets of entities. in SOA architectures. They are also important when an Modern data services are descendants of the stored pro- enterprise wishes to controllably share data with its busi- cedure facilities provided by relational database systems, ness partners via the Internet. In the emerging world of which allow a set of SQL statements and control logic to software-as-a-service (SaaS), data services enable enterprises be parameterized, named, access-controlled, and then called to access their own externally stored information.
    [Show full text]
  • Building an MVC 3 App with Code First and Entity Framework 4.1 Julie Lerman
    Building an MVC 3 App with Code First and Entity Framework 4.1 Julie Lerman March 2011 Watch a video of this content Download the code for this article: · C# version (VS2010) · VB version (VS2010) Microsoft’s ADO.NET Entity Framework (EF) simplifies data access by allowing you to avoid working directly with the database in your code. Instead you can retrieve data by writing queries against strongly typed classes letting the Entity Framework handle the database interaction on your behalf. EF can also persist changes back to the database for you. In addition to this benefit, you will also benefit from the EF’s comprehension of relationships. This means you will not be required to write extra code to specify joins between entities when expressing queries or simply working with your objects in memory. EF provides you with three ways to describe the model of your entities. You can begin with a legacy database to create a model. You can design a model in a designer. Or you can simply define classes and let EF work with those. This last tactic is referred to as code first, because the first thing you do is write code to describe your entities. In this whitepaper, I will walk you through creating a simple MVC 3 application using Entity Framework’s code first technology to describe your classes and manage all of your data access. Overview In this walkthrough you will build pieces of a blogging application. The walkthrough will not result in a fully functional blogging application, but instead it will use the blog classes to demonstrate code first’s features.
    [Show full text]
  • Time Efficient Data Migration Among Clouds
    Time Efficient Data Migration among Clouds Syeda Munazza Marium, Liaquat Ali Thebo, Syed Naveed Ahmed jaffari Muhammad Hunain Memon Computer System Engineering Department Mehran University of Engineering & Technology School of Information Science and Technology Sindh Pakistan University of Science and Technology of China, [email protected], Hefei, China [email protected], [email protected] [email protected] Abstract— Cloud computing is one of the chief requirements of [35].This researched focused on an issue called cloud migration. modern IT trade. Today’s cloud industry progressively dependent Transferring data from one cloud to another with efficiency and on it, which lead mutually abundant solutions and challenges. operational processing is aimed here. Proposed online lazy Among the numerous challenges of Cloud computing, cloud migration (OLM) algorithm and a randomized fixed horizon migration is one of the major concern, and it is necessity to design control (RFHC) algorithm as a solution for cost-minimization optimize solutions to advance it with time. Data migration researchers attempt to move data concerning varying problem in data migration [31]. This work is dedicated to key geographical locations, which contain huge data volumes, compact challenges emerged when dealing with Iaas Infrastructure as a time limit and problematical architectures. Researchers aim to service and networking architecture of cloud like Software- transfer data with minimal transmission cost and used various defined networking (SDN) and other architectures [29]. In this efficient scheduling methods and other techniques to achieve this paper author investigates mobile cloud architecture and present objective. In former research struggles, numerous solutions have critical analysis over application model classification, decision proposed.
    [Show full text]