<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Brightstar Blog</title>
	<atom:link href="http://brightstardb.com/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://brightstardb.com/blog</link>
	<description>Articles and news from the Brightstar Team</description>
	<lastBuildDate>Tue, 26 Feb 2013 08:42:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>BrightstarDB Goes Open Source</title>
		<link>http://brightstardb.com/blog/2013/02/brightstardb-goes-open-source/</link>
		<comments>http://brightstardb.com/blog/2013/02/brightstardb-goes-open-source/#comments</comments>
		<pubDate>Tue, 26 Feb 2013 08:42:11 +0000</pubDate>
		<dc:creator>Kal</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://brightstardb.com/blog/?p=527</guid>
		<description><![CDATA[In the last year or so of developing BrightstarDB, one thing we have always been aware of is how much of our competition is open source. We initially chose not to do that.  Having a closed source approach has enabled us to move quite quickly towards having a stable first release with the core features...<br/><a href="http://brightstardb.com/blog/2013/02/brightstardb-goes-open-source/">Read the full post</a>]]></description>
			<content:encoded><![CDATA[<p>In the last year or so of developing BrightstarDB, one thing we have always been aware of is how much of our competition is open source. We initially chose not to do that.  Having a closed source approach has enabled us to move quite quickly towards having a stable first release with the core features that we felt were important &#8211; it gave us total control over what we developed and how we did it. We briefly looked at the possibility of making a viable closed-source commercial product, but it was not to be. So now the time has come to relinquish some of that control and so we are today taking the step of announcing that BrightstarDB is to be released under an Open Source license.</p>
<p>The license we have chosen is the permissive MIT license &#8211; we hope that by choosing this license we can encourage developers to use BrightstarDB in their projects regardless of whether they are developing open or closed-source software.</p>
<p><strong>So what&#8217;s next ?</strong></p>
<p>Over the next few days there will be some tweaks and changes to the site and some tidying up of the code to enable everything to be built with a basic tool-kit of Visual Studio 2012 and some free / open-source tools. The main task facing us is the migration of documentation from the commercial Help and Manual product to some other form (right now we are thinking probably DocBook XML as HTML output for the site will be our primary concern); and some updates to the installer build to remove dependencies on the commercial obfuscator/IL merge tool we were using.</p>
<p>We are hosting the source on GitHub at <a href="https://github.com/BrightstarDB/BrightstarDB">https://github.com/BrightstarDB/BrightstarDB</a> and we will use CodePlex (<a href="http://brightstardb.codeplex.com/">http://brightstardb.codeplex.com/</a>) to host the &#8220;official&#8221; project binaries as and when they become available as well as using NuGet to distribute the core libraries as we have been doing with the closed-source offering up to now.</p>
<p><strong>Want to get involved ?</strong></p>
<p>Great! To be honest right now we are focussing just on getting the distribution updated and a new release out under the MIT license which can be built without using any of the commercial tools we have used in the past (with the exception of VS2012 for now). However, we would welcome potential contributors to come forwards, and of course you can always fork us any time you like on GitHub!</p>
<p>Onwards and upwards!</p>
]]></content:encoded>
			<wfw:commentRss>http://brightstardb.com/blog/2013/02/brightstardb-goes-open-source/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BrightstarDB Basics: A simple code first .NET entity framework project</title>
		<link>http://brightstardb.com/blog/2013/01/brightstardb-basics-a-simple-code-first-net-entity-framework-project/</link>
		<comments>http://brightstardb.com/blog/2013/01/brightstardb-basics-a-simple-code-first-net-entity-framework-project/#comments</comments>
		<pubDate>Wed, 30 Jan 2013 16:25:52 +0000</pubDate>
		<dc:creator>jen</dc:creator>
				<category><![CDATA[basics]]></category>

		<guid isPermaLink="false">http://brightstardb.com/blog/?p=442</guid>
		<description><![CDATA[Let&#8217;s build a quick and simple .NET project to show how to create and update data using the BrightstarDB code-first entity framework. First, open Visual Studio and create a new console application; then add a reference to the BrightstarDB DLL that is found in the installation directory (under BrightstarDB/SDK/NET40). Make sure that the Target framework...<br/><a href="http://brightstardb.com/blog/2013/01/brightstardb-basics-a-simple-code-first-net-entity-framework-project/">Read the full post</a>]]></description>
			<content:encoded><![CDATA[<p>Let&#8217;s build a quick and simple .NET project to show how to create and update data using the BrightstarDB code-first entity framework.</p>
<p>First, open Visual Studio and create a new console application; then add a reference to the BrightstarDB DLL that is found in the installation directory (under BrightstarDB/SDK/NET40). Make sure that the Target framework is <strong>not</strong> set to a client profile. Register your license as outlined in the documentation &#8220;<a href="http://brightstardb.com/documentation/Developing_With_BrightstarDB2.html#Licensing_For_Embedded_Applica">Licensing For Embedded Applications</a>&#8221;</p>
<h2>Entities are Interfaces</h2>
<p>Each entity in our system is created using an Interface. Right click the project and select Add &gt; New Item and select the Interface filetype; give it the name IPerson. Repeat this step and create another interface named ICompany.</p>
<p>To turn these interfaces into BrightstarDB entities, we add the Entity attribute to the interface. Every BrightstarDB entity <strong>must</strong> have a read-only Id property that is of type String. After both interfaces have the Entity attribute and the Id property, any number of properties can then be added to the entities, as shown below:<br />
<script type="text/javascript" src="https://gist.github.com/4672999.js"></script> </p>
<h2>Relationships between Entities</h2>
<p>To link the Person and Company entities, simply add a property to each of the entities showing the relationship between the two.<script type="text/javascript" src="https://gist.github.com/4673042.js"></script><br />
The second property is given the InverseProperty attribute, so that it is marked as describing the other end of the same relationship.</p>
<h2>BrightstarDB Context file</h2>
<p>Right click on the project and select Add &gt; New Item &gt; Brightstar Entity Context (in Data category). This adds a Text Transform file which picks up on the interfaces with the Entity attribute and builds a BrightstarEntityContext from the code. If you make any changes to the code of the interfaces, you can rebuild the BrightstarDB Context at any time by right clicking on the context file and selecting &#8220;Run Custom Tool&#8221;.</p>
<h2>Creating and updating entities</h2>
<p>Open the Program.cs file and add the following code:<br />
<script type="text/javascript" src="https://gist.github.com/4674246.js"></script>This creates 3 Person entities and adds properties to them. It also shows the creation of a Company entity and links that entity to two of the Person entities. Run the program (F5) to create the</p>
<h2>Reading entities</h2>
<p>To quickly view the data produced by this code, you can <a href="http://brightstardb.com/blog/2013/01/brightstardb-basics-first-steps-with-polaris/">open Polaris and do a quick query</a>. To access entities problematically you can use LINQ similar to the example below:<script type="text/javascript" src="https://gist.github.com/4674370.js"></script></p>
<h2>More information</h2>
<p>For more detailed explanations of how to develop with BrightstarDB, read <a href="http://brightstardb.com/documentation/Developing_With_BrightstarDB2.html">Developing with BrightstarDB</a>. There are also samples in the BrightstarDB installer, and explanations for each sample within the BrightstarDB documentation. As always you can use the <a title="BrightstarDB Community" href="http://brightstardb.com/community/">BrightstarDB Community Pages</a> for any questions or feedback.</p>
]]></content:encoded>
			<wfw:commentRss>http://brightstardb.com/blog/2013/01/brightstardb-basics-a-simple-code-first-net-entity-framework-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BrightstarDB Basics: Using SPARQL</title>
		<link>http://brightstardb.com/blog/2013/01/brightstardb-basics-using-sparql/</link>
		<comments>http://brightstardb.com/blog/2013/01/brightstardb-basics-using-sparql/#comments</comments>
		<pubDate>Mon, 28 Jan 2013 10:00:01 +0000</pubDate>
		<dc:creator>jen</dc:creator>
				<category><![CDATA[basics]]></category>

		<guid isPermaLink="false">http://brightstardb.com/blog/?p=440</guid>
		<description><![CDATA[SPARQL is a query language for databases that store data in RDF format. Learning to use SPARQL is much the same as learning a query language such as T-SQL, which you would use when querying Microsoft SQL databases. Although at first learning new query languages can be daunting, it is well worth the time invested,...<br/><a href="http://brightstardb.com/blog/2013/01/brightstardb-basics-using-sparql/">Read the full post</a>]]></description>
			<content:encoded><![CDATA[<p>SPARQL is a query language for databases that store data in RDF format. Learning to use SPARQL is much the same as learning a query language such as T-SQL, which you would use when querying Microsoft SQL databases. Although at first learning new query languages can be daunting, it is well worth the time invested, as SPARQL is the front runner in querying data that is part of the semantic web.</p>
<h2>RDF Format</h2>
<p>To understand SPQARL, first it is best to learn more about the format of RDF. RDF stores data in the forms of triples. Each triple consists of a subject, a predicate and an object.</p>
<p><strong>Subject</strong><br />
The subject is the address of the resource being described.<br />
<strong>Predicate</strong><br />
The predicate describes the relationship between the subject and the object<br />
<strong>Object</strong><br />
The object is the value of the property, this can be either a literal value or the address of another resource</p>
<p>It is sometimes easier to describe these triples as Resource -&gt; Property -&gt; Value</p>
<p>For example, if we were to describe details of a company* in RDF form, it might look similar to the following:<br />
<script type="text/javascript" src="https://gist.github.com/4634671.js"></script><br />
*data taken from the business.data.gov.uk dataset on <a href="http://datahub.io/dataset/business-data-gov-uk">datahub.io</a>, click &#8220;view raw&#8221; for a cleaner view.</p>
<h2>Simple SPARQL Queries</h2>
<p>The best way to demonstrate SPARQL queries is to dive right in with some examples. We will be using Polaris tool that installs with BrightstarDB, and the business.data.gov.uk dataset used in the previous post &#8220;<a href="http://brightstardb.com/blog/2013/01/brightstardb-basics-first-steps-with-polaris/">First steps with Polaris</a>&#8220;.</p>
<p>1. Select all businesses ordered by town</p>
<pre>select ?business ?town where {?business &lt;http://research.data.gov.uk/def/project/town&gt; ?town } order by ?town</pre>
<p>This returns 275 rows of data, consisting of two columns, the first being &#8220;business&#8221; (the resource ID for the business) and the second being &#8220;town&#8221;. The results are ordered by the town column, starting with Abbotsley and ending with York.</p>
<p>2. Select all businesses in Manchester</p>
<pre>select ?business where {?business &lt;http://research.data.gov.uk/def/project/town&gt; "Manchester" }</pre>
<p><img class="aligncenter size-medium wp-image-466" title="SPARQL Query example 2" src="http://brightstardb.com/blog/wp-content/uploads/2013/01/2-300x246.png" alt="SPARQL Query example 2" width="300" height="246" /></p>
<p>This query returns 7 rows, consisting of a single column of resource IDs. To return more information about the businesses, we can extend the query to include extra properties and their values.</p>
<p>3. Select all businesses in Manchester and any other information about them.</p>
<pre>select * where {?business &lt;http://research.data.gov.uk/def/project/town&gt; "Manchester" . ?business ?property ?value }</pre>
<p><a href="http://brightstardb.com/blog/wp-content/uploads/2013/01/3.png"><img class="aligncenter size-medium wp-image-467" title="SPARQL Query example 3" src="http://brightstardb.com/blog/wp-content/uploads/2013/01/3-300x143.png" alt="SPARQL Query example 3" width="300" height="143" /></a></p>
<p>This returns far more information, in total 150 rows of data are returned that describe the 7 companies returned from the previous query.</p>
<p>This blog post is only designed to give a brief introduction into SPARQL, and so for a more in depth look into the language there are many different resources available on the web.</p>
<h2>SPARQL resources online</h2>
<ul>
<li>Full <a href="http://www.w3.org/TR/sparql11-query/">SPARQL 1.1 Documentation</a> at the W3C</li>
<li><a href="http://www.linkeddatatools.com/querying-semantic-data">Querying semantic data</a> tutorial*</li>
<li><a href="http://www.cambridgesemantics.com/en_GB/semantic-university/sparql-by-example">SPARQL By Example</a>*</li>
</ul>
<p>*written for SPARQL 1.0 but still a thorough introduction to the language</p>
]]></content:encoded>
			<wfw:commentRss>http://brightstardb.com/blog/2013/01/brightstardb-basics-using-sparql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BrightstarDB Basics: First steps with Polaris</title>
		<link>http://brightstardb.com/blog/2013/01/brightstardb-basics-first-steps-with-polaris/</link>
		<comments>http://brightstardb.com/blog/2013/01/brightstardb-basics-first-steps-with-polaris/#comments</comments>
		<pubDate>Tue, 22 Jan 2013 14:56:09 +0000</pubDate>
		<dc:creator>jen</dc:creator>
				<category><![CDATA[basics]]></category>

		<guid isPermaLink="false">http://brightstardb.com/blog/?p=409</guid>
		<description><![CDATA[Creating a connection When opening Polaris for the first time, you will be given a prompt to create a connection: Without a connection set up you will not be able to create any stores, so click &#8220;Yes&#8221; to open a new Connection Properties dialog box: The recommended setting is to connect to a BrightstarDB server;...<br/><a href="http://brightstardb.com/blog/2013/01/brightstardb-basics-first-steps-with-polaris/">Read the full post</a>]]></description>
			<content:encoded><![CDATA[<h2>Creating a connection</h2>
<p>When opening Polaris for the first time, you will be given a prompt to create a connection:</p>
<p><img class="aligncenter size-full wp-image-411" title="Polaris prompt" src="http://brightstardb.com/blog/wp-content/uploads/2013/01/start.png" alt="Polaris prompt" width="482" height="219" />Without a connection set up you will not be able to create any stores, so click &#8220;Yes&#8221; to open a new Connection Properties dialog box:</p>
<p><img class="aligncenter size-full wp-image-415" title="New connection in Polaris" src="http://brightstardb.com/blog/wp-content/uploads/2013/01/newconn.png" alt="New connection in Polaris" width="401" height="371" /></p>
<p>The recommended setting is to connect to a BrightstarDB server; selecting &#8220;HTTP&#8221; from the Connection Type field will auto-fill the other fields with the default settings for a local BrightstarDB service. Add a name for the connection and click &#8220;OK&#8221;.</p>
<p><em>Note: the BrightstarDB installation sets up the BrightstarDB service at the localhost:8090 HTTP endpoint. You must have the IIS feature enabled on your machine for this endpoint to have been created successfully. If after creating a connection, Polaris reports it is not able to connect, check the installation pre-requisites and that the service is has started successfully.</em></p>
<h2>Creating a store</h2>
<p>Creating a new store within Polaris simply consists of right-clicking on the connection name, and selecting &#8220;New Store&#8221;</p>
<p><img class="aligncenter size-full wp-image-418" title="New Store" src="http://brightstardb.com/blog/wp-content/uploads/2013/01/newstore.png" alt="New Store" width="400" height="114" /></p>
<h2>Adding data</h2>
<p>There are a number of different ways to add data to a store, which you choose will depend entirely on your project. For the purpose of this blog post we will find an existing dataset on the web, and import it directly into our new BrightstarDB store.</p>
<p>I have chosen a widely available dataset of business-related data from data.gov.uk, which can be dowloaded from the <a href="http://datahub.io/dataset/business-data-gov-uk">datahub.io</a>. Right click on the store, and select New &gt; Import Job Import the dataset into your newly created store (for more information, see the &#8220;Importing Data&#8221; section of <a title="Using Polaris" href="http://brightstardb.com/documentation/Using_Polaris.html">Using Polaris</a>)</p>
<p><img class="aligncenter size-full wp-image-426" title="Import Data into BrightstarDB" src="http://brightstardb.com/blog/wp-content/uploads/2013/01/importjob.png" alt="Import Data into BrightstarDB" width="657" height="268" /></p>
<p><img class="aligncenter size-full wp-image-428" title="Import Success" src="http://brightstardb.com/blog/wp-content/uploads/2013/01/importsuccess.png" alt="Import Success" width="486" height="161" /></p>
<h2>Query the data</h2>
<p>Querying in BrightstarDB is done with SPARQL. Detailing SPARQL queries is outside the scope of this blog post, but the most basic one would be a &#8220;select all&#8221;:</p>
<pre>SELECT * WHERE {?subject ?predicate ?object}</pre>
<p style="text-align: center;"><a href="http://brightstardb.com/blog/wp-content/uploads/2013/01/selectall.png"><img class="aligncenter size-large wp-image-431" title="Querying data with SPARQL" src="http://brightstardb.com/blog/wp-content/uploads/2013/01/selectall-1024x771.png" alt="Querying data with SPARQL" width="819" height="617" /></a></p>
<p>The next post will talk more about SPARQL querying of data, or use the <a title="BrightstarDB Community" href="http://brightstardb.com/community/">BrightstarDB Community Pages</a> for any questions or feedback.</p>
]]></content:encoded>
			<wfw:commentRss>http://brightstardb.com/blog/2013/01/brightstardb-basics-first-steps-with-polaris/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BrightstarDB Basics: License Manager</title>
		<link>http://brightstardb.com/blog/2013/01/brightstardb-basics-license-manager/</link>
		<comments>http://brightstardb.com/blog/2013/01/brightstardb-basics-license-manager/#comments</comments>
		<pubDate>Tue, 22 Jan 2013 11:48:45 +0000</pubDate>
		<dc:creator>jen</dc:creator>
				<category><![CDATA[basics]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://brightstardb.com/blog/?p=397</guid>
		<description><![CDATA[When you first install BrightstarDB you will be prompted for a license. The License Manager will open automatically after installation, or you can open it at any time from the BrightstarDB installation folder. Licensee: Enter the email address that you registered on the BrightstarDB website. License Key: Login to your account at http://brightstardb.com/customers to retrieve...<br/><a href="http://brightstardb.com/blog/2013/01/brightstardb-basics-license-manager/">Read the full post</a>]]></description>
			<content:encoded><![CDATA[<p>When you first install BrightstarDB you will be prompted for a license. The License Manager will open automatically after installation, or you can open it at any time from the BrightstarDB installation folder.</p>
<p><img class="aligncenter size-full wp-image-399" title="BrightstarDB License Manager" src="http://brightstardb.com/blog/wp-content/uploads/2013/01/manager.png" alt="BrightstarDB License Manager" width="525" height="280" /></p>
<p><strong>Licensee:</strong> Enter the email address that you registered on the BrightstarDB website.</p>
<p><strong>License Key: </strong>Login to your account at <a title="BrightstarDB Customer Portal" href="http://brightstardb.com/customers">http://brightstardb.com/customers</a> to retrieve or request license keys.</p>
<p>Click here for more information about the <a title="BrightstarDB Licensing Options" href="http://brightstardb.com/documentation/Licensing_Options.html">BrightstarDB Licensing Options</a>, or use the <a title="BrightstarDB Community" href="http://brightstardb.com/community/">BrightstarDB Community Pages</a> for any questions or feedback.</p>
]]></content:encoded>
			<wfw:commentRss>http://brightstardb.com/blog/2013/01/brightstardb-basics-license-manager/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BrightstarDB Version 1.2 Released</title>
		<link>http://brightstardb.com/blog/2013/01/brightstardb-version-1-2-released/</link>
		<comments>http://brightstardb.com/blog/2013/01/brightstardb-version-1-2-released/#comments</comments>
		<pubDate>Fri, 11 Jan 2013 10:17:12 +0000</pubDate>
		<dc:creator>gra</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://brightstardb.com/blog/?p=385</guid>
		<description><![CDATA[We are excited to announce the 1.2 release of BrightstarDB. With this release we have created four specific editions of BrightstarDB to cater to the different environments where it can be used. The four editions are Mobile, Embedded, Server and Enterprise. The Mobile and Embedded editions contain just the core BrightstarDB DLLs that are needed...<br/><a href="http://brightstardb.com/blog/2013/01/brightstardb-version-1-2-released/">Read the full post</a>]]></description>
			<content:encoded><![CDATA[<p>We are excited to announce the 1.2 release of BrightstarDB. With this release we have created four specific editions of BrightstarDB to cater to the different environments where it can be used. The four editions are Mobile, Embedded, Server and Enterprise.</p>
<p>The Mobile and Embedded editions contain just the core BrightstarDB DLLs that are needed to build applications on the phone or on the desktop. The Server edition contains all the DLLs and services to run BrightstarDB as a service. Finally, the Enterprise edition contains everything in Server but also contains the BrightstarDB SDShare Server. The SDShare server provides the ability to expose existing data systems as RDF that can be consumed into BrightstarDB instances.</p>
<p>The other major change with this release is the introduction of license protection. All BrightstarDB versions now require a valid license. Trial licenses can be acquired from the website. </p>
<p>Check out the <a href="/documentation/Whats_New.html" title="What's new">what&#8217;s new</a> section of the documentation for details of technical changes in 1.2.</p>
]]></content:encoded>
			<wfw:commentRss>http://brightstardb.com/blog/2013/01/brightstardb-version-1-2-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BrightstarDB 1.1 Release and NuGet Package Updates</title>
		<link>http://brightstardb.com/blog/2012/09/brightstardb-1-1-release-and-nuget-package-updates/</link>
		<comments>http://brightstardb.com/blog/2012/09/brightstardb-1-1-release-and-nuget-package-updates/#comments</comments>
		<pubDate>Fri, 28 Sep 2012 14:39:16 +0000</pubDate>
		<dc:creator>Kal</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://brightstardb.com/blog/?p=370</guid>
		<description><![CDATA[Following pretty hot on the heels of the 1.0 release, we are pleased to announce BrightstarDB 1.1 is now available for download. This release has two main features. Firstly, the Entity Framework now supports arbitrary levels of interface inheritance in your entity interfaces. This makes it much easier to create complex data models that using...<br/><a href="http://brightstardb.com/blog/2012/09/brightstardb-1-1-release-and-nuget-package-updates/">Read the full post</a>]]></description>
			<content:encoded><![CDATA[<p>Following pretty hot on the heels of the 1.0 release, we are pleased to announce BrightstarDB 1.1 is now available for download.</p>
<p>This release has two main features. Firstly, the Entity Framework now supports arbitrary levels of interface inheritance in your entity interfaces. This makes it much easier to create complex data models that using either straight-forward single inheritance or a more mix-in strategy of multiple inheritance. Secondly we are pleased to have added support for Visual Studio 2012 integration to add the item templates for the BrightstarDB entity context and entity definitions. Currently we only target Visual Studio 2012 Professional or above. If you are using one of the Express versions of Visual Studio 2012 the installer will not be able to add the item templates &#8211; we hope to have this issue addressed in a future release.</p>
<p>At the same time we have updated the BrightstarDB packages on NuGet. We would like to thank Ken LeFebvre who initially created the BrightstarDB package back when we were still in beta, both for showing us what a good idea it is and also for allowing us to take over the management of the package. We now have two packages on NuGet &#8211; if you want to build an application using our Entity Framework, then install the <strong>BrightstarDB</strong> package to get the main BrightstarDB DLL and the entity context text template; if you want to code against the RDF API, Data Objects API or Dynamics objects API, then you can use the <strong>BrightstarDBLibs</strong> package to install just the BrighstarDB DLL.</p>
<p>To get hold of the full installer, head over to the <a href="/download/">Download</a> page.</p>
]]></content:encoded>
			<wfw:commentRss>http://brightstardb.com/blog/2012/09/brightstardb-1-1-release-and-nuget-package-updates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BrightstarDB 1.0 Now Available</title>
		<link>http://brightstardb.com/blog/2012/09/brightstardb-1-0-now-available/</link>
		<comments>http://brightstardb.com/blog/2012/09/brightstardb-1-0-now-available/#comments</comments>
		<pubDate>Mon, 24 Sep 2012 10:09:12 +0000</pubDate>
		<dc:creator>gra</dc:creator>
				<category><![CDATA[release news]]></category>

		<guid isPermaLink="false">http://brightstardb.com/blog/?p=362</guid>
		<description><![CDATA[We&#8217;re very excited to have released BrightstarDB 1.0! Thank you to everyone who has helped us get to this point. We believe that BrightstarDB is a really unique and powerful offering on the .NET platform and are excited to see the many different ways people are using it. Commercial licenses can now be purchased via...<br/><a href="http://brightstardb.com/blog/2012/09/brightstardb-1-0-now-available/">Read the full post</a>]]></description>
			<content:encoded><![CDATA[<p>We&#8217;re very excited to have released BrightstarDB 1.0!</p>
<p>Thank you to everyone who has helped us get to this point. We believe that BrightstarDB is a really unique and powerful offering on the .NET platform and are excited to see the many different ways people are using it.</p>
<p>Commercial licenses can now be purchased via our secure payments page, see the <a href="http://www.brightstardb.com/download">download</a> page for more information.</p>
<p>Alongside the 1.0 release of the on-premise version is the beta version of the Azure service offering. If you would like to be considered for our <a href="http://www.brightstardb.com/service">beta programme</a> then please contact us contact@brightstardb.com</p>
<p>Note: We made only a few minor bug fixes from the release candidate and no major breaking changes.</p>
]]></content:encoded>
			<wfw:commentRss>http://brightstardb.com/blog/2012/09/brightstardb-1-0-now-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BrightstarDB 1.0 Release Candidate now available</title>
		<link>http://brightstardb.com/blog/2012/08/brightstardb-1-0-release-candidate-now-available/</link>
		<comments>http://brightstardb.com/blog/2012/08/brightstardb-1-0-release-candidate-now-available/#comments</comments>
		<pubDate>Tue, 21 Aug 2012 10:33:13 +0000</pubDate>
		<dc:creator>gra</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://brightstardb.com/blog/?p=341</guid>
		<description><![CDATA[We&#8217;re very excited to have got to the point of making the 1.0 release candidate available. Major Feature As well as the append only store BrightstarDB now supports a store format we call &#8216;rewrite&#8217;. This is intended to be used on phone devices or in applications that have limited disk space. Stores using the rewrite...<br/><a href="http://brightstardb.com/blog/2012/08/brightstardb-1-0-release-candidate-now-available/">Read the full post</a>]]></description>
			<content:encoded><![CDATA[<p>We&#8217;re very excited to have got to the point of making the 1.0 release candidate available.</p>
<p><b>Major Feature</b></p>
<p>As well as the append only store BrightstarDB now supports a store format we call &#8216;rewrite&#8217;. This is intended to be used on phone devices or in applications that have limited disk space. Stores using the rewrite version use much less disk space.</p>
<p><b>IMPORTANT NOTE</b></p>
<p>While there are no API changes, the release candidate has a major breaking change in that all stores created with previous versions are not compatible. We needed to change the store format in order to provide the rewrite store capability and to improve transaction processing capabilities and memory footprint for large stores. We felt the improvements in stability and performance were worth changing the store format and apologise for any inconvenience this may cause.</p>
<p>To upgrade existing stores where the data cannot be reimported or recreated export the RDF via Polaris <b>BEFORE UPGRADING</b>. Install the new version of BrightstarDB and re-import the RDF.</p>
<p>We are commited that, bar any critical bug fixes, there will be no further breaking changes to the store format for the 1.0 release and any subsequent releases will include data store migration utilities.</p>
<p>Thank you to all the people who have been using BrightstarDB and providing valuable feedback!</p>
<p>Download the <a href="http://brightstardb.com/download/filedownload.aspx?file=BrightstarDB-Latest.zip" title="BrightstarDB 1.0 Release Candidate">BrightstarDB 1.0 Release Candidate</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://brightstardb.com/blog/2012/08/brightstardb-1-0-release-candidate-now-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Persistence for .NET dynamic objects</title>
		<link>http://brightstardb.com/blog/2012/08/persistence-for-net-dynamic-objects/</link>
		<comments>http://brightstardb.com/blog/2012/08/persistence-for-net-dynamic-objects/#comments</comments>
		<pubDate>Thu, 16 Aug 2012 07:30:39 +0000</pubDate>
		<dc:creator>gra</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://brightstardb.com/blog/?p=282</guid>
		<description><![CDATA[The dynamic keyword and related DynamicObject classes were introduced to bridge the gap to COM and into languages such as Python and Ruby. While they offer a lot of power in their own right many people are put off using dynamic objects to build a data driven system because of the lack of a persistence...<br/><a href="http://brightstardb.com/blog/2012/08/persistence-for-net-dynamic-objects/">Read the full post</a>]]></description>
			<content:encoded><![CDATA[<p>The dynamic keyword and related DynamicObject classes were introduced to bridge the gap to COM and into languages such as Python and Ruby. While they offer a lot of power in their own right many people are put off using dynamic objects to build a data driven system because of the lack of a persistence model for dynamic. </p>
<p>BrightstarDB is a NoSQL triple-store database. This means its schema-less and thus an ideal way to store the state of dynamic objects. More specifically BrightstarDB offers a data context dedicated to working with dynamic objects.</p>
<p>To see how the <a href="http://brightstardb.com/documentation/Dynamic_API.html" title="Dynamic in BrightstarDB" target="_blank">BrightstarDB dynamic support</a> can be used to build a data driven system we have <a href="https://github.com/BrightstarDB/DynamicSystem" title="Complete code for DynamicSystem" target="_blank">published a complete project</a> on github. In this post we&#8217;ll walk through the key aspects.</p>
<p>We start by reviewing the basic support for dynamic persistence in BrightstarDB.</p>
<p><script src="https://gist.github.com/3141308.js"> </script></p>
<p>The aim of this sample project is to create a dynamic data driven system. While most usages of <tt>dynamic</tt> are ad-hoc we are building a complete system and want to introduce some structure while only using dynamic objects. </p>
<p>The main thing we want to do is introduce the idea of &#8216;types&#8217;. This may sound a little strange but these are not static types in the .NET sense, they are more like prototypes or type descriptors. Each type will also be a dynamic object and it will contain a known property that will list the names of the keys that apply to instances of this type. We say &#8216;apply to&#8217; as there is no strict enforcement that instances shall have these properties. </p>
<p>The types are used for grouping and finding instances of the right type and also for dynamically introspecting instances. The other well known property we will use is one that connects instances to their type. To start, each dynamic instance will be connected to just one type, but as this is all dynamic and all &#8216;just&#8217; data it is possible that an instance could have multiple types. The pattern we are describing here is a classic grounding, or bootstrapping approach to creating layers of structure in a generic model. We use just a couple of well known, or grounding properties, from which we can build structure. </p>
<p>It is important to note that this dynamic system is just one kind. The great thing about dynamic objects is that they let the developer build different kinds of models and meta-models to suit the problem at hand.</p>
<p>Our dynamic system will offer the following interface. The comments on each method provide an outline of what capabilities it provides:</p>
<p><script src="https://gist.github.com/3141536.js"> </script></p>
<p>The following implementation of the interface shows how we can use the BrightstarDB support for dynamic to implement the methods of our typed dynamic system: </p>
<p><script src="https://gist.github.com/3141573.js"> </script></p>
<p>These tests show how to use the DynamicSystem service object we have created. </p>
<p><script src="https://gist.github.com/3141533.js"> </script></p>
<p><strong>Use cases for a dynamic persistent system<br />
</strong></p>
<p>Now that we can easily persist dynamic objects what can we use it for? The generic use case is one where users or administrators or other parts of the system code have a need to create types at runtime. Here are two specific examples:</p>
<p>The first example is a content management system. Administrators are allowed to define content types when the system is running. For each content type they can define the properties that an instance should have. A UI generator can introspect the dynamic types to see which properties to show and instances of each type would of course be dynamic objects.</p>
<p>The second use case is a system component that receives event data from multiple sources. Each source provides consistent data but in a structure that is different from other sources. Some elements of the event data are consistent, such as when it occurred. But all other data is dynamic. The event aggregator implemented using dynamics would be able to create a new dynamic type when it first encouters a new event type and then create dynamic instances to represent the event data.      </p>
<p>In this post we have used the basic dynamic persistence capabilities in <a href="http://www.brightstardb.com" title="BrightstarDB" target="_blank">BrightstarDB</a> to create a complete persistent dynamic system.</p>
]]></content:encoded>
			<wfw:commentRss>http://brightstardb.com/blog/2012/08/persistence-for-net-dynamic-objects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
