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

Add annotation properties to indicate intended usage of properties AND 'min 0' begone. #389

Closed
uscholdm opened this issue Oct 15, 2020 · 6 comments · Fixed by #479
Closed
Assignees
Labels
effort: small Requires less than one day to complete impact: patch No new functionality or changes in human-readable semantics (e.g,. fixing a typo in an annotation) topic: annotations

Comments

@uscholdm
Copy link
Contributor

A common problem is over-constraining the domain or range of a property. One can err on the side of adaptability by having no domain or range, but then there is no information about its likely use.

For example, the property formerlyPartOf is being used at Platts to indicate that Ukraine was part of the Soviet Union. For the foreseeable future this will only be used when the subject and object are both instances of pleo:Region. I want to indicate this w/o having it be the domain and range, because lots of things can be former parts of other things. I propse doing the followign:

pleo:domainIncludes rdfs:subPropertyOf skos:scopeNote .
pleo:rangeIncludes  rdfs:subPropertyOf skos:scopeNote .
pleo:formerlyPartOf pleo:domainIncludes pleo:Region .
pleo:formerlyPartOf pleo:rangeIncludes pleo:Region .

This also eliminates the temptation to add a min 0 - restriction on the class pleo:Region.

@uscholdm uscholdm added impact: minor New, backward-compatible functionality (does not change inferences; e.g., adding a term) effort: small Requires less than one day to complete topic: annotations labels Oct 15, 2020
@rjyounes
Copy link
Collaborator

rjyounes commented May 7, 2021

Where does 'min 0' come into play here?

@uscholdm
Copy link
Contributor Author

uscholdm commented May 7, 2021

Where does 'min 0' come into play here?

If the restriction on the class Mammal (hasTusk min 0). I'm hinting that some mammals have tusks.
I can put that information in the property, hasTusk by saying domainIncludes Mammal.

@rjyounes rjyounes added impact: patch No new functionality or changes in human-readable semantics (e.g,. fixing a typo in an annotation) and removed impact: minor New, backward-compatible functionality (does not change inferences; e.g., adding a term) labels May 13, 2021
@rjyounes
Copy link
Collaborator

Agreed - definitely better to use an annotation to annotate rather than an axiom.

@rjyounes rjyounes added the status: implementation specified Implementation has been specified. A developer should be assigned. label May 13, 2021
@uscholdm
Copy link
Contributor Author

Here are the schema.org versions. They are pure rdf and rdfs, not owl.

schema:domainIncludes a rdf:Property ;
    rdfs:label "domainIncludes" ;
    rdfs:comment "Relates a property to a class that is (one of) the type(s) the property is expected to be used on." ;
    schema:domainIncludes schema:Property ;
    schema:isPartOf <https://meta.schema.org> ;
    schema:rangeIncludes schema:Class .

schema:rangeIncludes a rdf:Property ;
    rdfs:label "rangeIncludes" ;
    rdfs:comment "Relates a property to a class that constitutes (one of) the expected type(s) for values of the property." ;
    schema:domainIncludes schema:Property ;
    schema:isPartOf <https://meta.schema.org> ;
    schema:rangeIncludes schema:Class .

uscholdm added a commit that referenced this issue May 19, 2021
- added two annotation properties: domainIncludes and rangeIncludes
uscholdm added a commit that referenced this issue May 19, 2021
- updated release notes
uscholdm added a commit that referenced this issue May 19, 2021
- added specific uses of domainIncludes and rangeIncludes
uscholdm added a commit that referenced this issue May 19, 2021
- updated release notes
uscholdm added a commit that referenced this issue May 20, 2021
- updated release notes (again)
@uscholdm uscholdm linked a pull request May 25, 2021 that will close this issue
uscholdm added a commit that referenced this issue May 26, 2021
- made a few tweaks to tidy things up a bit
- updated release notes (again)
uscholdm added a commit that referenced this issue May 27, 2021
- Fixed punctuation and spelling in annotations.
uscholdm added a commit that referenced this issue May 27, 2021
@rjyounes rjyounes changed the title Add annotation properties to indicate intended usage of properties AND 'min 0' begone Add annotation properties to indicate intended usage of properties AND 'min 0' begone. Fixes #480. May 28, 2021
@rjyounes rjyounes changed the title Add annotation properties to indicate intended usage of properties AND 'min 0' begone. Fixes #480. Add annotation properties to indicate intended usage of properties AND 'min 0' begone. May 28, 2021
@rjyounes
Copy link
Collaborator

rjyounes commented Jul 8, 2021

Re-opening this issue: see discussion thread on #487. I'm inclined to delete the annotation properties we defined and use schema's instead.

Note that the new properties have already been merged into develop for release 10.0.0 and would need to be removed.

@rjyounes rjyounes reopened this Jul 8, 2021
@rjyounes rjyounes added status: under review In triage and removed status: implementation specified Implementation has been specified. A developer should be assigned. labels Jul 8, 2021
@rjyounes rjyounes assigned uscholdm and unassigned uscholdm Jul 8, 2021
@rjyounes
Copy link
Collaborator

Why didn't we want to use the schema properties? We will use these as annotation properties and don't affect reasoning.
Jamie: nice to keep gist self-contained.
Michael: but we already use skos annotations.
Michael: if we refer to a schema property in gist, and we save out the file from Protege, Protege declares the property in the gist.
Mark uses Protege to write files.
Serializer apparently removes the stubs.

DECISION: Stick with earlier decision to define our own properties. The implications of using RDF properties in an OWL ontology are unclear.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
effort: small Requires less than one day to complete impact: patch No new functionality or changes in human-readable semantics (e.g,. fixing a typo in an annotation) topic: annotations
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants