dbpedia / ontology-tracker

Here we keep track of modification requests in the DBpedia Ontology
35 stars 11 forks source link

multiple domains per property #6

Open jimkont opened 9 years ago

jimkont commented 9 years ago

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 commented 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 .
VladimirAlexiev commented 9 years ago

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?

jimkont commented 9 years ago

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

LorenzBuehmann commented 9 years ago

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

VladimirAlexiev commented 9 years ago

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:

LorenzBuehmann commented 9 years ago

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.

VladimirAlexiev commented 8 years ago

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