Скала Тип Безопасность с Рамками Tinkerpop
Как я могу использовать безопасность типов в Scala с аннотациями Tinkerpop Frames?
Это пример версии Java по адресу https://github.com/tinkerpop/frames/wiki:
public interface Person {
@Property("name")
public String getName();
@Adjacency(label="knows")
public Iterable<Person> getKnowsPeople();
@Adjacency(label="knows")
public void addKnowsPerson(final Person person);
@GremlinGroovy("it.out('knows').out('knows').dedup") //Make sure you use the GremlinGroovy module! #1
public Iterable<Person> getFriendsOfAFriend()
}
Свойство и Смежность достаточно просты.
Но функция обхода содержится в String, поэтому система типов Scala не может помочь.
Я использую Gremlin-Scala ( https://github.com/mpollmeier/gremlin-scala) для построения моих обходов в синтаксисе Scala. Может быть, это может быть использовано для дальнейшего решения.