You can use a query like this:
create (center:Center),
(:Node{rank : rand()})-[:LINKED_TO]->(center),
(:Node{rank : rand()})-[:LINKED_TO]->(center),
(:Node{rank : rand()})-[:LINKED_TO]->(center),
(:Node{rank : rand()})-[:LINKED_TO]->(center),
(:Node{rank : rand()})-[:LINKED_TO]->(center),
(:Node{rank : rand()})-[:LINKED_TO]->(center),
(:Node{rank : rand()})-[:LINKED_TO]->(center)
to produce this graph:

Note the use of rand() function to assign a random value to rank property in each node.
And to to get the top nodes based on rank property you can use (top 5, in this case):
match (:Center)<-[:LINKED_TO]-(n:Node)
with n order by n.rank desc limit 5
return n
EDIT
Here a more elegant (but complex) solution to create the "graph-sun" using the APOC Procedure apoc.periodic.iterate. I'm using a parameter to determine the number of neighbors. The docs about apoc.periodic.iterate says:
With apoc.periodic.iterate you provide 2 statements, the first outer
statement is providing a stream of values to be processed. The second,
inner statement processes one element at a time or with
iterateList:true the whole batch at a time.
So in the first statement I'm returning number_of_n items (using range()) function. Then the second statement is executed number_of_n times, creating each neighbor.
CALL apoc.periodic.iterate(
"with range(0, {number_of_n} - 1) as items
unwind items as item
return item",
"merge (center:Center)
create (:Node{rank : rand()})-[:LINKED_TO]->(center)",
{params : {number_of_n:20}})
This query outputs a graph like:
