- From: Antoine Zimmermann <antoine.zimmermann@emse.fr>
- Date: Tue, 24 Sep 2019 14:48:56 +0200
- To: semantic-web@w3.org
Mikael, These two options definitely affects reasoning. If you have a property :isDeprecated, then any entity can fall into 4 disjoint categories: 1. The entities that have no value for :isDeprecated. 2. The entities that have value "true" only. 3. The entities that have value "false" only. 4. The entities that have both values "true" and "false". Moreover, if the range of the property is unrestricted, it can have all sorts of literal values, in any combination. If you want to make sure that all entities have exactly one of "true" or "false" as value for :isDeprecated, you need to introduce a cardinality axiom, which increases the complexity of reasoning (and you need to find a reasoner that supports cardinality restrictions on datatype properties). The second model with a class :Deprecated ensures that an entity is either of type :Deprecated, or not. This comes for free with any reasoner that supports a logic as simple as RDFS, without extra axioms. Many more reasoners support axioms made on classes than axioms made on literals and datatype properties. It's easier to define subclasses of deprecated documents, for instance. In general, when I review an ontology document, I mark all use of boolean properties as a mistake. Usually, boolean properties comes from adopting a programming approach to ontology engineering rather than a knowledge representation approach (that is, it uses the ontology as a data structure for computation rather than as an information model about the world, for knowledge interchange). However, when you have to go back and forth between an existing data model such as tabular data etc. and RDF, it can be convenient to translate booleans to booleans, so there can be exceptions to my rule of thumb of excluding all boolean properties. Best, --AZ Le 24/09/2019 à 13:57, Mikael Pesonen a écrit : > > Hi, > > lets say we have documents and we want to say wheather they are valid or > deprecated. There are two ways to do this: > > :doc1 a foaf:Document ; > :isDeprecated "true"^^xsd:boolean . > > or > > :doc1 a foaf:Document ; > a :Deprecated . > > Are there some different implications on the use? Does is affect OWL > reasoning, for example? > > Mikael > > -- Antoine Zimmermann Institut Henri Fayol École des Mines de Saint-Étienne 158 cours Fauriel CS 62362 42023 Saint-Étienne Cedex 2 France Tél:+33(0)4 77 42 66 03 Fax:+33(0)4 77 42 66 66 http://www.emse.fr/~zimmermann/ Member of team Connected Intelligence, Laboratoire Hubert Curien
Received on Tuesday, 24 September 2019 12:49:21 UTC