Skip to content

Commit

Permalink
Merge branch 'main' into egeriadojoday1
Browse files Browse the repository at this point in the history
  • Loading branch information
cmgrote committed Nov 12, 2021
2 parents d02806c + eb94430 commit 3c41947
Show file tree
Hide file tree
Showing 67 changed files with 868 additions and 450 deletions.
2 changes: 1 addition & 1 deletion site/docs/connectors/connector-catalog.drawio

Large diffs are not rendered by default.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 16 additions & 0 deletions site/docs/connectors/repository/in-memory.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the ODPi Egeria project. -->


--8<-- "snippets/content-status/released.md"

# In Memory Repository Connector

The In-memory OMRS Repository Connector provides a simple repository
implementation that "stores" metadata in hash maps within the JVM.
It is used for testing, or for environments where metadata maintained in other repositories
needs to be cached locally for performance/scalability reasons.


--8<-- "snippets/abbr.md"

54 changes: 54 additions & 0 deletions site/docs/connectors/repository/janus-graph.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the ODPi Egeria project. -->

--8<-- "snippets/content-status/released.md"

# Graph Repository

The Graph Repository provides a local repository that uses a graph store as its persistence store.

## Configuration
To configure an [Metadata Access Store](/egeria-docs/concepts/metadata-access-store) to use the Graph Repository, set the repository-mode to 'local-graph-repository'. For example:

```
POST <serverURLRoot>/open-metadata/admin-services/users/<userName>/servers/<serverName>/local-repository/mode/local-graph-repository
```

Replace the <serverURLRoot>, <userName> and <serverName> with the values appropriate for the server you are configuring.

## Using the Graph Repository
The interface to the graph repository is the OMRS MetadataCollection API. The graph repository supports almost all of the MetadataCollection API apart from historical queries and undo.

## Using the find methods
The find methods (listed below) use regular expression (regexp) syntax. They are intended for retrieval of specific entities or relationships and the regexp is always matched to the whole of the property value or classification name.
* findEntitiesByProperty()
* findRelationshipsByProperty()
* findEntitiesByPropertyValue()
* findRelationshipsByPropertyValue()
* findEntitiesByClassification()

The first two methods accept a map of property names and values that acts as a filter.
The next pair of methods accept a string that is matched against the values of any string properties.
The last method accepts a string that is matched against the names of classifications associated with an entity.

In all cases the string value(s) provided are treated as a regular expression that is matched against the whole property value or classification name.

To find entities with property values of "coco-asset-123", "coco-asset-456", "coco-asset-789" you could specify a regexp e.g. "coco-asset-.*"

To find an entity or relationship with a property value of "coco-asset-123" you need to specify a regexp that will match the whole string value, e.g. "coco-asset-.*", a substring is not sufficient. If you were to only specify a regexp of "coco-asset", it would not match the entity or relationship.

Similarly, to find an entity with a classification with name "coco-classification-abc" you would need to to specify a regexp that will match the whole string value, e.g. "coco-classification-.*"


## Under the hood
Internally, the Graph Repository uses JanusGraph to create a graph database. The JanusGraph graph database and graph are automatically created and the graph schema and search indexes are automatically configured.

The Graph Repository configures JanusGraph to use the berkeley embedded database and Lucene search indexes.

The supported interface for using the Graph Repository is the MetadataCollection API, and access should only be performed through this interface. In contrast, the schema and indexing used internally by the Graph Repository are subject to change as a result of future improvements to Egeria and should not be relied upon directly.

The repository uses the repository helper for parameter and type validation.


--8<-- "snippets/abbr.md"

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 3c41947

Please sign in to comment.