#orientdb #orientdb-2.1 #orientdb2.2
#orientdb #orientdb-2.1 #orientdb2.2
Вопрос:
Я использую Orientdb 2.2.10.
Чего я хочу добиться?
Я хочу получить вершину определенного vertexType — например, vertexType = ‘Person’ .
Мой graphdb индексируется уникальным ключом (‘uid’).
Что я делаю для ее достижения?
- getVertices(ярлык, []iKey, []IValue)
- Я получаю желаемую вершину
в чем проблема с этим методом? :-
- Я получаю желаемую вершину, даже если я предоставляю имя любой метки (которая присутствует в базе данных)
например:-
-
Я хочу получить вершину vertextype = ‘Person’, имеющую uid = ‘ram’
-
Я получаю эту вершину, даже когда предоставляю любую метку (например, «Отношение»), которая присутствует в базе данных.
Это ошибка или я делаю что-то не так?
Спасибо ..!
Ответ №1:
Я скопировал вашу структуру.
Я пробовал с этим кодом
String [] keys=new String[]{"uid"};
String [] values=new String[]{"ram"};
Iterable<Vertex> it= g.getVertices("Person", keys, values);
for(Vertex v:it){
System.out.println(v.getId());
System.out.println(v.getProperty("uid"));
}
и я получил
# 21: 0 ОЗУ
в то время как с
String [] keys=new String[]{"uid"};
String [] values=new String[]{"ram"};
Iterable<Vertex> it= g.getVertices("Relational", keys, values);
for(Vertex v:it){
System.out.println(v.getId());
System.out.println(v.getProperty("uid"));
}
Я ничего не получил.
Надеюсь, это поможет.
Комментарии:
1. когда я снова попробовал это, не выполняя индексацию по ‘uid’ , я также ничего не получаю. Но с индексацией по ‘uid’ я получаю результат
2. пожалуйста, попробуйте это с индексацией по ‘uid’
3. пожалуйста, взгляните на ( codepad.co/snippet/638utVcY ), код выходной результат.
4. Я использовал эти индексы Person.uid UNIQUE [«uid»] SBTREE и Relational.uid UNIQUE [«uid»] SBTREE
5. ваша версия 2.2.10?