как сделать базу знаний в экспертной системе perl, подключающейся к базе данных mysql

Я хочу знать что-то подобное. Как сделать базу знаний в экспертной системе perl подключиться к базе данных mysql. Но когда я запускаю этот код, он написал mesomething вот так:

Сообщение об ошибке

Can't locate object method "new" via package 
"AI::ExpertSystem::Advanced::KnowledgeBase" (perhaps you forgot  to load 
"AI::ExpertSystem::Advanced::KnowledgeBase" ?) at a.pl line 27.

Мой код:

#!/xampp/perl/bin/perl -w
# PERL MODULES WE WILL BE USING
#use strict;
use warnings;
use AI::ExpertSystem::Advanced;
use AI::ExpertSystem::Advanced::KnowledgeDB::Base;
use AI::ExpertSystem::Advanced::Viewer::Base;
use DBI;
print "PERL TEST\n";

# CONFIG VARIABLES
$database = "perldb";
$host = "localhost";
$port = "3306";
$user = "root";
$pw = "";
#  DATA SOURCE NAME
$dsn = "dbi:mysql:$database:$host:$port";

print "Trying to connect\n";
#  PERL DBI CONNECT
$connect = DBI->connect($dsn, $user, $pw) or die "Unable to connect: $DBI::errstr\n";

my $kdb = AI::ExpertSystem::Advanced::KnowledgeDB::Base->new('base???',???);
my $kb = AI::ExpertSystem::Advanced::KnowledgeBase->new();
$kb->parse_rules('rules.xml');

Спасибо за ваши советы.

1
nl ja de
что я должен там написать -> new ('base ???', ???);
добавлено автор Tomas Kocian, источник
не может найти метод объекта «новый» через пакет «AI :: ExpertSystem :: Advanced :: KnowledgeDB»
добавлено автор Tomas Kocian, источник
Я хочу знать, как создать новый экземпляр базы знаний
добавлено автор Tomas Kocian, источник
Я читал это: code attributes: rules, questions rules Этот хэш имеет правила, содержащиеся в базе данных знаний. Он заполняется, когда создается экземпляр AI :: ExpertSystem :: Advanced :: KnowledgeDB :: Base. СОВЕТ. Нет смысла заполнять этот хеш, если вы собираетесь использовать механизм базы данных, такой как MySQL, SQLite или другие. Хэш полезен, если ваша база данных знаний останется в памяти приложения. code и что я должен там дать? только ссылка на вопросы? Ссылка на xml или?
добавлено автор Tomas Kocian, источник
Похоже, у тебя там большая часть. Каков твой вопрос ?
добавлено автор Brian Agnew, источник
Вы можете создать экземпляр, даже не передавая аргументы конструкции. Это должно вернуть вам пустой хэш!
добавлено автор Krishnachandra Sharma, источник
Вы никогда не загружали AI :: ExpertSystem :: Advanced :: KnowledgeBase
добавлено автор Brad Gilbert, источник

1 ответы

«Все базы данных знаний, которые AI :: ExpertSystem :: Advanced use должны распространяться на этот класс».

So you should not use this module directly, you should inherit it or use an already existing one like: http://metacpan.org/pod/AI::ExpertSystem::Advanced::KnowledgeDB::YAML

Чтобы иметь возможность хранить правила в mysql, существует два возможных способа:

1) Простой хранить YAML в MySQL как blob

2) Создайте новый модуль, который хранит правила в MySQL вместо yaml.

Из это : "ПРИМЕЧАНИЕ: Перепишите этот метод, если вы не собираетесь использовать хэш правил (например, вы будете использовать механизм базы данных) ».

0
добавлено
DBA - русскоговорящее сообщество
DBA - русскоговорящее сообщество
1 345 участник(ов)

Общаемся и обсуждаем темы, посвященные DBA, PostgreSQL, Redis, MongoDB, MySQL, neo4j, riak и т.д. См. также: @devops_ru, @kubernetes_ru, @docker_ru, @nodejs_ru Рекомендуем сразу отключить уведомления, чтобы пребывание здесь было полезным и комфортным.

MySQL
MySQL
995 участник(ов)

The group is about MySQL. For code use hastebin.com. Admin: @smlkw

Modern::Perl
Modern::Perl
362 участник(ов)

Пожалуйста, представьтесь при добавлении в группу. Это необходимо во избежание спам-ботов. Ваше первое сообщение не должно быть ссылкой или репостом. Мы всегда рады нестандартным вопросам.

use Perl or die;
use Perl or die;
164 участник(ов)

Группа о языке Perl и обо всём что с ним связано.

pro.perl
pro.perl
22 участник(ов)

Язык программирования Perl