Hi Michael,
In context to the Jaccard Algorithm usage -
My graph looks like this -

[1]
Here when i run this query :
MATCH (s:claimIntimationRequestHeader)-[:Request]-(claimIntimationRequestBody)
WITH {item:id(s), categories: collect(id(claimIntimationRequestBody))} as userData
RETURN userData
I get this output -
userData
{
"item": 1929,
"categories": [
1928
]
}
So using it like this -
WITH[{
item: 1929,
categories: [
1928
]
}] as data
CALL algo.similarity.jaccard.stream(data, {similarityCutoff:0.1}) YIELD item1, item2, count1, count2, intersection, similarity
RETURN item1, item2, count1, count2, intersection, similarity LIMIT 10
i get this output -
(no changes, no records)
So i guess because i have only one Item in the userData.
And when i do its count -
MATCH (s:claimIntimationRequestHeader)-[:Request]-(claimIntimationRequestBody)
WITH {item:id(s), categories: collect(id(claimIntimationRequestBody))} as userData
WITH collect(userData) as data
CALL algo.similarity.jaccard.stream(data) YIELD item1, item2, count1, count2, intersection, similarity
RETURN count(*)
i get this output -
count(*)
0
[2]
When i try this cypher query :
MATCH (s:claimIntimationRequestBody)-[:Parameter]-(requestID)
WITH {item:id(s), categories: collect(id(requestID))} as userData
RETURN userData
Output -
userData
{
"item": 0,
"categories": [
1794,
1793,
1792,
1791,
1790,
1789,
1788,
1787,
1786,
1785,
1784,
1783,
1782,
1781,
1780,
1779,
1778
]
}
And then when i utilize this output with this query -
WITH[{
item: 0,
categories: [
1794,
1793,
1792,
1791,
1790,
1789,
1788,
1787,
1786,
1785,
1784,
1783,
1782,
1781,
1780,
1779,
1778
]
}] as data
CALL algo.similarity.jaccard.stream(data, {similarityCutoff:0.1}) YIELD item1, item2, count1, count2, intersection, similarity
RETURN item1, item2, count1, count2, intersection, similarity LIMIT 10
Output -
(no changes, no records)
Please help in creating a proper Jaccard algorithm query.