I'm taking a course in Semantic Web and I'm finding myself a little confused.
I've defined a base class named A and specified that (hasType exactly 1 integer). I want to declare different subclasses that each have a different type. For instance B is subclass of A and hasType equal to 1, C hasType equal to 2. The intention is to be able to select all B individuals since they all haveType 1, so that the type relationship is always inferred.
From what I've seen in the tutorial I'm reading, it only ever specifies how to make a data property >= or <, never just equal to some value.
I've tried experimenting to determine how to do it, e.g. class B specifies subclass of hasType some integer [=1]. But the editor always shows a red line and error message (see screenshot). What am I doing wrong? I can't seem to find much on the web about Protege. I'm using version 5.
To have a property restricted to one, (or a few) value, you need a HasValue restriction. In Manchester syntax, this is
property value "1"^^xsd:int
(or something syntactically similar)