Example #1
0
 * 
 * @author Jens Lehmann
 */
include 'Utilities.php';
// load WSDL files (has to be done due to a Java web service bug)
ini_set("soap.wsdl_cache_enabled", "0");
$wsdluri = "http://localhost:8181/services?wsdl";
// Utilities::loadWSDLfiles($wsdluri);
// specifiy ontology
$ontology = 'file:' . realpath("../../examples/swore/swore.rdf");
// create DL-Learner client
$client = new SoapClient("main.wsdl");
// $client = new SoapClient($wsdluri);
$id = $client->generateID();
$ksID = $client->addKnowledgeSource($id, "owlfile", $ontology);
$rID = $client->setReasoner($id, "fastInstanceChecker");
// create a learning problem
$lp = $client->setLearningProblem($id, "classLearning");
$client->applyConfigEntryURL($id, $lp, "classToDescribe", "http://ns.softwiki.de/req/CustomerRequirement");
$la_id = $client->setLearningAlgorithm($id, "celoe");
$client->applyConfigEntryInt($id, $la_id, "maxExecutionTimeInSeconds", 5);
$client->initAll($id);
// learn concept
echo 'start learning ... ';
// get only concept
// $concept = $client->learn($id, "manchester");
// get concept and additional information in JSON syntax
$concept = $client->learnDescriptionsEvaluated($id);
echo 'OK <br />';
// echo htmlspecialchars($concept);
echo 'solution: <pre>';
Example #2
0
 *
 */
/**
 * Small example showing how to use DL-Learner for reasoning. 
 * 
 * @author Jens Lehmann
 */
include 'Utilities.php';
// load WSDL files (has to be done due to a Java web service bug)
ini_set("soap.wsdl_cache_enabled", "0");
$wsdluri = "http://localhost:8181/services?wsdl";
Utilities::loadWSDLfiles($wsdluri);
// specifiy ontology
$ontology = 'file:' . realpath("../../examples/family/father.owl");
// create DL-Learner client
$client = new SoapClient("main.wsdl");
// load owl file in DIG reasoner (you need a running DIG reasoner)
$id = $client->generateID();
$ksID = $client->addKnowledgeSource($id, "owlfile", $ontology);
$client->init($id, $ksID);
$rID = $client->setReasoner($id, "dig");
$client->init($id, $rID);
// create a concept in internal DL-Learner syntax
// ( = all female persons having at least one child)
$concept = '("http://example.com/father#female" AND EXISTS "http://example.com/father#hasChild".TOP)';
$instances = $client->retrieval($id, $concept);
// print instances
echo 'instances of ' . $concept . ': <br />';
echo '<pre>';
print_r($instances->item);
echo '</pre>';
Example #3
0
    Utilities::loadWSDLfiles($wsdluri);
}
$examples = array('http://dbpedia.org/resource/Leipzig', 'http://dbpedia.org/resource/Dresden');
$client = new SoapClient("main.wsdl", array('features' => SOAP_SINGLE_ELEMENT_ARRAYS));
$id = $client->generateID();
$ksID = $client->addKnowledgeSource($id, "sparqlfrag", "http://dbpedia.org/sparql");
$client->applyConfigEntryInt($id, $ksID, "recursionDepth", 2);
$filterClasses = array("http://xmlns.com/foaf/", "http://dbpedia.org/class/yago/", "http://dbpedia.org/ontology/Resource");
$relatedInstances = array('http://dbpedia.org/resource/Berlin', 'http://dbpedia.org/resource/London');
$instances = array_merge($examples, $relatedInstances);
$client->applyConfigEntryStringArray($id, $ksID, "instances", $instances);
$client->applyConfigEntryString($id, $ksID, "predefinedFilter", "DBPEDIA-NAVIGATOR");
$client->applyConfigEntryString($id, $ksID, "predefinedEndpoint", "DBPEDIA");
$client->applyConfigEntryBoolean($id, $ksID, "saveExtractedFragment", true);
$client->applyConfigEntryBoolean($id, $ksID, "propertyInformation", true);
$rID = $client->setReasoner($id, "cwr");
$client->setLearningProblem($id, "posonlylp");
$client->setPositiveExamples($id, $examples);
$laID = $client->setLearningAlgorithm($id, "celoe");
$client->applyConfigEntryInt($id, $laID, "maxExecutionTimeInSeconds", 1);
$client->initAll($id);
echo '<p>Positive examples:<br />';
foreach ($examples as $example) {
    echo $example . '<br />';
}
echo '</p>';
echo '<p>Additional instances:<br />';
foreach ($relatedInstances as $related) {
    echo $related . '<br />';
}
echo '</p>';
include 'Utilities.php';
// load WSDL files (has to be done due to a Java web service bug)
ini_set("soap.wsdl_cache_enabled", "0");
$wsdluri = "http://localhost:8181/services?wsdl";
Utilities::loadWSDLfiles($wsdluri);
// specifiy ontology
$ontology = 'file:' . realpath("../examples/family/uncle.owl");
// create DL-Learner client
$client = new SoapClient("main.wsdl");
// load owl file in reasoner
$id = $client->generateID();
$state = $client->getState($id);
var_dump($state);
echo 'STATE END';
$ksID = $client->addKnowledgeSource($id, "owlfile", $ontology);
$rID = $client->setReasoner($id, "owlapi");
// create a learning problem
$posExamples = array('http://localhost/foo#heinrich', 'http://localhost/foo#alfred', 'http://localhost/foo#heinz', 'http://localhost/foo#hans', 'http://localhost/foo#alex');
$negExamples = array('http://localhost/foo#jan', 'http://localhost/foo#markus', 'http://localhost/foo#susi', 'http://localhost/foo#anna', 'http://localhost/foo#maria', 'http://localhost/foo#katrin', 'http://localhost/foo#johanna', 'http://localhost/foo#mandy', 'http://localhost/foo#miriam', 'http://localhost/foo#hanna');
$client->setLearningProblem($id, "posNegLPStandard");
$client->setPositiveExamples($id, $posExamples);
$client->setNegativeExamples($id, $negExamples);
// choose refinement operator approach
$client->setLearningAlgorithm($id, "refinement");
$client->initAll($id);
// start learning process in DL-Learner
$client->learnThreaded($id);
$sleeptime = 2;
$seconds = 0;
do {
    // sleep a while