Open jimkont opened 9 years ago
There are no rdfs:range
errors but here's the complete list for rdfs:domain
dbo:mother rdfs:domain dbo:Person,_PersonalEvent .
dbo:proYear rdfs:domain dbo:Athlete,_CareerStation .
dbo:diocese rdfs:domain dbo:Parish,_Deanery .
dbo:amateurYear rdfs:domain dbo:Athlete,_CareerStation .
dbo:voice rdfs:domain dbo:TelevisionShow,_FictionalCharacter .
dbo:amateurTeam rdfs:domain dbo:Athlete,_CareerStation .
dbo:dutchMIPCode rdfs:domain dbo:ArchitecturalStructure,_Monument .
dbo:child rdfs:domain dbo:Person,_PersonalEvent .
dbo:membershipAsOf rdfs:domain dbo:Organisation,_Parish .
dbo:deanery rdfs:domain dbo:Diocese,_Parish .
dbo:territory rdfs:domain dbo:MilitaryConflict,_AdministrativeRegion .
dbo:father rdfs:domain dbo:Person,_PersonalEvent .
dbo:leadTeam rdfs:domain dbo:Athlete,_CareerStation .
dbo:cyclistGenre rdfs:domain dbo:Athlete,_CareerStation .
dbo:leadYear rdfs:domain dbo:Athlete,_CareerStation .
dbo:firstAscent rdfs:domain dbo:Mountain,Volcano .
dbo:proTeam rdfs:domain dbo:Athlete,_CareerStation .
So how are we fixing this? I suggest to use schema:domainIncludes instead of rdfs:domain, because multiple domains are in fact very useful for DBpedia, and the best way to fix some of the errors in #57 is by adding multiple domains to the property.
Similarly, we should use schema:rangeIncludes instead of rdfs:range. @alexandrutodor @Nono314 what do you think?
So far we allow a single domain/range per property which also helps simplify the extraction code. So it is convenient to keep one but we could also adapt if needed (but it's too late for this release).
I think we should put this on the ontology committee but we should first prepare the draft guidelines
If you want to have multiple domains you have to use owl:unionOf, otherwise this would result the intersection of the domain classes.
I'm more in favor of keeping a single domain in order to keep it simple. What use it is to infer that something has type owl:unionOf? (BTW at present any attempt to use domain/range for inferring types will be disastrous.)
Double domains most often indicate a mistake in class modeling, eg:
I agree with you that there are many modeling issues. I just wanted to make sure that if you decide to have multiple domains, by default they are treated as the intersection which is usually not intended. This is often an error when users try to make an ontology.
@LorenzBuehmann I suggest to switch to schema:domainIncludes, schema:rangeIncludes. Also see #14
The DBpedia framework currently does not support multiple domains per property but the following properties define them which result in wrong domain names. This was discovered through https://github.com/dbpedia/mappings-tracker/issues/57
I will try to create a similar list for ranges