Skip navigation.
Home

Virtuoso and Perl

Here is a sample script to put data into Virtuoso with Perl. Probably authored by Ben V.V.


#!/usr/bin/perl

#---------------------------------------------------------
# Put a sparql query into Virtuoso
#---------------------------------------------------------

use LWP::UserAgent;
use strict;

my $ua;
$ua = LWP::UserAgent->new;
$ua->timeout(120); # in seconds

# CONFIGURATION

# Path to Virtuoso sparql endpoint
my $virtuosoPath = "http://localhost:8890/sparql";

# Graph (aka, database name, or namespace, for your RDF)
my $targetgraph = "test";

# INSERT query
my $sparql_query = "PREFIX owl: <http://www.w3.org/2002/07/owl#> PREFIX my:<http://fake.com#> INSERT INTO GRAPH <$targetgraph> { my:blah rdf:type my:fakeType }";

my %form_content = ("query" => $sparql_query);

my $response = $ua->post($virtuosoPath, \%form_content);

if (!$response->is_success) {

warn " ERROR: ", $response->status_line, ".\n\n";
warn "=>Response:\n";
warn $response->content, "\n\n";
warn "=>Original query: \n";
warn $sparql_query, "\n\n";
}

exit;