Skip to content
Snippets Groups Projects
Commit 23112531 authored by nico20's avatar nico20
Browse files

CONSULTAS usando nuevas estructura

parent 8081be89
No related branches found
No related tags found
No related merge requests found
...@@ -35,15 +35,6 @@ const getSegmentData = (elem: any) => { ...@@ -35,15 +35,6 @@ const getSegmentData = (elem: any) => {
<p>{elem.properties.club_name}</p> <p>{elem.properties.club_name}</p>
</Stack> </Stack>
); );
} else {
return (
<Stack flexDirection="row">
<p>Statistics: </p>
<p>
{elem.properties.id} - {elem.properties.long_name}
</p>
</Stack>
);
} }
}; };
......
...@@ -4,44 +4,80 @@ import { useLazyReadCypher, useReadCypher } from "use-neo4j"; ...@@ -4,44 +4,80 @@ import { useLazyReadCypher, useReadCypher } from "use-neo4j";
const CompasZurdos = () => { const CompasZurdos = () => {
const queryString = `MATCH (p:Player {gender: "Male"}) RETURN p LIMIT 100`; const queryString = `MATCH (p:Player {gender: "Male"}) RETURN p LIMIT 100`;
const queryJugadoresQueJugaronConJugadorYSonMasAltosQueEl = `CALL { const queryJugadoresQueJugaronConJugadorYSonMasAltosQueEl = `
MATCH (p1:Player {long_name: $playerName})-[r1:FIFA_17]->(e:Statistics)-[:PLAY_FOR_CLUB]->(team:Clubs)<-[:PLAY_FOR_CLUB]-(e2:Statistics)<-[r2:FIFA_17]-(p2:Player) CALL {
WHERE p1 <> p2 MATCH (p1:Player {long_name: $playerName})-[r1:PLAY_FOR_CLUB_16]->(team:Clubs)<-[r2:PLAY_FOR_CLUB_16]-(p2:Player)
RETURN p2, 'FIFA_17' AS edition, team, p1 WHERE p1 <> p2 and p2.height_cm > p1.height_cm
RETURN p1, p2
UNION UNION
MATCH (p1:Player {long_name: $playerName})-[r1:PLAY_FOR_CLUB_17]->(team:Clubs)<-[r2:PLAY_FOR_CLUB_17]-(p2:Player)
WHERE p1 <> p2 and p2.height_cm > p1.height_cm
RETURN p1, p2
MATCH (p1:Player {long_name: $playerName})-[r1:FIFA_18]->(e:Statistics)-[:PLAY_FOR_CLUB]->(team:Clubs)<-[:PLAY_FOR_CLUB]-(e2:Statistics)<-[r2:FIFA_18]-(p2:Player) UNION
WHERE p1 <> p2 MATCH (p1:Player {long_name: $playerName})-[r1:PLAY_FOR_CLUB_18]->(team:Clubs)<-[r2:PLAY_FOR_CLUB_18]-(p2:Player)
RETURN p2, 'FIFA_18' AS edition, team, p1 WHERE p1 <> p2 and p2.height_cm > p1.height_cm
RETURN p1, p2
UNION
MATCH (p1:Player {long_name: $playerName})-[r1:PLAY_FOR_CLUB_19]->(team:Clubs)<-[r2:PLAY_FOR_CLUB_19]-(p2:Player)
WHERE p1 <> p2 and p2.height_cm > p1.height_cm
RETURN p1, p2
UNION UNION
MATCH (p1:Player {long_name: $playerName})-[r1:PLAY_FOR_CLUB_20]->(team:Clubs)<-[r2:PLAY_FOR_CLUB_20]-(p2:Player)
WHERE p1 <> p2 and p2.height_cm > p1.height_cm
RETURN p1, p2
MATCH (p1:Player {long_name: $playerName})-[r1:FIFA_19]->(e:Statistics)-[:PLAY_FOR_CLUB]->(team:Clubs)<-[:PLAY_FOR_CLUB]-(e2:Statistics)<-[r2:FIFA_19]-(p2:Player) UNION
WHERE p1 <> p2 MATCH (p1:Player {long_name: $playerName})-[r1:PLAY_FOR_CLUB_21]->(team:Clubs)<-[r2:PLAY_FOR_CLUB_21]-(p2:Player)
RETURN p2, 'FIFA_19' AS edition, team, p1 WHERE p1 <> p2 and p2.height_cm > p1.height_cm
RETURN p1, p2
UNION UNION
MATCH (p1:Player {long_name: $playerName})-[r1:PLAY_FOR_CLUB_22]->(team:Clubs)<-[r2:PLAY_FOR_CLUB_22]-(p2:Player)
WHERE p1 <> p2 and p2.height_cm > p1.height_cm
RETURN p1, p2
MATCH (p1:Player {long_name: $playerName})-[r1:FIFA_20]->(e:Statistics)-[:PLAY_FOR_CLUB]->(team:Clubs)<-[:PLAY_FOR_CLUB]-(e2:Statistics)<-[r2:FIFA_20]-(p2:Player) UNION
WHERE p1 <> p2 MATCH (p1:Player {long_name: $playerName})-[r1:PLAY_FOR_COUNTRY_16]->(country:Country)<-[r2:PLAY_FOR_COUNTRY_16]-(p2:Player)
RETURN p2, 'FIFA_20' AS edition, team, p1 WHERE p1 <> p2 and p2.height_cm > p1.height_cm
RETURN p1, p2
UNION UNION
MATCH (p1:Player {long_name: $playerName})-[r1:PLAY_FOR_COUNTRY_17]->(country:Country)<-[r2:PLAY_FOR_COUNTRY_17]-(p2:Player)
WHERE p1 <> p2 and p2.height_cm > p1.height_cm
RETURN p1, p2
MATCH (p1:Player {long_name: $playerName})-[r1:FIFA_21]->(e:Statistics)-[:PLAY_FOR_CLUB]->(team:Clubs)<-[:PLAY_FOR_CLUB]-(e2:Statistics)<-[r2:FIFA_21]-(p2:Player) UNION
WHERE p1 <> p2 MATCH (p1:Player {long_name: $playerName})-[r1:PLAY_FOR_COUNTRY_18]->(country:Country)<-[r2:PLAY_FOR_COUNTRY_18]-(p2:Player)
RETURN p2, 'FIFA_21' AS edition, team, p1 WHERE p1 <> p2 and p2.height_cm > p1.height_cm
RETURN p1, p2
UNION UNION
MATCH (p1:Player {long_name: $playerName})-[r1:PLAY_FOR_COUNTRY_19]->(country:Country)<-[r2:PLAY_FOR_COUNTRY_19]-(p2:Player)
WHERE p1 <> p2 and p2.height_cm > p1.height_cm
RETURN p1, p2
MATCH (p1:Player {long_name: $playerName})-[r1:FIFA_22]->(e:Statistics)-[:PLAY_FOR_CLUB]->(team:Clubs)<-[:PLAY_FOR_CLUB]-(e2:Statistics)<-[r2:FIFA_22]-(p2:Player) UNION
WHERE p1 <> p2 MATCH (p1:Player {long_name: $playerName})-[r1:PLAY_FOR_COUNTRY_20]->(country:Country)<-[r2:PLAY_FOR_COUNTRY_20]-(p2:Player)
RETURN p1, p2, 'FIFA_22' AS edition, team WHERE p1 <> p2 and p2.height_cm > p1.height_cm
} RETURN p1, p2
UNION
MATCH (p1:Player {long_name: $playerName})-[r1:PLAY_FOR_COUNTRY_21]->(country:Country)<-[r2:PLAY_FOR_COUNTRY_21]-(p2:Player)
WHERE p1 <> p2 and p2.height_cm > p1.height_cm
RETURN p1, p2
UNION
MATCH (p1:Player {long_name: $playerName})-[r1:PLAY_FOR_COUNTRY_22]->(country:Country)<-[r2:PLAY_FOR_COUNTRY_22]-(p2:Player)
WHERE p1 <> p2 and p2.height_cm > p1.height_cm
RETURN p1, p2
}
WITH p1, p2 WITH p1, p2
where p2.height_cm > p1.height_cm and p1 <> p2 RETURN DISTINCT p2;
RETURN DISTINCT p2 `; `;
const [player, setPlayer] = useState(""); const [player, setPlayer] = useState("");
const [querySearch, querySearchState] = useLazyReadCypher( const [querySearch, querySearchState] = useLazyReadCypher(
...@@ -59,8 +95,8 @@ const CompasZurdos = () => { ...@@ -59,8 +95,8 @@ const CompasZurdos = () => {
return ( return (
<> <>
<h2> <h2>
Compañeros de un jugador que son mas altos que él (de cualquier club en Compañeros de un jugador que son mas altos que él (de cualquier club y
cualquier edicion) pais en cualquier edicion)
</h2> </h2>
<Autocomplete <Autocomplete
disablePortal disablePortal
......
...@@ -5,39 +5,40 @@ import { useLazyReadCypher, useReadCypher } from "use-neo4j"; ...@@ -5,39 +5,40 @@ import { useLazyReadCypher, useReadCypher } from "use-neo4j";
const ElMasPopu = () => { const ElMasPopu = () => {
const query = `MATCH (p:Player {gender: "Male"}) RETURN p limit 100`; const query = `MATCH (p:Player {gender: "Male"}) RETURN p limit 100`;
const queryCompanerosPorJugador = `CALL { const queryCompanerosPorJugador = `CALL {
MATCH (p1:Player {long_name: $playerName})-[r1:FIFA_17]->(e:Statistics)-[:PLAY_FOR_CLUB]->(team:Clubs)<-[:PLAY_FOR_CLUB]-(e2:Statistics)<-[r2:FIFA_17]-(p2:Player) MATCH (p1:Player {long_name: $playerName})-[r1:PLAY_FOR_CLUB_16]->(team:Clubs)<-[:PLAY_FOR_CLUB_17]-(p2:Player)
WHERE p1 <> p2 WHERE p1 <> p2
RETURN p2 AS player, 'FIFA_17' AS edition, team, p1 RETURN p2, 'FIFA 17' AS edition, team, p1
UNION UNION
MATCH (p1:Player {long_name: $playerName})-[r1:PLAY_FOR_CLUB_17]->(team:Clubs)<-[:PLAY_FOR_CLUB_17]-(p2:Player)
MATCH (p1:Player {long_name: $playerName})-[r1:FIFA_18]->(e:Statistics)-[:PLAY_FOR_CLUB]->(team:Clubs)<-[:PLAY_FOR_CLUB]-(e2:Statistics)<-[r2:FIFA_18]-(p2:Player)
WHERE p1 <> p2 WHERE p1 <> p2
RETURN p2 AS player, 'FIFA_18' AS edition, team, p1 RETURN p2, 'FIFA 17' AS edition, team, p1
UNION UNION
MATCH (p1:Player {long_name: $playerName})-[r1:PLAY_FOR_CLUB_18]->(team:Clubs)<-[:PLAY_FOR_CLUB_18]-(p2:Player)
MATCH (p1:Player {long_name: $playerName})-[r1:FIFA_19]->(e:Statistics)-[:PLAY_FOR_CLUB]->(team:Clubs)<-[:PLAY_FOR_CLUB]-(e2:Statistics)<-[r2:FIFA_19]-(p2:Player)
WHERE p1 <> p2 WHERE p1 <> p2
RETURN p2 AS player, 'FIFA_19' AS edition, team, p1 RETURN p2, 'FIFA 18' AS edition, team, p1
UNION UNION
MATCH (p1:Player {long_name: $playerName})-[r1:PLAY_FOR_CLUB_19]->(team:Clubs)<-[:PLAY_FOR_CLUB_19]-(p2:Player)
MATCH (p1:Player {long_name: $playerName})-[r1:FIFA_20]->(e:Statistics)-[:PLAY_FOR_CLUB]->(team:Clubs)<-[:PLAY_FOR_CLUB]-(e2:Statistics)<-[r2:FIFA_20]-(p2:Player)
WHERE p1 <> p2 WHERE p1 <> p2
RETURN p2 AS player, 'FIFA_20' AS edition, team, p1 RETURN p2, 'FIFA 19' AS edition, team, p1
UNION UNION
MATCH (p1:Player {long_name: $playerName})-[r1:PLAY_FOR_CLUB_20]->(team:Clubs)<-[:PLAY_FOR_CLUB_20]-(p2:Player)
MATCH (p1:Player {long_name: $playerName})-[r1:FIFA_21]->(e:Statistics)-[:PLAY_FOR_CLUB]->(team:Clubs)<-[:PLAY_FOR_CLUB]-(e2:Statistics)<-[r2:FIFA_21]-(p2:Player)
WHERE p1 <> p2 WHERE p1 <> p2
RETURN p2 AS player, 'FIFA_21' AS edition, team, p1 RETURN p2, 'FIFA 20' AS edition, team, p1
UNION UNION
MATCH (p1:Player {long_name: $playerName})-[r1:PLAY_FOR_CLUB_21]->(team:Clubs)<-[:PLAY_FOR_CLUB_21]-(p2:Player)
WHERE p1 <> p2
RETURN p2, 'FIFA 21' AS edition, team, p1
MATCH (p1:Player {long_name: $playerName})-[r1:FIFA_22]->(e:Statistics)-[:PLAY_FOR_CLUB]->(team:Clubs)<-[:PLAY_FOR_CLUB]-(e2:Statistics)<-[r2:FIFA_22]-(p2:Player) UNION
MATCH (p1:Player {long_name: $playerName})-[r1:PLAY_FOR_CLUB_22]->(team:Clubs)<-[:PLAY_FOR_CLUB_22]-(p2:Player)
WHERE p1 <> p2 WHERE p1 <> p2
RETURN p2 AS player, 'FIFA_22' AS edition, team, p1 RETURN p2, 'FIFA 22' AS edition, team, p1
} }
WITH p1, team.club_name as team_name , edition, COUNT(*) AS total_companeros_en_club WITH p1, team.club_name as team_name , edition, COUNT(*) AS total_companeros_en_club
RETURN p1 as player, total_companeros_en_club, team_name, edition RETURN p1 as player, total_companeros_en_club, team_name, edition
......
import { import {
Autocomplete, Autocomplete,
Button, Button,
Stack, Table,
TableCell,
TableRow,
TextField, TextField,
Typography, styled,
} from "@mui/material"; } from "@mui/material";
import { useState } from "react"; import { useState } from "react";
import { useLazyReadCypher, useReadCypher } from "use-neo4j"; import { useLazyReadCypher, useReadCypher } from "use-neo4j";
const TableCellBlack = styled(TableCell)({
fontWeight: "bold",
});
const NoJugoConPeroSiConCompaDe = () => { const NoJugoConPeroSiConCompaDe = () => {
const query = `MATCH (p:Player {gender: "Male"}) RETURN p limit 100`; const query = `MATCH (p:Player {gender: "Male"}) RETURN p limit 100`;
const jugadoresQueNoJugaronConXPeroSiEnEquipoQueJugoYYjugoConX = ` const jugadoresQueNoJugaronConXPeroSiEnEquipoQueJugoYYjugoConX = `
CALL {MATCH (p1:Player {long_name: $playerName})-[r1:FIFA_17]->(e:Statistics)-[:PLAY_FOR_CLUB]->(team:Clubs)<-[:PLAY_FOR_CLUB]-(e2:Statistics)<-[r2:FIFA_17]-(p2:Player) CALL {
WHERE p1 <> p2
RETURN p2, 'FIFA_17' AS edition MATCH (p1:Player {long_name: $playerName})-[:PLAY_FOR_COUNTRY_16]->(country:Country)<-[r2:PLAY_FOR_COUNTRY_16]-(p2:Player)
WHERE p1 <> p2
UNION RETURN p2, 'FIFA 16' AS edition
MATCH (p1:Player {long_name: $playerName})-[r1:FIFA_17]->(e:Statistics)-[:PLAY_FOR_COUNTRY]->(team:Country)<-[:PLAY_FOR_COUNTRY]-(e2:Statistics)<-[r2:FIFA_17]-(p2:Player)
WHERE p1 <> p2 UNION
RETURN p2, 'FIFA_17' AS edition MATCH (p1:Player {long_name: $playerName})-[:PLAY_FOR_COUNTRY_17]->(country:Country)<-[r2:PLAY_FOR_COUNTRY_17]-(p2:Player)
WHERE p1 <> p2
UNION RETURN p2, 'FIFA 17' AS edition
MATCH (p1:Player {long_name: $playerName})-[r1:FIFA_18]->(e:Statistics)-[:PLAY_FOR_CLUB]->(team:Clubs)<-[:PLAY_FOR_CLUB]-(e2:Statistics)<-[r2:FIFA_18]-(p2:Player)
WHERE p1 <> p2 UNION
RETURN p2, 'FIFA_18' AS edition MATCH (p1:Player {long_name: $playerName})-[:PLAY_FOR_COUNTRY_18]->(country:Country)<-[r2:PLAY_FOR_COUNTRY_18]-(p2:Player)
WHERE p1 <> p2
UNION RETURN p2, 'FIFA 18' AS edition
MATCH (p1:Player {long_name: $playerName})-[r1:FIFA_18]->(e:Statistics)-[:PLAY_FOR_COUNTRY]->(team:Country)<-[:PLAY_FOR_COUNTRY]-(e2:Statistics)<-[r2:FIFA_18]-(p2:Player)
WHERE p1 <> p2 UNION
RETURN p2, 'FIFA_18' AS edition MATCH (p1:Player {long_name: $playerName})-[:PLAY_FOR_COUNTRY_19]->(country:Country)<-[r2:PLAY_FOR_COUNTRY_19]-(p2:Player)
WHERE p1 <> p2
UNION RETURN p2, 'FIFA 19' AS edition
MATCH (p1:Player {long_name: $playerName})-[r1:FIFA_19]->(e:Statistics)-[:PLAY_FOR_CLUB]->(team:Clubs)<-[:PLAY_FOR_CLUB]-(e2:Statistics)<-[r2:FIFA_19]-(p2:Player)
WHERE p1 <> p2 UNION
RETURN p2, 'FIFA_19' AS edition MATCH (p1:Player {long_name: $playerName})-[:PLAY_FOR_COUNTRY_20]->(country:Country)<-[r2:PLAY_FOR_COUNTRY_20]-(p2:Player)
WHERE p1 <> p2
UNION RETURN p2, 'FIFA 20' AS edition
MATCH (p1:Player {long_name: $playerName})-[r1:FIFA_19]->(e:Statistics)-[:PLAY_FOR_COUNTRY]->(team:Country)<-[:PLAY_FOR_COUNTRY]-(e2:Statistics)<-[r2:FIFA_19]-(p2:Player)
WHERE p1 <> p2 UNION
RETURN p2, 'FIFA_19' AS edition MATCH (p1:Player {long_name: $playerName})-[:PLAY_FOR_COUNTRY_21]->(country:Country)<-[r2:PLAY_FOR_COUNTRY_21]-(p2:Player)
WHERE p1 <> p2
UNION RETURN p2, 'FIFA 21' AS edition
MATCH (p1:Player {long_name: $playerName})-[r1:FIFA_20]->(e:Statistics)-[:PLAY_FOR_CLUB]->(team:Clubs)<-[:PLAY_FOR_CLUB]-(e2:Statistics)<-[r2:FIFA_20]-(p2:Player)
WHERE p1 <> p2 UNION
RETURN p2, 'FIFA_20' AS edition MATCH (p1:Player {long_name: $playerName})-[:PLAY_FOR_COUNTRY_22]->(country:Country)<-[r2:PLAY_FOR_COUNTRY_22]-(p2:Player)
WHERE p1 <> p2
UNION RETURN p2, 'FIFA 22' AS edition
MATCH (p1:Player {long_name: $playerName})-[r1:FIFA_20]->(e:Statistics)-[:PLAY_FOR_COUNTRY]->(team:Country)<-[:PLAY_FOR_COUNTRY]-(e2:Statistics)<-[r2:FIFA_20]-(p2:Player) }
WHERE p1 <> p2 WITH p2, edition
RETURN p2, 'FIFA_20' AS edition match (p2) - [:PLAY_FOR_CLUB_16 | :PLAY_FOR_CLUB_17 | :PLAY_FOR_CLUB_18 | :PLAY_FOR_CLUB_19 | :PLAY_FOR_CLUB_20 |:PLAY_FOR_CLUB_21 | :PLAY_FOR_CLUB_22]->(club:Clubs)<-[:PLAY_FOR_CLUB_16 | :PLAY_FOR_CLUB_17 | :PLAY_FOR_CLUB_18 | :PLAY_FOR_CLUB_19 | :PLAY_FOR_CLUB_20 |:PLAY_FOR_CLUB_21 | :PLAY_FOR_CLUB_22]-(p3:Player)
where p2 <> p3
UNION
MATCH (p1:Player {long_name: $playerName})-[r1:FIFA_21]->(e:Statistics)-[:PLAY_FOR_CLUB]->(team:Clubs)<-[:PLAY_FOR_CLUB]-(e2:Statistics)<-[r2:FIFA_21]-(p2:Player) and NOT EXISTS((p3)-[:PLAY_FOR_CLUB_16]->(:Clubs)<-[:PLAY_FOR_CLUB_16] - (:Player {long_name: $playerName}))
WHERE p1 <> p2 and NOT EXISTS((p3)-[:PLAY_FOR_COUNTRY_16]->(:Country)<-[:PLAY_FOR_COUNTRY_16] - (:Player {long_name: $playerName}))
RETURN p2, 'FIFA_21' AS edition
and NOT EXISTS((p3)-[:PLAY_FOR_CLUB_17]->(:Clubs)<-[:PLAY_FOR_CLUB_17] - (:Player {long_name: $playerName}))
UNION and NOT EXISTS((p3)-[:PLAY_FOR_COUNTRY_17]->(:Country)<-[:PLAY_FOR_COUNTRY_17] - (:Player {long_name: $playerName}))
MATCH (p1:Player {long_name: $playerName})-[r1:FIFA_21]->(e:Statistics)-[:PLAY_FOR_COUNTRY]->(team:Country)<-[:PLAY_FOR_COUNTRY]-(e2:Statistics)<-[r2:FIFA_21]-(p2:Player)
WHERE p1 <> p2 and NOT EXISTS((p3)-[:PLAY_FOR_CLUB_18]->(:Clubs)<-[:PLAY_FOR_CLUB_18] - (:Player {long_name: $playerName}))
RETURN p2, 'FIFA_21' AS edition and NOT EXISTS((p3)-[:PLAY_FOR_COUNTRY_18]->(:Country)<-[:PLAY_FOR_COUNTRY_18] - (:Player {long_name: $playerName}))
UNION and NOT EXISTS((p3)-[:PLAY_FOR_CLUB_19]->(:Clubs)<-[:PLAY_FOR_CLUB_19] - (:Player {long_name: $playerName}))
MATCH (p1:Player {long_name: $playerName})-[r1:FIFA_22]->(e:Statistics)-[:PLAY_FOR_CLUB]->(team:Clubs)<-[:PLAY_FOR_CLUB]-(e2:Statistics)<-[r2:FIFA_22]-(p2:Player) and NOT EXISTS((p3)-[:PLAY_FOR_COUNTRY_19]->(:Country)<-[:PLAY_FOR_COUNTRY_19] - (:Player {long_name: $playerName}))
where p1 <> p2
RETURN p2, 'FIFA_22' AS edition and NOT EXISTS((p3)-[:PLAY_FOR_CLUB_20]->(:Clubs)<-[:PLAY_FOR_CLUB_20] - (:Player {long_name: $playerName}))
and NOT EXISTS((p3)-[:PLAY_FOR_COUNTRY_20]->(:Country)<-[:PLAY_FOR_COUNTRY_20] - (:Player {long_name: $playerName}))
UNION
MATCH (p1:Player {long_name: $playerName})-[r1:FIFA_22]->(e:Statistics)-[:PLAY_FOR_COUNTRY]->(team:Country)<-[:PLAY_FOR_COUNTRY]-(e2:Statistics)<-[r2:FIFA_22]-(p2:Player) and NOT EXISTS((p3)-[:PLAY_FOR_CLUB_21]->(:Clubs)<-[:PLAY_FOR_CLUB_21] - (:Player {long_name: $playerName}))
where p1 <> p2 and NOT EXISTS((p3)-[:PLAY_FOR_COUNTRY_21]->(:Country)<-[:PLAY_FOR_COUNTRY_21] - (:Player {long_name: $playerName}))
RETURN p2, 'FIFA_22' AS edition}
and NOT EXISTS((p3)-[:PLAY_FOR_CLUB_22]->(:Clubs)<-[:PLAY_FOR_CLUB_22] - (:Player {long_name: $playerName}))
WITH p2, edition and NOT EXISTS((p3)-[:PLAY_FOR_COUNTRY_22]->(:Country)<-[:PLAY_FOR_COUNTRY_22] - (:Player {long_name: $playerName}))
match (p2) - [:FIFA_17 | :FIFA_18 | :FIFA_19 | :FIFA_20 | :FIFA_21 | :FIFA_22] -> (e) - [:PLAY_FOR_CLUB]->(:Clubs)<-[:PLAY_FOR_CLUB]-(e2:Statistics)<-[:FIFA_17 | :FIFA_18 | :FIFA_19 | :FIFA_20 | :FIFA_21 | :FIFA_22]-(p3:Player)
where p2 <> p3 and p3.long_name <> $playerName
return DISTINCT p3, p2, edition, club
and NOT EXISTS((p3)-[:FIFA_17]->(:Statistics)-[:PLAY_FOR_CLUB]->(:Clubs)<-[:PLAY_FOR_CLUB]- (:Statistics) <- [:FIFA_17] - (:Player {long_name: $playerName}))
and NOT EXISTS((p3)-[:FIFA_17]->(:Statistics)-[:PLAY_FOR_COUNTRY]->(:Country)<-[:PLAY_FOR_COUNTRY]- (:Statistics) <- [:FIFA_17] - (:Player {long_name: $playerName}))
and NOT EXISTS((p3)-[:FIFA_18]->(:Statistics)-[:PLAY_FOR_CLUB]->(:Clubs)<-[:PLAY_FOR_CLUB]- (:Statistics) <- [:FIFA_18] - (:Player {long_name: $playerName}))
and NOT EXISTS((p3)-[:FIFA_18]->(:Statistics)-[:PLAY_FOR_COUNTRY]->(:Country)<-[:PLAY_FOR_COUNTRY]- (:Statistics) <- [:FIFA_18] - (:Player {long_name: $playerName}))
and NOT EXISTS((p3)-[:FIFA_19]->(:Statistics)-[:PLAY_FOR_CLUB]->(:Clubs)<-[:PLAY_FOR_CLUB]- (:Statistics) <- [:FIFA_19] - (:Player {long_name: $playerName}))
and NOT EXISTS((p3)-[:FIFA_19]->(:Statistics)-[:PLAY_FOR_COUNTRY]->(:Country)<-[:PLAY_FOR_COUNTRY]- (:Statistics) <- [:FIFA_19] - (:Player {long_name: $playerName}))
and NOT EXISTS((p3)-[:FIFA_20]->(:Statistics)-[:PLAY_FOR_CLUB]->(:Clubs)<-[:PLAY_FOR_CLUB]- (:Statistics) <- [:FIFA_20] - (:Player {long_name: $playerName}))
and NOT EXISTS((p3)-[:FIFA_20]->(:Statistics)-[:PLAY_FOR_COUNTRY]->(:Country)<-[:PLAY_FOR_COUNTRY]- (:Statistics) <- [:FIFA_20] - (:Player {long_name: $playerName}))
and NOT EXISTS((p3)-[:FIFA_21]->(:Statistics)-[:PLAY_FOR_CLUB]->(:Clubs)<-[:PLAY_FOR_CLUB]- (:Statistics) <- [:FIFA_21] - (:Player {long_name: $playerName}))
and NOT EXISTS((p3)-[:FIFA_21]->(:Statistics)-[:PLAY_FOR_COUNTRY]->(:Country)<-[:PLAY_FOR_COUNTRY]- (:Statistics) <- [:FIFA_21] - (:Player {long_name: $playerName}))
and NOT EXISTS((p3)-[:FIFA_22]->(:Statistics)-[:PLAY_FOR_CLUB]->(:Clubs)<-[:PLAY_FOR_CLUB]- (:Statistics) <- [:FIFA_22] - (:Player {long_name: $playerName}))
and NOT EXISTS((p3)-[:FIFA_22]->(:Statistics)-[:PLAY_FOR_COUNTRY]->(:Country)<-[:PLAY_FOR_COUNTRY]- (:Statistics) <- [:FIFA_22] - (:Player {long_name: $playerName}))
and p3.long_name <> $playerName
return DISTINCT p3, p2
LIMIT 100
`; `;
const [player, setPlayer] = useState(""); const [player, setPlayer] = useState("");
const [companerosQuery, companerosQueryState] = useLazyReadCypher( const [companerosQuery, companerosQueryState] = useLazyReadCypher(
...@@ -111,7 +96,10 @@ LIMIT 100 ...@@ -111,7 +96,10 @@ LIMIT 100
return ( return (
<> <>
<h2>Jugadores que jugaron en el mismo equipo de alguien que jugo con:</h2> <h2>
Jugadores que jugaron en el mismo equipo de alguien que jugo en el mismo
pais con:
</h2>
<Autocomplete <Autocomplete
disablePortal disablePortal
id="combo-box-demo" id="combo-box-demo"
...@@ -128,30 +116,29 @@ LIMIT 100 ...@@ -128,30 +116,29 @@ LIMIT 100
> >
Buscar Buscar
</Button> </Button>
<Table>
<Stack flexDirection="row" mt={2}> <TableRow>
<Stack width="40%"> <TableCellBlack>Jugador</TableCellBlack>
<Typography fontWeight="bold">Jugador</Typography> <TableCellBlack>Club</TableCellBlack>
</Stack> <TableCellBlack>Jugador nexo</TableCellBlack>
<Stack width="40%"> <TableCellBlack>Edicion que jugo con {player}</TableCellBlack>
<Typography fontWeight="bold">Nexo</Typography> </TableRow>
</Stack> {companerosQueryState.result &&
</Stack> companerosQueryState.result.records.map((record, index) => {
{companerosQueryState.result && const p3 = record.get("p3").properties.long_name;
companerosQueryState.result.records.map((record, index) => { const p2 = record.get("p2").properties.long_name;
const p3 = record.get("p3").properties.long_name; const edition = record.get("edition");
const p2 = record.get("p2").properties.long_name; const club = record.get("club").properties.club_name;
return ( return (
<Stack flexDirection="row"> <TableRow>
<Stack width="40%"> <TableCell>{p3}</TableCell>
<p>{p3}</p> <TableCell>{club}</TableCell>
</Stack> <TableCell>{p2}</TableCell>
<Stack width="40%"> <TableCell>{edition}</TableCell>
<p>{p2}</p> </TableRow>
</Stack> );
</Stack> })}
); </Table>
})}
</> </>
); );
}; };
......
...@@ -28,18 +28,18 @@ const getQueryForEdition = (year: string) => { ...@@ -28,18 +28,18 @@ const getQueryForEdition = (year: string) => {
}; };
const Res = ({ edition }: { edition: any }) => { const Res = ({ edition }: { edition: any }) => {
const queryPuntajePorEdicion = `MATCH (p:Player {gender: "Male"})-[:${edition}]->(e:Statistics)-[:PLAY_FOR_CLUB]->(club:Clubs) const queryPuntajePorEdicion = `MATCH (p:Player {gender: "Male"})-[r:PLAY_FOR_CLUB_${edition}]->(club:Clubs)
WITH max(e.overall) AS maxMaleScore WITH max(r.overall) AS maxMaleScore
MATCH (p:Player {gender: "Male"})-[:${edition}]->(e:Statistics)-[:PLAY_FOR_CLUB]->(club:Clubs) MATCH (p:Player {gender: "Male"})-[r:PLAY_FOR_CLUB_${edition}]->(club:Clubs)
WHERE e.overall = maxMaleScore WHERE r.overall = maxMaleScore
RETURN p.long_name AS Player, club.club_name AS Club_or_Country, e.overall AS Score, "Male" AS Gender RETURN p.long_name AS Player, club.club_name AS Club_or_Country, r.overall AS Score, "Male" AS Gender
UNION ALL UNION
// Para las mujeres // Para las mujeres
MATCH (p:Player {gender: "Female"})-[:${edition}]->(e:Statistics)-[:PLAY_FOR_COUNTRY]->(country:Country) MATCH (p:Player {gender: "Female"})-[r:PLAY_FOR_COUNTRY_${edition}]->(country:Country)
WITH max(e.overall) AS maxFemaleScore WITH max(r.overall) AS maxFemaleScore
MATCH (p:Player {gender: "Female"})-[:${edition}]->(e:Statistics)-[:PLAY_FOR_COUNTRY]->(country:Country) MATCH (p:Player {gender: "Female"})-[r:PLAY_FOR_COUNTRY_${edition}]->(country:Country)
WHERE e.overall = maxFemaleScore WHERE r.overall = maxFemaleScore
RETURN p.long_name AS Player, country.country_name AS Club_or_Country, e.overall AS Score, "Female" AS Gender RETURN p.long_name AS Player, country.country_name AS Club_or_Country, r.overall AS Score, "Female" AS Gender
`; `;
const [querySearch, querySearchState] = useLazyReadCypher( const [querySearch, querySearchState] = useLazyReadCypher(
queryPuntajePorEdicion queryPuntajePorEdicion
...@@ -89,7 +89,7 @@ const ValoracionNenasNenesPorEdicion = () => { ...@@ -89,7 +89,7 @@ const ValoracionNenasNenesPorEdicion = () => {
const editionsMap = Array.from({ length: 7 }, (_, i) => { const editionsMap = Array.from({ length: 7 }, (_, i) => {
const year = 2016 + i; const year = 2016 + i;
return { [`Edición ${year}`]: `FIFA_${year.toString().substr(-2)}` }; return { [`Edición ${year}`]: `FIFA_${year.toString().substr(-2)}` };
}).reduce((a, b) => ({ ...a, ...b }), {}); // This line combines all objects into one }).reduce((a, b) => ({ ...a, ...b }), {});
return ( return (
<> <>
<h2>Valoracion mas alta por edicion</h2> <h2>Valoracion mas alta por edicion</h2>
...@@ -101,7 +101,8 @@ const ValoracionNenasNenesPorEdicion = () => { ...@@ -101,7 +101,8 @@ const ValoracionNenasNenesPorEdicion = () => {
renderInput={(params) => <TextField {...params} label="Edición" />} renderInput={(params) => <TextField {...params} label="Edición" />}
onChange={(e, value) => { onChange={(e, value) => {
if (value !== null) { if (value !== null) {
setEdition(editionsMap[value]); // obtener ultimos dos digitos de editionsMap[value]
setEdition(editionsMap[value].slice(-2));
} }
}} }}
/> />
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment