Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

multiple domains per property #6

Open
jimkont opened this issue Mar 18, 2015 · 7 comments
Open

multiple domains per property #6

jimkont opened this issue Mar 18, 2015 · 7 comments

Comments

@jimkont
Copy link
Member

jimkont commented Mar 18, 2015

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 dbpedia/mappings-tracker#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
Copy link
Member Author

jimkont commented Mar 18, 2015

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
Copy link
Member

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
Copy link
Member Author

jimkont commented Mar 21, 2015

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
Copy link

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

@VladimirAlexiev
Copy link
Member

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

@LorenzBuehmann
Copy link

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
Copy link
Member

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants