Neo4j 4.4.4 导入csv格式文件 航空数据

数据源是airports和flights的数据集,网上能够找到。flights为了能导入Neo4j,第1,2列做了改动。

airports数据是这样的:
Neo4j 4.4.4 导入csv格式文件 航空数据_第1张图片

flights数据是这样的:from起始机场id,to结束机场id
Neo4j 4.4.4 导入csv格式文件 航空数据_第2张图片
导入方法是,首先把这两个文件放到import文件夹下面。
Neo4j 4.4.4 导入csv格式文件 航空数据_第3张图片
然后启动Neo4j,输入下面的代码。注意create后面的东西是列名之类的,自己要改。

load csv with headers from "file:///airports.csv" as link
with link 	  
create(:airports{_key:link._key,airport:link.airport,state:link.state,country:link.country,
lat:link.lat,long:link.long
})


Neo4j 4.4.4 导入csv格式文件 航空数据_第4张图片
Neo4j 4.4.4 导入csv格式文件 航空数据_第5张图片
toInteger是重要的,不然就会默认导入字符串格式。

LOAD CSV WITH HEADERS FROM "file:///flights.csv" AS row
MATCH (f:airports),(t:airports)
WHERE f._key = row._from AND t._key = row._to
CREATE (f)-[r:flight{Distance:toInteger(row.Distance)}]->(t)


Neo4j 4.4.4 导入csv格式文件 航空数据_第6张图片

Neo4j 4.4.4 导入csv格式文件 航空数据_第7张图片

进行PageRank算法

给图取名字

CALL gds.graph.project('myGraph','airports','flight')

估计内存

CALL gds.pageRank.write.estimate('myGraph', {
  writeProperty: 'pageRank',
  maxIterations: 20,
  dampingFactor: 0.85
})
YIELD nodeCount, relationshipCount, bytesMin, bytesMax, requiredMemory


执行PageRank,只需要改第三行那个airport,其余的都不用改

CALL gds.pageRank.stream('myGraph')
YIELD nodeId, score
RETURN gds.util.asNode(nodeId).airport AS name,score
ORDER BY score DESC, name ASC


Neo4j 4.4.4 导入csv格式文件 航空数据_第8张图片

进行度中心性算法

创建一个新的子图,并命名

CALL gds.graph.project(
  'hisGraph',
  'airports',
  {
    flight: {
      orientation: 'REVERSE',
      properties: ['Distance']
    }
  }
)

CALL gds.degree.write.estimate('Graph', { writeProperty: 'degree' })
YIELD nodeCount, relationshipCount, bytesMin, bytesMax, requiredMemory

测试一下内存

CALL gds.degree.write.estimate('hisGraph', { writeProperty: 'degree' })
YIELD nodeCount, relationshipCount, bytesMin, bytesMax, requiredMemory

度中心性。第三行第四行需要改,前两行不需要动,注意airport是属性,需要改的。

CALL gds.degree.stream('hisGraph')
YIELD nodeId, score
RETURN gds.util.asNode(nodeId).airport AS airports, score AS flight
ORDER BY flight DESC, airports DESC

Neo4j 4.4.4 导入csv格式文件 航空数据_第9张图片

你可能感兴趣的:(Neo4j使用方案,图搜索,知识图谱)