Files
2025-04-09 21:36:51 +02:00

52 lines
1.4 KiB
Perl

#!/usr/bin/perl -w
use strict;
use warnings;
use DBI;
use REST::Neo4p;
use Try::Tiny;
use Data::Dumper;
#https://opensource.com/article/17/7/neo4j-your-own-software-very-basic-perl-hacking
#MATCH (p:persons), (o:orgschl)
#CREATE (p)-[:HAS_ROLE]->(o)
#MATCH (n:persons)-[r:HAS_ROLE]->()
#DELETE r
REST::Neo4p->connect( 'http://gw004:7474', 'neo4j', 'test');
my $dbh = DBI->connect('DBI:mysql:koma:ares', 'root', 'jagger') or die "Couldn't connect to database: " . DBI->errstr;
my $s1 = $dbh->selectall_arrayref("SELECT * FROM persons where not uid = '0' and activate = 1 and not ogsid is NULL ", { Slice => {} });
for my $d ( @$s1 ) {
try {
REST::Neo4p::Node->new( { name => $d->{name}, pid => $d->{pid}, firstname => $d->{firstname}, uid => $d->{uid}, persnr => $d->{persnr}, ogsid => $d->{ogsid} })->set_labels('persons');
} catch {
print Dumper($d);
}
}
my $s2 = $dbh->selectall_arrayref("SELECT * FROM org where not cid is NULL", { Slice => {} });
for my $d ( @$s2 ) {
try {
REST::Neo4p::Node->new( { oid => $d->{oid}, ogsid => $d->{cid}, name => $d->{name} })->set_labels('org');;
} catch {
print Dumper($d);
}
}
my $s3 = $dbh->selectall_arrayref("SELECT * FROM orgschl", { Slice => {} });
for my $d ( @$s3 ) {
try {
REST::Neo4p::Node->new( { ogsid => $d->{ogsid}, name => $d->{name} })->set_labels('orgschl');;
} catch {
print Dumper($d);
}
}
$dbh->disconnect;