Difference between revisions of "Virtual Graphs"

From Developer Documents
Jump to navigation Jump to search
m
Line 1: Line 1:
 
= Intro =
 
= Intro =
  
The Simantics database client allows for defining memory-based and disk-based graph fragments which are applied on top of the server based semantic graph.
+
The Simantics database client allows for defining memory-based and disk-based graph fragments which are applied on top of the server-based semantic graph.
  
 
A reading user perceives the combined model and the virtual graph information can be specifically queried if necessary.
 
A reading user perceives the combined model and the virtual graph information can be specifically queried if necessary.

Revision as of 04:39, 2 September 2011

Intro

The Simantics database client allows for defining memory-based and disk-based graph fragments which are applied on top of the server-based semantic graph.

A reading user perceives the combined model and the virtual graph information can be specifically queried if necessary.

A modifying user needs to specify in which virtual graph the modifications are made.

Virtual graphs are manipulated via the following interfaces

  • org.simantics.db.service.VirtualGraphSupport, for management
  • org.simantics.db.request.WriteTraits, for identifying the graph to write into

Specification

A write request has a single graph into which it writes. This is determined by WriteTraits and usually as a parameter to WriteRequest. If null is provided, the client applies modifications into the persistent graph. The following rules apply

  • New resources are created into the given virtual graph
  • Claim statements are added into the given virtual graph
  • Value changes are applied into the given virtual graph
  • For denied statements the location of the statement is determined and the statement is removed from that virtual graph.

The user can perform modifications into multiple virtual graphs within a single transaction. This is accomplished by issuing a new synchronous modification (WriteGraph.sync) into a new virtual graph.