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 login using the method "login". You can access the "login" method from webservice object "ws" as is shown below:

ws.login(user, password);

Once you are logged with the webservices the session is keep in the webservice Object. Then you can use the other API method

At this point you can use all the Relation methods from "relation" class as is shown below:

ws.relation.getRelationTypes(RelationType.BIDIRECTIONAL);

Methods

getRelationTypes

Description:

MethodReturn valuesDescription

getRelationTypes(String type)

List<RelationType>

Retrieves a list of all relations defined of a type.

Available types values:

  • RelationType.BIDIRECTIONAL
  • RelationType.PARENT_CHILD
  • RelationType.MANY_TO_MANY

More information at 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()); } } } }

addRelation

Description:

MethodReturn valuesDescription

addRelation(String nodeAId, String nodeBId, long relTypeId)

void

Sets a relation between two nodes.

The parameter 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:

MethodReturn valuesDescription

deleteRelation(long relationId)

void

Deletes a relation.

Only when the relation will not be used by any node is able to 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:

MethodReturn valuesDescription

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:

MethodReturn valuesDescription

getRelationGroups(String nodeId)

List<RelationGroup>

Retrieves a list of all relation 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:

MethodReturn valuesDescription

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 at 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:

MethodReturn valuesDescription

addNodeToGroup(String nodeId, long groupId)

void

Adds a node to an existing relation group.

On a relation group only has sense to apply the type RelationType.MANY_TO_MANY.

More information at 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:

MethodReturn valuesDescription

deleteRelationGroup(long groupId)

void

Removes a node from a relation 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:

MethodReturn valuesDescription

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:

MethodReturn valuesDescription

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:

MethodReturn valuesDescription

getAllRelationGroups()

List<RelationGroup>

Retrieves a list of all relation 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.getAllRelationGroups()) { System.Console.WriteLine(rGroup); } } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } } }

deleteRelationGroupItem

Description:

MethodReturn valuesDescription

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()); } } } }