I think I am going crazy! I have followed the various tutorials for Owl and Protege and still cannot figure out the answer. Use case is simple. I have defined a class called ‘Person’. I have defined a data property called hasFirstName. I have added a ‘subclass of’ restriction to Person like this : ‘hasFirstName exactly 1 string’. I have also added an individual called Alex of type Person, and have not added the hasFirstName property. I expect the reasoner to complain as I have specified the cardinality of 1, and asserted that Alex is a Person, but have not added the property value to Alex individual, yet the reasoner does not complain. If however I add two statements e.g. hasFirstName ‘Alex’ and hasFirstName ‘John’ then I get a complain. What I am doing wrong? Any help will be most appreciated, thanks.
相关问题
- Starting an Application from Windows Service
- Calculate the depth of subclass in the OWL ontolog
- owl:someValuesFrom vs. owl:minCardinalilty
- map owl to neo4j (java example)
- Restrict woocommerce product to certain customer t
相关文章
- Meaning of owl:hasValue?
- Jena Fuseki assembler file + TDB + OWL reasoner
- OWL ObjectProperty loading as annotation in Protég
- owl - protege not inferring correctly? how to defi
- Which Triplestore for rapid semantic web developme
- why protege doesn't infer a data property in t
- Conversion from OWLOntology to Jena Model in Java
- Could anyone help me with a tool for RDF/OWL visua
There's no inconsistency in the first case. OWL makes the open world assumption, which means that something being unknown is different from it being known to be true or known to be false. Your username, at the time I'm writing this answer is user3552593. I'm relatively confident that you have a name, and that's not inconsistent with the fact that I don't know what it is yet.
By saying that
and that
you can infer that
There's nothing inconsistent with that; Alex, by virtue of Alex's personhood, has exactly one first name—we just don't know what it is yet.