1

Весной данные Neo4j 3.x Для создания отношения корабля между двумя узлами и отношениями содержит множество свойств ранее используемых для достижения этой цели с помощью APIsРеконструкции Neo4j весны данных 3.x до 4.x Отношений Операции

create : 
    n4jOperations.createRelationshipBetween(Object start, Object end, Class<R> relationshipEntityClass, String relationshipType, boolean allowDuplicates); 

delete: 
n4jOperations.deleteRelationshipBetween(Object start, Object end, String type); 

get: 
n4jOperations.getRelationshipBetween(from, to, relationshipClass, relationshipType); 

но после миграции я didnt't найти выше APIs

согласно документации говорит

@NodeEntity 
public class Student { 
    private String name; 

    @Relationship(type = "ENROLLED") 
    private Set<Enrollment> enrollments;  
} 

By repo.save(Student); 

// создание отношения возможно, но новые интерфейсы API, как я могу достичь ниже случаев использования

1. Как избежать дублирования отношений?

2.get Соотношение между двумя узлами?

2.delete отношение корабль между двумя узлами?

ответ

2

SDN 4 не обеспечивает низкоуровневые графические операции, такие как установка узлов и отношений напрямую.

Отношения в графике моделируются и манипулировать с помощью объектассылки в классах домена. Они представлены в двух вариантах: неявных и явных. Неявные отношения описываются простыми ссылками между двумя узловыми объектами, например. Заказчик и Адрес:

class Customer { 
    @Relationship(type="LIVES_AT") 
    Address address; // implied (:Customer)-[:LIVES_AT]->(:Address) 
    ... 
} 

Явные отношения моделируются с использованием объектов RelationshipEntity, и могут иметь свойства (но не обязательно). Они по-прежнему доступны в качестве ссылок в вашей модели домена.

class Person { 
    @Relationship(type="RATED") 
    List<Rating> ratings 
} 

class Movie { 
} 

@RelationshipEntity(type="RATED") 
class Rating { 
    @StartNode Person person; 
    @EndNode Movie movie; 

    int stars; 
} 

Примечание: Если вам не нужны свойства на особые отношения, вам не нужно использовать RelationshipEntity.

Чтобы ответить на конкретные вопросы:

1) SDN 4.0 не создает повторяющиеся отношения. Независимо от того, сколько раз вы сохраняете конкретную ссылку на объект, она будет представлена ​​только одним соотношением на графике.

2) Надеюсь, это ясно сейчас!

3) Установка ссылки на объект на нуль и сохранение родительского объекта приведет к удалению отношения. Или, если ссылка является частью коллекции, удалите ее из коллекции. Вы должны убедиться, что ссылки на объекты удалены с обеих сторон. Например, если A содержит ссылку на B и B содержит ссылку на A, вы должны удалить ссылку A на B, а также ссылку B на A.

+0

Можете ли вы поделиться ссылкой для рабочего примера из 3-х пунктов –

+0

Это может также быть help: http://docs.spring.io/spring-data/data-neo4j/docs/current/reference/html/#migration – ATG

+0

Можете ли вы поделиться ссылкой для рабочего примера удаления корабля отношений, используя данные весны, а не по запросу –

Смежные вопросы