Links APIManaged Fusion Admin APIs
The Links API manages the links that represent the relationships between Managed Fusion objects. You can see these links in the Object Explorer by pressing CMD-K or CTRL-K from any screen in the Managed Fusion UI. You can also export and import links using the Objects API.
Links are structured as a tuple of (subject, object, linkType)
. An example would be (foo, bar, dependsOn)
, which would read as "foo dependsOn bar".
For more information, view the API specification.
Link types and link reversibility
The possible values of linkType
are as follows:
|
The subject exists in the context of the object, which is an app. In this example, the "Movie_Search" app is the context for a parser with the same name:
|
|
The subject is an app that contains the object. In this example, an index profile exists in the context of the "Movie_Search" app:
|
|
The subject depends on the object. In this example, a datasource called "web_pokeapi_co-default" depends on a parser by the same name:
|
|
The subject is depended on by the object (the reverse of In this example, a parser called "web_pokeapi_co-default" supports a datasource by the same name:
|
|
The subject is part of the object, where the object is a group. In this example, an aggregation called "click-signals-default" is part of a group called "signals-object-group-default":
|
|
The subject is a group, of which the object is a member (the reverse of In this example, an aggregation called "click-signals-default" is part of a group called "signals-object-group-default":
|
|
The subject relates to the object. This is a uni-directional relationship that associates two objects that have none of the relationships described above. For example, when recommendations are enabled for the default collection, Managed Fusion creates a group of objects which relates to the default collection:
|
With the exception of the relatesTo
link type, links are reversible:
-
inContextOf
is the reverse ofhasContext
(and vice versa). -
dependsOn
is the reverse ofsupports
(and vice versa). -
isPartOf
is the reverse ofhasPart
(and vice versa).
For example, here is the group of links for the signals-default
collection:
[
{
"subject": "group:4e6ee9a6-d4ab-413a-ac70-a27c1445bb60",
"object": "collection:default_signals_aggr",
"linkType": "hasPart"
},
{
"subject": "group:4e6ee9a6-d4ab-413a-ac70-a27c1445bb60",
"object": "spark:default_click_signals_aggregation",
"linkType": "hasPart"
},
{
"subject": "group:4e6ee9a6-d4ab-413a-ac70-a27c1445bb60",
"object": "collection:default",
"linkType": "relatesTo"
},
{
"subject": "group:4e6ee9a6-d4ab-413a-ac70-a27c1445bb60",
"object": "collection:default_signals",
"linkType": "hasPart"
}
]
When we request the links for one of the hasPart
objects shown above, we get the reverse representation:
GET https://EXAMPLE_COMPANY.b.lucidworks.cloud/api/links?subject=collection:default_signals_aggr
[
{
"subject": "collection:default_signals_aggr",
"object": "group:4e6ee9a6-d4ab-413a-ac70-a27c1445bb60",
"linkType": "isPartOf"
}
]
Examples
Get links to the default collection
curl https://EXAMPLE_COMPANY.b.lucidworks.cloud/api/links?subject=collection:default
Output:
[ { "subject": "collection:default", "object": "index-pipeline:default", "linkType": "supports" } ]
Create a new link
curl -X PUT https://EXAMPLE_COMPANY.b.lucidworks.cloud/api/links -H 'content-type: application/json' -d '{"linkType": "supports", "object": "index-pipeline:default", "subject": "collection:default"}'
Output:
{ "subject" : "collection:default", "object" : "index-pipeline:default", "linkType" : "supports" }
Delete a link
curl -X DELETE https://EXAMPLE_COMPANY.b.lucidworks.cloud/api/links?subject=collection:default