Relation samples
Basics
On most methods, you'll see the parameter named "nodeId". The value of this parameter can be a valid document, folder, mail or record UUID or path.
Example of nodeId:
- Using UUID -> "f123a950-0329-4d62-8328-0ff500fd42db"
Suggested code sample
First, you must create the webservice object:
OKMWebservices ws = OKMWebservicesFactory.newInstance(host);
Then should log in using the method "login". You can access the "login" method from webservice object "ws" as is shown below:
ws.login(user, password);
Once logged with the webservices, the session is kept in the webservice Object. Then you can use the other API method.
At this point, you can use all the Relation methods from the "relation" class as shown below:
ws.relation.getRelationTypes(RelationType.BIDIRECTIONAL);
Methods
getRelationTypes
Description:
Method | Return values | Description |
---|---|---|
getRelationTypes(String type) |
List<RelationType> |
Retrieves a list of all relations defined of a type. |
Available types values:
More information on Relation types. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
foreach (RelationType type in ws.relation.getRelationTypes(RelationType.PARENT_CHILD))
{
System.Console.WriteLine(type);
}
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
add-relation
Description:
Method | Return values | Description |
---|---|---|
add-relation(String nodeAId, String nodeBId, long relTypeId) |
void |
Sets a relation between two nodes. |
The parameters nodeAId and nodeBId should be any valid document, folder, mail, or record UUID. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
foreach (RelationType type in ws.relation.getRelationTypes(RelationType.BIDIRECTIONAL))
{
// looking for a relation named invoice
if (type.title.Equals("invoice"))
{
ws.relation.addRelation("50b7a5b9-89d2-430e-bbc9-6a6e01662a71", "055e4384-7c70-4456-b32b-f5a55a79861f", type.id);
}
}
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
deleteRelation
Description:
Method | Return values | Description |
---|---|---|
deleteRelation(long relationId) |
void |
Deletes a relationship. |
Only when any node will not use the relation can it be deleted? Otherwise, you'll get an error. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
foreach (RelationType type in ws.relation.getRelationTypes(RelationType.BIDIRECTIONAL))
{
// looking for a relation named invoice
if (type.title.Equals("invoice"))
{
ws.relation.deleteRelation(type.id);
}
}
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
getRelations
Description:
Method | Return values | Description |
---|---|---|
getRelations(String nodeId) |
List<Relation> |
Retrieves a list of all relations of a node. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
foreach (Relation relation in ws.relation.getRelations("055e4384-7c70-4456-b32b-f5a55a79861f"))
{
System.Console.WriteLine(relation);
}
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
getRelationGroups
Description:
Method | Return values | Description |
---|---|---|
getRelationGroups(String nodeId) |
List<RelationGroup> |
Retrieves a list of all related groups of a node. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
foreach (RelationGroup rGroup in ws.relation.getRelationGroups("055e4384-7c70-4456-b32b-f5a55a79861f"))
{
System.Console.WriteLine(rGroup.toString());
}
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
addRelationGroup
Description:
Method | Return values | Description |
---|---|---|
addRelationGroup(String nodeId, String groupName, long type) |
void |
Adds a relation group at a node. |
On a relation group only makes sense to apply a relation type of RelationType.MANY_TO_MANY. More information on Relation types. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
foreach (RelationType type in ws.relation.getRelationTypes(RelationType.MANY_TO_MANY))
{
if (type.title.Equals("staple"))
{
ws.relation.addRelationGroup("055e4384-7c70-4456-b32b-f5a55a79861f", "staple group", type.id);
}
}
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
addNodeToGroup
Description:
Method | Return values | Description |
---|---|---|
addNodeToGroup(String nodeId, long groupId) |
void |
Adds a node to an existing relation group. |
A relation group only has the sense to apply the type RelationType.MANY_TO_MANY. More information on Relation types. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
foreach (RelationGroup rGroup in ws.relation.getRelationGroups("055e4384-7c70-4456-b32b-f5a55a79861f"))
{
if (rGroup.name.Equals("staple group"))
{
ws.relation.addNodeToGroup("50b7a5b9-89d2-430e-bbc9-6a6e01662a71", rGroup.id);
}
}
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
deleteRelationGroup
Description:
Method | Return values | Description |
---|---|---|
deleteRelationGroup(long groupId) |
void |
Removes a node from a related group. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
foreach (RelationGroup rGroup in ws.relation.getRelationGroups("50b7a5b9-89d2-430e-bbc9-6a6e01662a71"))
{
if (rGroup.name.Equals("staple group"))
{
ws.relation.deleteRelationGroup(rGroup.id);
}
}
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
findRelationGroup
Description:
Method | Return values | Description |
---|---|---|
findRelationGroup(long groupId) |
RelationGroup |
Finds a relation group by id. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
RelationGroup rg = new RelationGroup();
foreach (RelationGroup rGroup in ws.getRelationGroups("50b7a5b9-89d2-430e-bbc9-6a6e01662a71"))
{
if (rGroup.name.Equals("staple group3"))
{
rg = ws.relation.findRelationGroup(rGroup.id);
break;
}
}
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
setRelationGroupName
Description:
Method | Return values | Description |
---|---|---|
setRelationGroupName(long groupId, String groupName) |
void |
Changes the relation group name. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
RelationGroup rg = new RelationGroup();
foreach (RelationGroup rGroup in ws.relation.getRelationGroups("50b7a5b9-89d2-430e-bbc9-6a6e01662a71"))
{
if (rGroup.name.Equals("staple group3"))
{
ws.relation.setRelationGroupName(rGroup.id, "newGroup");
rg = ws.relation.findRelationGroup(rGroup.id);
break;
}
}
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
getAllRelationGroups
Description:
Method | Return values | Description |
---|---|---|
getAllRelationGroups(int relationTypeId, String filter, int offset, int limit) |
RelationGroupResultSet |
Retrieves a list of all related groups. |
The parameter "limit" and "offset" allows you to retrieve just a portion of the results of a query.
For example, if your query has 1000 results, but you only want to return the first 10, you should use these values:
Now suppose you want to show the results from 11-20; you should use these values:
|
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
int relationTypeId = 1;
String filter = "";
RelationGroupResultSet resultSet = ws.relation.getAllRelationGroups(relationTypeId, filter, 0, 10);
foreach (RelationGroup relationGroup in resultSet.results)
{
Console.WriteLine(relationGroup.toString());
}
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
deleteRelationGroupItem
Description:
Method | Return values | Description |
---|---|---|
deleteRelationGroupItem(String nodeId, long groupId) |
void |
Delete a node relation of a group. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
foreach (RelationGroup rGroup in ws.relation.getRelationGroups("50b7a5b9-89d2-430e-bbc9-6a6e01662a71"))
{
if (rGroup.name.Equals("staple group3"))
{
ws.relation.deleteRelationGroupItem("50b7a5b9-89d2-430e-bbc9-6a6e01662a71", rGroup.id);
}
}
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}