小编N D*_*are的帖子

使用struct作为KEY和VALUE for map.find()操作给出错误

c ++中的代码:

#include <iostream>
#include <map>
#include <string>

using namespace std;

struct keyInfo
{
  string Key1; 
  string Key2; 

  bool keyInfo::operator <(keyInfo &A) const
    { return ((this->Key1<A.Key1)&&(this->Key2<A.Key2)); }
};

struct valueInfo
{ 
  int value1; 
  int value2; 
  int value3; 

  valueInfo(const int A,const int B,const int C) : 
    value1(A),value2(B),value3(C) {}
};
typedef std::map<keyInfo, valueInfo> MapTYPE;

int main()
{
  MapTYPE TMap;
  keyInfo K;
  K.Key1="main";
  K.Key2="i";
  valueInfo V(-2,-3322,9000);

  TMap.insert(MapTYPE::value_type(K,V));
  MapTYPE::iterator It1=TMap.find(K);
  It1=TMap.find(K);
  if(It1!=TMap.end())
    std::cout<<"Success(K): "<<It1->second.value2<<std::endl;

  keyInfo E;
  E.Key1="main";
  E.Key2="j";
  //TMap.insert(std::pair<keyInfo,valueInfo>(E,V));
  MapTYPE::iterator It2=TMap.find(E);
  if (It2!=TMap.end())
     std::cout<<"Success(E): …
Run Code Online (Sandbox Code Playgroud)

c++ struct operator-overloading map

1
推荐指数
1
解决办法
8819
查看次数

我们可以在R-igraph中改变文本大小和节点大小吗?

我们可以在R-igraph中改变文本大小和节点大小吗?如果是,我们可以使用什么属性?任何例子?

(通过文字我的意思是节点名称)

网络使用iGraph

例如,我使用igraph函数在网络上绘制如下:

plot.igraph(net,vertex.label=V(net)$name,layout=layout.fruchterman.reingold,
            edge.color="black",edge.width=Eweight,edge.curved=F)
Run Code Online (Sandbox Code Playgroud)

如果我们查看与每个节点对应的标签,则每个节点具有相同的大小.我想根据相应的节点大小改变这个标签大小.例如尺寸("w1")>尺寸("w5")>尺寸("w6")等.

resize r nodename igraph

1
推荐指数
1
解决办法
3672
查看次数

neo4j:在neo4j graphDB中为节点和RelationshipTypes添加多个属性

我想在neo4j(java)中根据Facebook数据构建社交网络图.我正在尝试搜索相关的示例来理解这些概念,但仍然无法获得任何这些特定类型.请帮助我知道如何实现它,如果可能的话,提供适当的链接,我可以获得相关的帮助.

我想拥有节点和关系(边缘)属性,如下所示:

Node properties:
   String id, name, town;
   int numOfFriends;
   Double age;
   Date dateOfJoining
   HashSet<String> postIdSet;

Relationship Properties:
   boolean Knows;
   int numOfLikes, numOfComments;
   float wtLikes, wtComments;
   String relationship;
Run Code Online (Sandbox Code Playgroud)

如何创建graphDB具有上述属性的节点和边?

我有一个示例代码结构,用于创建graphDB和添加节点和关系,如下所示:

GraphDatabaseService graphDB = new GraphDatabaseFactory().newEmbeddedDatabase(DB_PATH);
registerShutdownHook(graphDB);

Transaction tx = graphDB.beginTx();
try {
    /* define relationshipType*/
    RelationshipType rel = DynamicRelationshipType.withName(??);

    /* create new node with given properties*/
    Node node1 = graphDB.createNode();

    /* set node1 properties e.g. node1.id="1234" */

    /* create another new node with given properties */ …
Run Code Online (Sandbox Code Playgroud)

java edges nodes neo4j graph-databases

1
推荐指数
1
解决办法
3667
查看次数

neo4j:java错误:找不到NodeImpl#0的属性

我正在用java编写neo4j演示代码.以下是我正在创建节点,索引它们并打印其属性的代码的一部分.

String NODE_KEY = "UserID";
String NODE_PROPERTIES = "UserProperties";

createAndIndexUser(String userID){
    Node node = graphDB.createNode();
    node.setProperty(NODE_KEY, nodeID);
    neo4jGraph.nodeIndex.add(node, NODE_KEY, userID);
    return node;
}

for(int i=0 ; i<100 ; i++){
    String userID = "userID_"+i;
    Node node = createAndIndexUser(userID);
    node.setProperty(NODE_PROPERTIES, strNodeProperties);
}

Iterable<Node> allNodes = GlobalGraphOperations.at(graphDB).getAllNodes();

for(Node n: allNodes){
    System.out.println("n.getPropertyKeys: "+n.getPropertyKeys());
    System.out.println(n.getProperty(NODE_KEY));
}
Run Code Online (Sandbox Code Playgroud)

当我执行此代码时,第一个println的输出是:

n.getPropertyKeys: []
Run Code Online (Sandbox Code Playgroud)

而对于第二次打印,我收到一个错误:

Exception in thread "main" org.neo4j.graphdb.NotFoundException: 'UserID' property not found for NodeImpl#0.
Run Code Online (Sandbox Code Playgroud)

在哪里以及我做错了什么?为什么不打印所有属性键n.getProperty(NODE_KEY)

是否还有其他方法可以获取所有节点并打印其属性?

java runtime-error neo4j node-neo4j

1
推荐指数
1
解决办法
425
查看次数

Java:使用Classes作为hashmap中的值

我正在尝试将自定义类用作a中的值Map<String, Class<?>>.以下是代码的相关部分:

以下是Map的声明和初始化main():

public static Map<String, Class<?>> mapQuery2ResponseType = new HashMap<String, Class<?>>();
static {
    mapQuery2ResponseType.put("string1", CustomClass1.class);
    mapQuery2ResponseType.put("string2", CustomClass2.class);
    mapQuery2ResponseType.put("string3", CustomClass3.class);
}
Run Code Online (Sandbox Code Playgroud)

现在我使用这个映射将一个对象类型转换为这些类之一:(假设所有类都包含一个getName()返回a 的方法String)

String name = (
                  (
                       mapQuery2ResponseType.get("string1")
                  )obj1
              ).getName();
Run Code Online (Sandbox Code Playgroud)

其中,obj1是通用类型T,

但它不允许我这样做并说:Syntax error on token "obj1", delete this token.

请帮我理解我在哪里做错了?

Edit:

当我使用下面的代码时,它完美地给了我预期的结果,

String name = (
                  (
                       CustomClass1
                  )obj1
              ).getName();
Run Code Online (Sandbox Code Playgroud)

和返回的obj1 类型相同mapQuery2ResponseType.put("string1", CustomClass1.class);.

在这里我可以看到一件事...如果我使用它直接使用它,我使用它"CustomClass1",而如果我从map中得到它mapQuery2ResponseType.get("string1"),它返回"CustomClass1.class".我不确定这两种方法有什么不同吗?如果有,那是什么?

所以实际上不会有任何转换,只是我将它用于大量的类 …

java class hashmap syntax-error

1
推荐指数
1
解决办法
7431
查看次数

如何从java获取Neo4j图形数据库的节点数,我们可以从磁盘存储和重用graphdb吗?

我刚开始看neo4j将它用于我的社交网络相关项目.在此期间,我遇到了以下代码:

https://github.com/neo4j/neo4j/blob/1.9.M04/community/embedded-examples/src/main/java/org/neo4j/examples/EmbeddedNeo4jWithIndexing.java
Run Code Online (Sandbox Code Playgroud)

通过它(请参阅上面的代码链接),我很难知道如何获得添加到给定的节点总数graphDb.有没有办法找到它(节点的总数)使用graphDbnodeIndexreferenceIndex其他任何东西?如果是,怎么样?

我还需要帮助才能知道如何将graphdb存储到磁盘上的任何给定路径?如何加载这个存储的graphdb并对其执行操作,如搜索节点/关系等?

(DB_PATH当执行上面的代码时,有几个文件,比如*.db,*.id,*.keys等.在这些文件中有用的是什么?这些文件是否包含创建的节点?如果是,如何我们可以使用它们吗?)

我们如何graphDb从诸如Dashboard at http://localhost:7474/webadmin/或数据的Web界面访问它http://localhost:7474/db/data/

如果您需要任何具体信息,请告知我们.

谢谢,Nitin.

java social-networking neo4j graph-databases

0
推荐指数
1
解决办法
2387
查看次数