SmartDataAnalytics / DL-Learner

A tool for supervised Machine Learning in OWL and Description Logics
http://dl-learner.org
GNU General Public License v3.0
152 stars 34 forks source link

Using alg.ignoredConcepts and alg.startClass for complex concepts #76

Open Demirrr opened 4 years ago

Demirrr commented 4 years ago

Hello all,

I was interested in using alg.ignoredConcepts and alg.startClass as shown in 1 and 2 for complex concepts, i.e, concepts having lengths >1. To this end, I use Grandgrandmother.conf example, include rendering = "dlsyntax" and

This work flawlessly. However, I am interested in using concepts like Female ⊓ (∃ hasChild.T) as startClass and ignore complex concepts (Male ⊔ Female). However, I seem to fail to do so. Consequently, I was wondering whether you may suggest some solutions.

Cheers!

SimonBin commented 4 years ago

Thanks for the question,

we have to check how well complex start concepts are supported as it is handled differently per algorithm. With CELOE at least, the following should work (note, you should give the concept in Manchester syntax regardless of the output rendering)

alg.startClass = "( ex:Female and ( ex:hasChild some owl:Thing ))"

Currently, the ignored concepts are pruned at the hierarchy level, so there is no support to ignore complex concepts directly.