如何使用Scala的类型安全性与Tinkerpop Frames'注释吗
这是https://github.com/tinkerpop/frames/wiki的Java版本示例:
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语法中的遍历。也许它可以用于进一步解决方案。