52 lines
1.4 KiB
Perl
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; |