* * @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>';
* */ /** * 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>';
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