curl --request GET \
--url http://127.0.0.1:4319/memory/entities/relatedimport requests
url = "http://127.0.0.1:4319/memory/entities/related"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('http://127.0.0.1:4319/memory/entities/related', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "http://127.0.0.1:4319/memory/entities/related"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "4319",
CURLOPT_URL => "http://127.0.0.1:4319/memory/entities/related",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("http://127.0.0.1:4319/memory/entities/related")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_bodyHttpResponse<String> response = Unirest.get("http://127.0.0.1:4319/memory/entities/related")
.asString();using RestSharp;
var options = new RestClientOptions("http://127.0.0.1:4319/memory/entities/related");
var client = new RestClient(options);
var request = new RestRequest("");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
{
"entity": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "PostgreSQL",
"entityType": "technology",
"mentions": 123,
"memories": 123,
"documents": 123,
"aliases": [
"Opus 4.8"
]
},
"matchedAlias": "Bob",
"related": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "memloom",
"entityType": "project",
"mentions": 123,
"aliases": [
"<string>"
],
"links": [
{
"relation": "works_on",
"direction": "out",
"confidence": 123
}
],
"sharedSources": 123
}
],
"truncated": 123
}Walk the graph from one entity
Everything connected to one entity. The target may be an id, a name, or a folded-away
spelling, which resolves to its canonical with matchedAlias naming what was asked for.
Matched exactly, not by meaning: this is a graph lookup, not a search.
Two kinds of connection come back separately and are never blended. Stated links are typed edges extraction asserted, with direction. Co-mention is entities named by the same sources, which is weaker and never outranks a stated link.
curl --request GET \
--url http://127.0.0.1:4319/memory/entities/relatedimport requests
url = "http://127.0.0.1:4319/memory/entities/related"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('http://127.0.0.1:4319/memory/entities/related', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "http://127.0.0.1:4319/memory/entities/related"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "4319",
CURLOPT_URL => "http://127.0.0.1:4319/memory/entities/related",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("http://127.0.0.1:4319/memory/entities/related")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_bodyHttpResponse<String> response = Unirest.get("http://127.0.0.1:4319/memory/entities/related")
.asString();using RestSharp;
var options = new RestClientOptions("http://127.0.0.1:4319/memory/entities/related");
var client = new RestClient(options);
var request = new RestRequest("");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
{
"entity": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "PostgreSQL",
"entityType": "technology",
"mentions": 123,
"memories": 123,
"documents": 123,
"aliases": [
"Opus 4.8"
]
},
"matchedAlias": "Bob",
"related": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "memloom",
"entityType": "project",
"mentions": 123,
"aliases": [
"<string>"
],
"links": [
{
"relation": "works_on",
"direction": "out",
"confidence": 123
}
],
"sharedSources": 123
}
],
"truncated": 123
}Headers
The owner this request acts for. Applies to every owner-scoped endpoint, reads as well
as writes. Omit it and the daemon's own default owner answers (see GET /health), which
is what a single-owner install has always used. A value that is not a uuid is refused
with 400 rather than coerced.
Query Parameters
An entity id, name, or known alias.
Only return neighbours of this entity type.
Response
The entity and its neighbourhood.
An entity with its usage counts.
Hide child attributes
Hide child attributes
"PostgreSQL"
"technology"
Active mention edges pointing at this entity.
Distinct active memories that mention it.
Distinct context documents whose chunks mention it.
Spellings folded into this entity. Empty when nothing was merged in.
["Opus 4.8"]
The spelling asked for, when it was an alias rather than the entity's name.
"Bob"
Hide child attributes
Hide child attributes
"memloom"
"project"
Active mention edges pointing at this entity, so you can weigh it.
Stated relationships between the two. Empty means the connection is co-mention only: they turn up in the same memories without the graph asserting how they relate.
Distinct memories and chunks that mention both.
Neighbours beyond limit, so a cut answer never reads as a complete one.