CRUD-toimintojen suorittaminen ohjelmallisesti
Suorittakaa sovelluksestanne Cypher-kyselyitä graafitietojen dynaamiseen luomiseen, lukemiseen, päivittämiseen ja poistamiseen.
CRUD-toimintojen suorittaminen ohjelmallisesti on ilmainen Neo4j-graafitietokantojen perusteet-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Neo4j-graafitietokantojen perusteet-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Neo4j-graafitietokantojen perusteet-kurssilla on yhteensä 4 oppituntia.
CRUD-sovelluksesta käsin
Sovelluksia rakentaessasi sinun on usein käsiteltävä Neo4j-tietokantaasi ohjelmallisesti. Tämä tarkoittaa sellaisen koodin kirjoittamista, joka lähettää Cypher-kyselyitä tietojen luomista, lukemista, päivittämistä ja poistamista varten.
Näistä perustoiminnoista käytetään usein nimitystä CRUD:
- Create: uusien tietojen (solmujen ja suhteiden) lisääminen.
- Read: olemassa olevien tietojen hakeminen.
- Update: olemassa olevien tietojen muokkaaminen.
- Delete: tietojen poistaminen.
Yhdistäminen Neo4j:hin (kertaus)
Ennen CRUD-toimintojen suorittamista sovelluksesi on muodostettava yhteys Neo4j-tietokantaan. Kuten aiemmin opimme, virallinen Neo4j Python -ajuri tekee tästä helppoa.
Käytät GraphDatabase.driver-oliota yhteyksien hallintaan ja luot sen jälkeen session-istunnon kyselyiden suorittamista varten.
from neo4j import GraphDatabase
URI = "bolt://localhost:7687"
AUTH = ("neo4j", "password") # Use your credentials
def main():
driver = GraphDatabase.driver(URI, auth=AUTH)
with driver.session() as session:
# Your Cypher queries will go here
print("Connected to Neo4j!")
driver.close()
if __name__ == "__main__":
main()Uusien solmujen luominen
Voitte lisätä graafiin uusia entiteettejä käyttämällä Cypherin CREATE-lausetta. Ohjelmallisesti välitätte Cypher-kyselymerkkijonon ja mahdolliset parametrit session.run()-metodille.
Parametrien (kuten $name ja $age) käyttäminen on ratkaisevan tärkeää tietoturvan kannalta, ja se estää Cypher-injektioita.
from neo4j import GraphDatabase
URI = "bolt://localhost:7687"
AUTH = ("neo4j", "password")
def main():
driver = GraphDatabase.driver(URI, auth=AUTH)
with driver.session() as session:
query = (
"CREATE (p:Person {name: $name, age: $age}) "
"RETURN p.name AS name"
)
result = session.run(query, name="Charlie", age=25)
print(f"Created: {result.single()['name']}")
driver.close()
if __name__ == "__main__":
main()Suhteiden luominen
Suhteet yhdistävät solmuja, ja ne ovat graafirakenteiden kannalta olennaisia. Luodaksenne suhteen teidän on ensin tunnistettava yhdistettävät solmut, yleensä MATCH-lauseella, ja käytettävä sitten CREATE-lausetta.
Esimerkissä yhdistetään aiemmin luotu Charlie Aliceen, jonka olemassaolo varmistetaan tätä esimerkkiä varten.
from neo4j import GraphDatabase
URI = "bolt://localhost:7687"
AUTH = ("neo4j", "password")
def main():
driver = GraphDatabase.driver(URI, auth=AUTH)
with driver.session() as session:
# Ensure Alice exists for the demo
session.run("MERGE (:Person {name: 'Alice', age: 30})")
query = (
"MATCH (a:Person {name: $name1}), "
"(b:Person {name: $name2}) "
"CREATE (a)-[r:KNOWS]->(b) "
"RETURN type(r) AS relType"
)
result = session.run(query, name1="Charlie", name2="Alice")
print(f"Relationship created: {result.single()['relType']}")
driver.close()
if __name__ == "__main__":
main()Solmujen lukeminen (MATCH ja RETURN)
Tietojen hakemiseen käytetään MATCH-lausetta kuvioiden etsimiseen ja RETURN-lausetta määrittämään, mitkä tiedot haluatte palauttaa. Voitte hakea kokonaisia solmuja tai yksittäisiä ominaisuuksia.
session.run()-metodi palauttaa tulosolion, jonka läpi voitte iteroida.
from neo4j import GraphDatabase
URI = "bolt://localhost:7687"
AUTH = ("neo4j", "password")
def main():
driver = GraphDatabase.driver(URI, auth=AUTH)
with driver.session() as session:
query = "MATCH (p:Person) RETURN p.name AS name, p.age AS age"
print("All People:")
for record in session.run(query):
print(f"- {record['name']} ({record['age']} years old)")
driver.close()
if __name__ == "__main__":
main()Yhdistettyjen kuvioiden lukeminen
Graafitietokannat ovat erityisen hyviä yhdistettyjen tietojen kyselyissä. Voitte etsiä solmujen ja suhteiden monimutkaisia kuvioita ja palauttaa kyseisestä kuviosta tiettyjä osia.
Tämä esimerkki etsii henkilöt, jotka tuntevat Alicen, ja palauttaa heidän nimensä.
from neo4j import GraphDatabase
URI = "bolt://localhost:7687"
AUTH = ("neo4j", "password")
def main():
driver = GraphDatabase.driver(URI, auth=AUTH)
with driver.session() as session:
query = (
"MATCH (p:Person)-[:KNOWS]->(a:Person {name: $targetName}) "
"RETURN p.name AS knowsAlice"
)
result = session.run(query, targetName="Alice")
print("People who know Alice:")
for record in result:
print(f"- {record['knowsAlice']}")
driver.close()
if __name__ == "__main__":
main()Solmujen ominaisuuksien päivittäminen
Olemassa olevien tietojen muokkaamiseen käytätte MATCH-lausetta solmujen tai suhteiden etsimiseen ja sitten SET-lausetta niiden ominaisuuksien muuttamiseen.
Tässä Charlien ikä päivitetään arvoon 26.
from neo4j import GraphDatabase
URI = "bolt://localhost:7687"
AUTH = ("neo4j", "password")
def main():
driver = GraphDatabase.driver(URI, auth=AUTH)
with driver.session() as session:
query = (
"MATCH (p:Person {name: $name}) "
"SET p.age = $newAge "
"RETURN p.name AS name, p.age AS newAge"
)
result = session.run(query, name="Charlie", newAge=26)
record = result.single()
print(f"Updated {record['name']}'s age to {record['newAge']}")
driver.close()
if __name__ == "__main__":
main()Suhteiden ominaisuuksien päivittäminen
Solmujen tavoin myös suhteilla voi olla ominaisuuksia. Voitte päivittää niitä käyttämällä MATCH-lausetta suhteen etsimiseen ja SET-lausetta sen ominaisuuksien muokkaamiseen.
Lisätään KNOWS-suhteeseen since-ominaisuus Charlien ja Alicen välille.
from neo4j import GraphDatabase
URI = "bolt://localhost:7687"
AUTH = ("neo4j", "password")
def main():
driver = GraphDatabase.driver(URI, auth=AUTH)
with driver.session() as session:
query = (
"MATCH (p1:Person {name: $name1})"
"-[r:KNOWS]->"
"(p2:Person {name: $name2}) "
"SET r.since = $year "
"RETURN p1.name, p2.name, r.since AS sinceYear"
)
result = session.run(query, name1="Charlie", name2="Alice", year=2022)
record = result.single()
print(f"{record['p1.name']} knows {record['p2.name']} since {record['sinceYear']}")
driver.close()
if __name__ == "__main__":
main()Graafitietojen poistaminen
Solmujen ja suhteiden poistamiseen käytätte DELETE-lausetta. Jos solmulla on suhteita, teidän on käytettävä DETACH DELETE-lausetta solmun ja sen suhteiden poistamiseen samanaikaisesti.
Pelkkä DELETE solmulle, jolla on suhteita, aiheuttaa virheen.
from neo4j import GraphDatabase
URI = "bolt://localhost:7687"
AUTH = ("neo4j", "password")
def main():
driver = GraphDatabase.driver(URI, auth=AUTH)
with driver.session() as session:
query = (
"MATCH (p:Person {name: $name}) "
"DETACH DELETE p"
)
result = session.run(query, name="Charlie")
print("Charlie and related data deleted.")
driver.close()
if __name__ == "__main__":
main()Pikatarkistus: CRUD-operaatiot
Olette oppineet suorittamaan kaikki keskeiset CRUD-operaatiot. Testataan ymmärrystänne.
Kertaus: CRUD-ohjelmointi
Hienoa työtä! Tässä oppitunnissa opitte suorittamaan keskeiset CRUD-operaatiot Neo4j-graafitietokannassa suoraan Python-sovelluksesta:
- Create: Lisätkää solmuja ja suhteita käyttämällä
CREATE-lausetta. - Read: Hakekaa tietoja käyttämällä
MATCH- jaRETURN-lauseita. - Update: Muokatkaa ominaisuuksia käyttämällä
MATCH- jaSET-lauseita. - Delete: Poistakaa tietoja käyttämällä
MATCH- jaDETACH DELETE-lauseita.
Näiden operaatioiden hallitseminen on keskeistä dynaamisten ja vuorovaikutteisten graafisovellusten rakentamisessa.
Opi Neo4j-graafitietokantojen perusteet tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 12
- Oppitunnit
- 48
Usein kysytyt kysymykset
Onko oppitunti ”CRUD-toimintojen suorittaminen ohjelmallisesti” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Neo4j-graafitietokantojen perusteet-oppimispolun 3 oppituntia, myös oppitunnin “CRUD-toimintojen suorittaminen ohjelmallisesti”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Neo4j-graafitietokantojen perusteet-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”CRUD-toimintojen suorittaminen ohjelmallisesti”?
Suorittakaa sovelluksestanne Cypher-kyselyitä graafitietojen dynaamiseen luomiseen, lukemiseen, päivittämiseen ja poistamiseen. Harjoittelet Neo4j-graafitietokantojen perusteet-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Neo4j-graafitietokantojen perusteet-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Neo4j-graafitietokantojen perusteet-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”CRUD-toimintojen suorittaminen ohjelmallisesti”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Neo4j-graafitietokantojen perusteet-oppitunnilla?
Kyllä. Jokainen Neo4j-graafitietokantojen perusteet-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Yhdistäminen Python-ohjaimella
- CRUD-toimintojen suorittaminen ohjelmallisesti
- Transaktioiden ja istuntojen käsittely
- Yhteyspoolit ja virheenkäsittely