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

rdfs:value for Properties of Properties/.1 Properties #7

Open
larsgw opened this issue Oct 25, 2024 · 1 comment
Open

rdfs:value for Properties of Properties/.1 Properties #7

larsgw opened this issue Oct 25, 2024 · 1 comment

Comments

@larsgw
Copy link
Collaborator

larsgw commented Oct 25, 2024

CRM has "Properties of Properties", also called ".1 Properties", that describe a statement. These properties currently all have E55 Type as range, so for any type that one would use, one could create a subproperty for that type. However, subproperties are not the easiest to work with in SPARQL so I wonder if the following would/should work?

<something> crm:P14_carried_out_by [
  rdfs:value <https://orcid.org/0000-0002-4751-4637> ;  crm:P14.1_in_the_role_of <some-role> ] .

SPARQL doesn't handle this better, and the Properties of Properties are actually not available as URIs, so this is probably not better at the moment. However, maybe if future CRM versions may contain more Properties of Properties?

A Wikidata/Wikibase model would also work, and could be combined with this (i.e. using rdfs:value instead of ps:...), but you still need separate URIs for direct/regular properties (i.e. wdt:/p:).

@nichtich
Copy link
Contributor

nichtich commented Oct 27, 2024

Frankly, I don't understand the point of CRM poperties of properties. CRM already supports kind of qualifiers like Wikibase data model: some statement can be expressed

  • either as simple statements (e.g. $x crm:P102_has_title "X")
  • or with RDF resource object (e.g. $x crm:P102_has_title [ a crm:E35_Title ; rdfs:value "X"; ... ])

So where is the difference in using P103_was_intended_for or P102.1 has type at the resource object? As far as I see it, in RDF there is no meaningful difference between normal CRM properties and CRM properties of properties. Given that they only differ in property domain, I'd better not differentiate in RDF to not introduce redundancy. They all (or at least P31.1, P67.1, P69.1, P102.1, P139.1, and P189.1) might all be mapped to crm:P2_has_type. When mapping back from RDF, it depends on the subject and object whether and which "property of a property" was meant.

<something> crm:P14_carried_out_by [
  rdfs:value <https://orcid.org/0000-0002-4751-4637> ;  crm:P2_has_type <some-role> ] .

In doubt we may just define all properties of properties in the CRM RDF namespace as subproperties of crm:P2_has_type so if people use these properties the way you suggested and the application enables inference on rdfs:subPropertyOf (I'd avoid it) then the result is the same as directly using crm:P2_has_type.

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

2 participants