Page MenuHomePhabricator

SubProperty mechanism
Closed, ResolvedPublic

Description

To accurately model the information we have on topics we need a large number of specialised properties. We don't always have detailed information however so we also need more general properties for those cases.

This means that queries are more difficult as you are having to guess which property was used in each case.

If we had a 'subproperty' mechanism then we could define the specialist properties as subproperties of the general property and search accross all of them at the same time.

Example A.
Property P21-Sex.
This is used for all of the following properties:

  • biological sex
    • Sex chromosomes
    • secondary sexual characteristics
    • Sex hormones
  • Gender
    • gender identity
    • gender expression

At present these are modeled using 'instance of' as a qualifier but it would be better to follow W3C recommendations and make each of these a subproperty so we can use the various tools that have been developed to manipulate W3C compliant ontologies.

Example B.
P793 Significant event is a property specifically created so imitation subproperties can be easily created using qualifiers and a search on P793 can find all of these easily. Real subproperties would be W3C compliant.

Example C.
Property P31-'Instance of' is very widely used but there are cases where wikidata has chosen to create other properties which are similar but whose use is limited to various specific cases.

  • P60 - type of astronomical object
  • P105 - taxon rank
  • P132 - type of administrative unit

and others. A subproperty mechanism would mean that users who are not familiar with all these specialist properties could still search on P31 and find all these topics.


Version: unspecified
Severity: enhancement

Details

Reference
bz59680

Related Objects

Event Timeline

bzimport raised the priority of this task from to Low.Nov 22 2014, 2:19 AM
bzimport set Reference to bz59680.
bzimport added a subscriber: Unknown Object (MLST).

crown_s wrote:

Qualifiers, rankes, novalue, somevalue, value order, ... and now subvalue. Basic data model is too complex already. More complex data model increases complexity of every application (for example infoboxes). Not every programmer can create and support complex application. So complexity limits applications count. Another side: complexity creates ambiguity situations and conflicts. For example same data can be presented by multiple properties or one property + qualifier. This ambiguity creates many conflicts in Wikidata community. So, please do not increase complexity of basic data model. Sometimes a little decrease total volume of information is better then increasing data access complexity.

I would note that this was mentioned briefly here: https://www.wikidata.org/wiki/Wikidata:Project_chat/Archive/2013/10#What_type_of_data_should_be_stored. I'm not sure if storing "subproperty" as a statement on a property would satisfy what filceolaire is asking for here, or if he is asking for something more integrated at a fundamental level.

It should be enough by allowing statements for properties, that way we could specify which property is a subclass of another one
https://bugzilla.wikimedia.org/show_bug.cgi?id=49554

I am proposing that the query API should have a facility to search accross a property and it's subproperties in one action

@Filceolaire: For that first you need to know what is the relationship of one property with the others.

  • Bug 50911 has been marked as a duplicate of this bug. ***

emw.wiki wrote:

I think it would help to have this request reviewed by someone with detailed knowledge of the RDFS and OWL W3C specifications. Markus Krötzsch might be willing.

I am concerned about Example C from the original request. It sets making subproperties of P31 (instance of) a motivation for this property. P31 has the semantics of rdf:type per community consensus. It is also in the RDF export as such: see wikidata-instances.nt.gz in http://tools.wmflabs.org/wikidata-exports/rdf/exports/20140526/. That export uses OWL. Of the OWL varieties, OWL 2 DL tends to be preferred.

However, according to the OWL 2 Structural Specification, section 5.3, "IRIs from the reserved vocabulary other than owl:topObjectProperty and owl:bottomObjectProperty MUST NOT be used to identify object properties in an OWL 2 DL ontology." [1] The specification goes on to explain that IRIs prefixed with rdf and rdfs, e.g. rdf:type and rdfs:subClassOf, are among the reserved vocabulary. A 2007 paper by Boris Motik, an editor of OWL 2, explains why making statements about the built-in vocabulary is such a problem.

Simply put, statements like "x rdfs:subPropertyOf rdf:type" and "y rdfs:subPropertyOf rdfs:subClassOf" would not be valid in OWL 2 DL, the preferred W3C language for Semantic Web ontologies.

Subproperties would be very useful, but enabling non-standard semantics would outweigh that benefit.

  1. http://www.w3.org/TR/owl2-syntax/#Object_Properties
  2. http://www.cs.ox.ac.uk/Boris.Motik/pubs/motik07metamodeling-journal.pdf
Lydia_Pintscher removed a subscriber: Unknown Object (MLST).
Lydia_Pintscher removed a subscriber: Unknown Object (MLST).
Lydia_Pintscher claimed this task.

We have statements on properties now. This should cover most of the request. I don't think we should bake in more knowledge about relations between properties in Wikibase.