我想要创建一个NFT图,其中每个nft是一个节点,如果两个nfts至少有n所有者,它们之间就会有一个边缘。
例如:
nft1拥有所有者'a','b','c','d','e‘
nft2拥有所有者'g','h','e','s','a','b','d‘
nft3拥有'g','h','s','c‘
这里是n=3。
所以现在:
nft1和nft2之所以相连,是因为它们有四个共同的所有者('a','b','d','e')
nft2和nft3之所以相连,是因为它们有三个共同的所有者(“g”、“h”、“s”)
但是 nft1和nft3是而不是连接的,因为它们只有一个共同的所有者('c')
有人知道我怎么能做到这一点吗?
发布于 2022-09-06 14:24:21
SORT nfts into order of decreasing number of owners
LOOP A over sorted nfts
LOOP B over sorted nfts starting at A+1
Count common owners of A and B
IF count > N
Add edge between A and B发布于 2022-09-06 22:02:35
https://stackoverflow.com/a/26028865/585411背后的想法适用于这里。
(owner, NFT)对。(owner, [NFT1, NFT2, ...]),都会发出带有i < j的((NFTi, NFTj), owner)对。((NFTi, NFTj), [owner1, owner2, ...])对,发出(NFTi, NFTj)和(NFTj, NFTi)对。这可以用一个真正的MapReduce以分布式方式完成。或者像上面描述的那样使用假的MapReduce。或者使用hashmap,如果您的所有者和NFT相对较少。但逻辑模式保持不变。
https://stackoverflow.com/questions/73623424
复制相似问题