On this page:
graph-skolemize
graph-skolemize!
skolem-url?
graph-tree/  c
graph->tree
statement-list->tree
describe-graph

8.6 Graph Operations🔗ℹ

Skolemization is the process of replacing all blank nodes in a graph with specially constructed IRIs. This allows simpler graph processing in some cases as the processor only has to deal with one object identifier type. The constructed IRIs follow the template below and this library uses UUIDs in string form as the unique identifier part.

"https://{{domain}}/.well-known/skolem/{{unique-id}}"

procedure

(graph-skolemize graph [domain-name])  graph?

  graph : graph?
  domain-name : string? = "example.com"
Returns a new graph with all blank nodes in the original having been replaced with skolem IRIs.

procedure

(graph-skolemize! graph [domain-name])  graph?

  graph : graph?
  domain-name : string? = "example.com"
The same as graph-skolemize but performs the change to graph directly and therefore the returned graph is the same object as the graph passed in as the source.

procedure

(skolem-url? url)  boolean?

  url : url?
Returns #t is a skolem IRI using the well-known path in the template above.

TBD

procedure

(graph->tree graph)  graph-tree/c

  graph : graph?
TBD

procedure

(statement-list->tree statements)  graph-tree/c

  statements : statement-list?
TBD

procedure

(describe-graph graph [subject])  statement-list?

  graph : graph?
  subject : subject? = #f
Returns a list of statements that correspond to a basic description of the graph using both the SPARQL service description and VOID vocabularies.