Wednesday, October 28, 2009

Semantics v1.2 Released

Intellidimension has just released version 1.2 of its Semantics.Server and Semantics.SDK. Both products are available for download from its web site.

http://www.intellidimension.com/downloads

Release Notes:

General:

  • Added native list data type and associated functions (list, nil, first, rest, listlength, listmember).

Semantics.Server:

  • Improvements to full-text search.
  • Additional auxiliary SQL statistics including expandable histogram (error based vs. fixed size)

Semantics.SDK:

  • Improvements to query compilation to deal with unsafe rules and aggregates.
  • Added rule rewriter support
  • Enhanced full-text search expressions.
  • Fixes to turtle parsing.
  • XSPARQL support
  • New data source (InMemoryGraph) with dramatically reduced memory footprint with full text index.
  • Improved query caching in ClientModel
  • Events added for improved manageability of models (ex Caching Events)
  • Reduced size of over the wire serialization of graphs and tables
  • Math functions added
  • Improvements to RDF serialization of objects.
  • Added hash index based data source (HashDataSource).
  • Modified quad serialization to be compatible with other implementations.
  • Added support for function cardinality callbacks in function registration
  • Enforce proper namespace conventions (blank namespace not allowed)

Model Manager:

  • Support for multiple models within a project file.
  • Support for multiple query windows.
  • Addition of Model Manager extension API
  • Improvements to Semantics.Server assembly installer.
  • Added SQL Data Source extension.
  • Added Semantics.Server extension.
  • Added Local Client Model extension.
  • New In-Memory Graph extension.
  • Support for adding custom functions via user interface.
  • Support for query parameters.
  • General improvements to user interface.
  • Addition of model namespace configuration.
  • Load and save of query results
  • New baseball sample project

Wednesday, October 14, 2009

Model Manager Improvements (v1.2)

The Model Manager has a number of significant improvements in version 1.2 of the Semantics.SDK. The Model Manager is a Windows desktop application that exposes many of the features of the Semantics.SDK and Semantics.Server.

Projects and Models

The Model Manager operates on a single project at a time that consists of one or more models. A model is fundamentally a set of RDF graphs that can be queried. The Model Manager supports different types of models each with additional capabilities beyond supporting graphs and queries. The Model Manager allows you to create, edit and remove models from your project.

A model can be created from either the main application file menu or from a context menu on the models collection item in the tree control. A model can be saved to file as part of a project or in its own file where it can be opened in another project.

Local Model

A Local Model is a model that runs in the same process as the Model Manager. It supports federated queries across local in-memory RDF graphs, as well as, external sources of data such a relational store (SQL Data Source) or a Semantics.Server graph (Server Graph). In addition of data sources to a Local Model also supports:

  • Custom Functions
  • Rulebases
  • Graph Aliases
  • Namespaces
Server Model

A Server Model is a model that runs in a separate process from that of the Model Manager. Server Models support one or more RDF graphs and can be queried. Server Model graphs can also be added as data sources to a Local Model to perform federated queries with graphs not part of that Server Model. A Local Model can also be created from a Server Model to include all the graphs from that Server Model in the Local Model. The advantage being now you can make use of all the features supported by the Local Model (ex: custom functions or namespaces). Each type of Server Model supports a different set of features that may or may not be the same of those available in a Local Model.

Semantics.Server Model

A Semantics.Server Model is added to a project by selecting it from the new model menu. This will open the dialog shown below that allows you to define the SQL Server connection settings for the database.

image

 

If the database does not exist or Semantics.Server has not been installed on that database then you must first run the Semantics.Server installer by clicking on the “Setup” button.

image 

SQL Data Source

The SQL Data Source exposes existing relational databases as RDF and allows them to be queried using SPARQL. You can add a SQL Data Source to your Local Model by selecting it on the add menu available as a context menu on the data source collection for the model. The following configuration dialog will open that allows you to defined the URI for the data source, the SQL connection string for the relational DB, the base URI for the relation data, and the query mode (data, ontology or both).

image 

Queries

The Model Manager now supports a multiple query files open at the same time! To execute a query you must select the model you wish to query using the main menu and either open an existing query file or type in a query and press “F5”. The query results are shown in the grid below. The query results can be saved to a file using SPARQL Results XML format by using the context menu available from the grid.

image

Monday, October 12, 2009

Baseball Sample Model

The v1.2 release of the Semantics.SDK includes a sample model that can be loaded into the Model Manager. The model contains a simple ontology for describing a baseball team lineup and a sample lineup that uses the ontology. To try out the sample, start the Model Manager application, click the menu item “Help -> Open Sample Project…” and select the “baseball.project” file.

clip_image002

The model has two graphs that contain the ontology (http://www.intellidimension.com/schema/baseball/20090721#Ontology) and instance data (http://www.intellidimension.com/schema/baseball/20090721#Data). The RDF data for these graphs are available in the files “baseball-ontology.ttl” and “team-data.ttl” respectively.

The sample includes a couple of SPARQL query files that can be used with this model. To open a SPARQL query click on the “File->Open->Query” menu and open one of the queries in the directory “<install dir>\samples\models\baseball”.

The query file “lineup-card.sparql” contains a SPARQL SELECT query that creates a result set in a format similar to lineup card. The other query file “validate-lineup.sparql” runs a set of inference rules over the lineup data to ensure that it’s valid. This query adds the same batter twice to the lineup to create a violation and report on it.