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
OrganizationRole examples inconsistent with current schema #2787
Comments
The questions, and comments, in issue #2777 are also very relevant here. As referenced in the conformance section of the Data Model documentation, any property, in theory, can expect values Text, URL, Role in addition to those documented. Following those guidelines, and noting that OrganizationRole is a subtype of Role, those examples are both valid. However, that is not to say that these capabilities are understood by and obvious to developers. I believe we could possibly make things a little simpler by adding the Role subtypes - OrganizationRole, EmployeeRole, PerformanceRole, and possibly LinkRole - to the range of appropriate properties (alumniOf, worksFor, memberOf, actor, etc.). Also based upon your second example, there may be a case for a new Role subtype of OccupationRole. A general highlighting of the usage of Role, by adding it to the range of many properties, would probably increase confusion in return for very little benefit. However, highlighting the use of its already defined subtypes, to add date and other qualifications to certain relationships, would be helpful. Dependant on support and comments, I would be prepared to draft a PR to apply the limited changes I describe and tweak associated examples. cc @danbri |
I'm using schema-dts with Schema.org for personal projects, and that's why I posted the issue there. I need to use this Role feature in order to express a time period in some properties like hasOccupation and alumniOf. As you said, I hope to see it possible through Role subtypes in the range of the appropriate properties. I'm not familiar with the schema development process but I'm willing to test the PR. |
I also found this confusing... consider the following:
This appears to produce "better" nquads than the examples that rely on the Role type and its subclasses... If this is cancer please tell me now :) |
This issue is being tagged as Stale due to inactivity. |
|
To which OrganizationalRole is not compatible? Just a suggestion but, I
believe the authenticity aspect of identity management my have a hiccup
because automation control can not prove identity truly authentic unless
DNA genomics becomes hiercy for security globally.
…On Thu, Jul 1, 2021, 7:17 PM Irene Jacquez ***@***.***> wrote:
- I know nothing about any of this but fix what needs to be fix . I
just happened to accidentally log on to this by browsing through my phone .
Which it has been hacked
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#2787 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ADFVNUTGKLWXHBEFPZ6NDH3TVUAPZANCNFSM4UVNNUNQ>
.
|
BTW, this issue was initially borne out someone using schema-dts and expecting to use FWIW, the TypeScript representation of Roles is interesting, and can be written in a closed-form way (simplified): type Role<TPropertyType extends Thing, TPropertyName extends string> = {
"@type": "Role",
// ... role properties,
[property: TPropertyName]: TPropertyType
} and any property can be represented as: type SchemaValue<T, TProperty extends string> = T | Role<T, TProperty> | readonly (T | Role<T, TProperty>)[];
//
type Person {
"@type": "Person",
"name": SchemaValue<Text, "name">
//...
} |
Two uses of
Organization
show examples usingOrganizationRole
in its place, but the schema does not allow for this:aluminOf
https://schema.org/alumniOf can only be
Organization
orEducationalOrganization
.OrganizationRole
is not a subClassOf Organization. Yet Example 2 for role shows AlumniOf using OrganizationRole.alumniOf should have Role or OrganizationRole in its range. or perhaps Role/OrganizationRole should have multiple parents?
hasOccupation
Similarly, Example 2 for Occupation shows Role, but
hasOccupation
has onlyOccupation
in its range.Initially filed in google/schema-dts#143
The text was updated successfully, but these errors were encountered: