exactly (1,None)

classic Classic list List threaded Threaded
3 messages Options
Ina
Reply | Threaded
Open this post in threaded view
|

exactly (1,None)

Ina
Hello,

I am trying to read a specific ontology that has the axiom:
Author has_admin_info exactly 1 owl:Thing
When I print its superclasses I get:
.has_admin_info.exactly(1, None)

Instead if I change the restriction to:
Author has_admin_info some owl:Thing
The result is correct:
has_admin_info.some(owl.Thing)

When I replace owl:Thing with another class e.g. foaf:Agent, it works well in both cases.
I don't understand why this happens, could you please help me?

Thank you in advance,
Ina
Reply | Threaded
Open this post in threaded view
|

Re: exactly (1,None)

Jiba
Administrator
Hi,

Actually, OWL has 2 different constructs, depending on whether the "exactly" restriction is associated with a class, or not. The "None" you see indicated that it was not associated with a class. On the contrary, when created with Thing, it is associated with the Thing class.

In Protégé, "exactly" restrictions associated with Thing are treated as non-associated with a class.

I've just modified the development version of Owlready, wo as it now behaves like Protégé.

Jiba
Ina
Reply | Threaded
Open this post in threaded view
|

Re: exactly (1,None)

Ina
Hello,

indeed, I updated Owlready2 to the latest development and it works now.
Thank you very much.

Ina