java - 如何使用 cytoscape java api 添加节点属性?
问题描述
我正在尝试使用 java API 做一个 cytoscape 应用程序,所以,基于cytoscape github(示例创建网络)中的示例,我正在做类似的事情
// Create an empty network
CyNetwork myNet = cnf.createNetwork();
myNet.getRow(myNet).set(CyNetwork.NAME,
namingUtil.getSuggestedNetworkTitle("My Network"));
// Add two nodes to the network
CyNode node1 = myNet.addNode();
CyNode node2 = myNet.addNode();
// set name for new nodes
myNet.getDefaultNodeTable().getRow(node1.getSUID()).set("name", "Node1");
myNet.getDefaultNodeTable().getRow(node2.getSUID()).set("name", "Node2");
// Add an edge
myNet.addEdge(node1, node2, true);
但是,当我尝试做类似的事情时
myNet.getDefaultNodeTable().getRow(node1.getSUID()).set("name", "Node1");
myNet.getDefaultNodeTable().getRow(node1.getSUID()).set("symbol", "other string");
我收到一条错误消息,提示“java.lang.IllegalArgumentException:列 'symbol' 尚不存在”
那么,任何人都可以指导我正确地向节点添加属性吗?
非常感谢
解决方案
答案是按如下方式创建列
myNet.getDefaultNodeTable().createColumn("symbol", String.class, false);
推荐阅读
- mysql - 重新排列行顺序查询仅在行数为奇数时有效
- javascript - 如何使两个日期选择器在 html 中相互依赖?
- xamarin - 为什么 Xamarin Forms Webview 绑定不会在 iOS 上刷新?
- web-development-server - Q# 是否支持 Web 开发?
- ms-access - 在单个查询或报告中执行多个分类
- python - 多处理 - 数量对处理时间的影响
- php - 每次使用 Quickbooks Consolibyte PHP 开发工具包时,此代码都不会保存行项目
- android - 如何在android中实现像gmail这样的滑动功能
- mysql - 语法错误“来自”标识符在此位置无效输入
- angular - Angular Material Sidebar - 如何在另一个组件中触发绘制切换?