SNAP(Standford Network Analysis Project)环境搭建

刚保研华科,老板布置的第一个任务,第一次接触,水平有限外加英文不好,还有外国网站被屏蔽原因,鼓捣了三天才弄好。其中参考了一篇博客,http://blog.csdn.net/kbawyg/article/details/8235755

SNAP,全称StandfordNetwork Analysis Project,是斯坦福大学提供的一个功能非常强大的开源工具。这个工具主要用于复杂网络领域的研究工作,它的出现实为科研人员的福音。

安装步骤


    1
、进入SNAP的官方主页
  
 
英语好的的同学可以直接按照官网的说明进行配置,下面的内容就不用看了。如果你懒得看英文,那么就按照下面的步骤操作就可以了,本文也就是为了这个目的而写的。

          点击进入
SNAP官方主页
    
    2、下载SNAP的源码

          点击进入下载
SNAP源码

    3、下载SNAP相关的三个插件
         
          Gnuplot  
一个绘图的插件,在SNAP中会调用它来绘制一个复杂网络的相关属性的统计图,支持2D3D
    
           点击进入
Gnuplot官网下载安装包
  
  Graphviz  同样是绘图的插件,在SNAP中调用它来绘制带有节点和边的复杂网络图。

  点击进入
Graphviz官网下载安装包 

  NodeXL  Office的插件,这个的确非常给力,直接可以做图,再也不用编程画图了。

  点击进入
NodeXL官网下载安装包

 


 

上面几个文件我已上传云盘,也可以在里面下载,http://yunpan.cn/c327N7unitrfY 访问密码 d56f其中snap文件是snap-2.3版本。

 



 


    4
、安装必要软件
  
 
1GnuplotGraphviz是必须安装的,至于NodeXL,对于SNAP的编译和运行没有影响。GnuplotGraphviz的安装非常简单,一路都是下一步就行了。

 
2)我用的是Windows+Visual Studio 2010(貌似2012版也可以)的环境,Linux+GCC的环境还没用过,以后再说吧(官方文档有说明),这里只介绍前者环境下的安装。
 
3)安装好Visual Studio 2010之后第一次进入是需要选择编译环境,选择VisualC++。如果你以前就安装过Visual Studio2010,用它做的C#Web开发,那么这时需    要更改一下编译环境。具体操作如下:工具->导入和导出设置向导->重置所有设置->否,仅重置设置,从而覆盖我的当前设置->Visual C++开发设置->完成。

   

    5
、设置系统环境变量

         
我的系统的Windows 7 x64 旗舰版,一下步骤请大家参考,不同的Windows系统略有差异,但是问题不大。
    
    
1)右键单击计算机属性   

    2)点击高级系统设置

    3)点击环境变量


 

   4)在系统变量中找到Path,单击编辑


   5)在最后加上两个路径:(我装在E盘了)
      
      E:\Program Files (x86)\gnuplot\bin
      E:\Program Files (x86)\Graphviz 2.28\bin
      
     
这里注意最后一个路径之前,任意两个路径之间需要用分号";"来分割,而且是英文输入法状态下的,最后一个路径后面没有分号";"。完成保存即可。

6
Visual Studio 2010的相关配置

   
1)解压下载好的Snap文件,可以看到内部组成如下:


        这里简单说明一下这篇文章用到的文件夹和对应的功能。examples文件夹是一个Visual Studio的解决方案,里面包括和SNAP的功能例子,虽然都是控制台应用程序,但是足够强大了。glib-coresnap-advsnap-core这三个文件夹是类库,需要引入到工程中,具体引入方法在后面会具体说明。

 


   
2)打开examples文件夹


   
3)打开解决方案


找到SnapExamples-VS10.sln文件用vs2010打开。

    4)这里有很多工程,随便点击一个工程,每个工程对应着NSAP的一个功能。这里以motifs工程为例说明一下配置操作。

     
首先,选中motifs工程,项目->属性->配置属性->常规->项目默认值->字符集->选择使用多字节字符集,点击确定完成。这个操作,对每个工程都要操作一遍。

     其次,工具->选项->项目和解决方案->VC++目录->显示一下内容的目录处选择包含文件(这里千万不要忽略,导致包含目录出错)->分别增加snap-core      snap-advglib-core三个文件夹的目录。这个操作只要做一次就可以了。

 

    最后,编译运行这个工程就可以了。


7
、功能测试

   
1)在命令行中手都执行程序

   
在编译运行之后会发现控制台应用一闪而过,这是因为这些控制台应用都是需要使用参数来运行的。这里采用在命令行中用手动的方式调用控制台应用,这样的好处    是不用担心控制台会关闭,而且程序执行过程的记录容易查看。下面是步骤:

   
首先,在Snap-2.3/examples/Debug(如果你编译的时候选的是Release,这里就是Release)里面找到motifs.exemotifs.ilkmotifs.pdb三个文件。然后将Snap/examples下的as20graph.txt,也拷贝到motifs文件夹中。 

其次,cmd打开命令行:
进入F: \snap\Snap-2.3\examples\Debug文件夹

输入
motifs.exe
回车


会自动生成文件

SNAP(Standford Network Analysis Project)环境搭建_第1张图片


或者也可以输入 motifs.exe -i:as20graph.txt -m:3 -d:T -o:syx

syx 是输出结果的名字)
在看motifs文件夹,生成了许多文件:

SNAP(Standford Network Analysis Project)环境搭建_第2张图片

 


这个功能是用来查找整个复杂网络中的子图的,每个子图结构有两个文件。随便打开一个gif文件可以在浏览器中看到


 

你可能感兴趣的:(SNAP(Standford Network Analysis Project)环境搭建)