ontology-tracker icon indicating copy to clipboard operation
ontology-tracker copied to clipboard

multiple domains per property

Open jimkont opened this issue 9 years ago • 7 comments

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

child -> Person,_PersonalEvent
cyclistGenre -> Athlete,_CareerStation
deanery -> Diocese,_Parish
diocese -> Parish,_Deanery
father -> Person,_PersonalEvent
membershipAsOf -> Organisation,_Parish
mother -> Person,_PersonalEvent
territory -> MilitaryConflict,_AdministrativeRegion
voice -> TelevisionShow,_FictionalCharacter

I will try to create a similar list for ranges

jimkont avatar Mar 18 '15 11:03 jimkont

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 .

jimkont avatar Mar 18 '15 11:03 jimkont

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?

VladimirAlexiev avatar Mar 21 '15 11:03 VladimirAlexiev

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

jimkont avatar Mar 21 '15 14:03 jimkont

If you want to have multiple domains you have to use owl:unionOf, otherwise this would result the intersection of the domain classes.

LorenzBuehmann avatar Aug 06 '15 11:08 LorenzBuehmann

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:

  • PersonalEvent cannot have child
  • Parish is an Organization so should be a subclasss
  • Volcano is a kind of Mountain so should be a subclass
  • Athlete is a person while CareerStation is a position, which likely indicates a mistake in the modeling of Athlete

VladimirAlexiev avatar Aug 06 '15 11:08 VladimirAlexiev

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 avatar Aug 06 '15 11:08 LorenzBuehmann

@LorenzBuehmann I suggest to switch to schema:domainIncludes, schema:rangeIncludes. Also see #14

VladimirAlexiev avatar Feb 13 '16 14:02 VladimirAlexiev