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

Describe the funding of a person/project/creative work #383

Open
hubgit opened this issue Mar 17, 2015 · 107 comments
Open

Describe the funding of a person/project/creative work #383

hubgit opened this issue Mar 17, 2015 · 107 comments

Comments

@hubgit
Copy link

@hubgit hubgit commented Mar 17, 2015

A schema (funder name, funder identifier, award number) for describing the funding of academic research and journal articles is published as part of FundRef.

It would be useful to have something similar - and more broadly applicable - in schema.org, to describe the funding of various things.

As an example:

  • A CreativeWork would have one or more funding, the value of which is a Funding.
  • A Funding would have one or more funder, the value of which is one or more Organisation or Person.
  • A Funding would have zero or more awardNumber, the value of which is text (e.g. an NIH grant number).
  • A Funding would have zero or more startDate and endDate.

To consider:

  • Should the funding property be attached to the CreativeWork, the project, or each Person/contributor?
  • When attached to a Person, should this include professional awards, such as fellowships, or employers?
@chaals
Copy link
Contributor

@chaals chaals commented Mar 20, 2015

The best example I can think of for noting people being funded are politicians, but there are certainly cases of both projects, and creative works they produce, being funded and wanting to acknowledge that funding.

@chaals
Copy link
Contributor

@chaals chaals commented Mar 20, 2015

For schema.org's purposes, if we do this I would be inclined to keep it pretty generic - i.e. Thing could have a funder (by the time we allow for organisations, people, documents, sculptures, projects and so on, I'm not sure what we gain by trying to think of the things that cannot be funded…

@thadguidry
Copy link
Contributor

@thadguidry thadguidry commented Mar 20, 2015

@hubgit Your ideas are similar to mine in the past: https://www.freebase.com/user/thadguidry/default_domain/grant_program?schema=

here's my past playground, you might find some interesting types and properties to explore:
https://www.freebase.com/user/thadguidry/default_domain

So I suggest that Grants be an extension of Schema.org and try to make it as generic as possible starting out. It seems as if your data is aligned with a list of Grants. So I would start with a basic Grant type that anyone at any organization could use (USA, Europe, etc). After that then you can see the abstractions needed, and perhaps then create a higher type if needed for Fund (where a project can be funded by a Grant, or Online Funding Campaign, i.e. Kickstarter, Backme, etc., or Investment and then create those other types as well, if need be... OnlineCampaign, Investment, etc...)

Best of luck.

@hubgit
Copy link
Author

@hubgit hubgit commented Mar 21, 2015

I wonder if the existing PayAction would be appropriate (perhaps with an inverse property).

@rvguha
Copy link
Contributor

@rvguha rvguha commented Mar 21, 2015

I would strongly prefer to stay away from putting everything on Thing.

Lets start with CreativeWork and Project (or something like that). We can
then proceed from there.

guha

On Fri, Mar 20, 2015 at 3:52 AM, chaals notifications@github.com wrote:

For schema.org's purposes, if we do this I would be inclined to keep it
pretty generic - i.e. Thing could have a funder (by the time we allow for
organisations, people, documents, sculptures, projects and so on, I'm not
sure what we gain by trying to think of the things that cannot be funded…


Reply to this email directly or view it on GitHub
#383 (comment).

@rvguha
Copy link
Contributor

@rvguha rvguha commented Mar 21, 2015

In keeping with our desired naming convention, let us not have both Funding
and funding. Lets come up with different terms.

Further, the term 'Funding' is a bit too generic. Lets use something more
descriptive

guha

On Tue, Mar 17, 2015 at 7:05 AM, Alf Eaton notifications@github.com wrote:

A schema (funder name, funder identifier, award number) for describing the
funding of academic research and journal articles is published as part of
FundRef http://help.crossref.org/fundref.

It would be useful to have something similar - and more broadly applicable

  • in schema.org, to describe the funding of various things.

As an example:

  • A ScholarlyArticle would have one or more funding, the value of
    which is a Funding.
  • A Funding would have one or more funder, the value of which is one
    or more Organisation or Person.
  • A Funding would have zero or more awardNumber, the value of which is
    text (e.g. an NIH grant number
    http://era.nih.gov/commons/commons-help/198.htm).

To consider:

  • Should the funding property be attached to the CreativeWork, the
    project, or each Person/contributor?
  • When attached to a Person, should this include professional awards,
    such as fellowships, or employers?


Reply to this email directly or view it on GitHub
#383.

@rvguha
Copy link
Contributor

@rvguha rvguha commented Mar 21, 2015

Yes. There is a whole domain around 'grants', which should cover all the
use cases you mention. Including some additional ones like donations. There
is quite a bit of interest in getting this kind of data made public
(especially the donation case).

guha

On Fri, Mar 20, 2015 at 8:37 AM, Thad Guidry notifications@github.com
wrote:

@hubgit https://github.com/hubgit Your ideas are similar to mine in the
past:
https://www.freebase.com/user/thadguidry/default_domain/grant_program?schema=

here's my past playground, you might find some interesting types and
properties to explore:
https://www.freebase.com/user/thadguidry/default_domain

So I suggest that Grants be an extension of Schema.org and try to make it
as generic as possible starting out. It seems as if your data is aligned
with a list of Grants. So I would start with a basic Grant type that anyone
at any organization could use (USA, Europe, etc). After that then you can
see the abstractions needed, and perhaps then create a higher type if
needed for Fund (where a project can be funded by a Grant, or Online
Funding Campaign, i.e. Kickstarter, Backme, etc., or Investment and then
create those other types as well, if need be... OnlineCampaign, Investment,
etc...)

Best of luck.


Reply to this email directly or view it on GitHub
#383 (comment).

@hubgit
Copy link
Author

@hubgit hubgit commented Apr 13, 2015

Exploring some terms (deliberately broad, to try to include all the possiblities):

  • grant
  • payment / Pay (agent, recipient, description, amount, start + end date)
  • sponsor (in some fields implies "guarantor")
  • backer
  • funder / fund
  • contributor (using Role)

Properties needed (see PayAction):

  • donor/giver (agent)
  • recipient
  • start ± end date
  • purpose / assistance type
  • amount + currency (price)
  • description
  • award id / program number (local identifier)
  • id (global identifier)
  • program (larger body that the grant is part of)
  • other roles (administrator, institution, etc)
@hubgit
Copy link
Author

@hubgit hubgit commented Apr 13, 2015

An experiment at giving grant donors a "contributor" role on the work:

[http://example.org/works/1]:
  type: CreativeWork
  contributor:
    - type: FundingRole
      roleName: "donor" # could be "sponsor", "backer", etc
      contributor:
        - type: Organization
          name: "Medical Research Council"
      award:
        - type: Grant
          awardId: "MRC123"
          startDate: 2014-01-01
          endDate: 2015-01-01
          recipient:
            - type: Person
              name: "Bob Smith"

In this example, FundingRole has an extra award property, which is a Grant, which has similar properties to a PayAction.

@hubgit
Copy link
Author

@hubgit hubgit commented Apr 13, 2015

An experiment at attaching the grant (with properties copied from PayAction) directly to the work:

[http://example.org/works/1]:
  type: CreativeWork
  funding:
    - type: Grant      
      awardId: "MRC123"
      startDate: 2014-01-01
      endDate: 2015-01-01
      agent:
        - type: Organization
          name: "Medical Research Council"
      recipient:
        - type: Person
          name: "Bob Smith"
@hubgit
Copy link
Author

@hubgit hubgit commented Apr 13, 2015

Question: Is Grant a generic enough name to cover all of the following (and more)?:

  • Kickstarter backing
  • Donations to a political party
  • Research funding by a charity
  • Sponsorship by a commercial organisation
  • Charitable donations
  • Venture capital
  • Film production companies/record labels paying for production of a movie/album.
  • Employer contributions to an employee's work on an open-source project.
@hubgit
Copy link
Author

@hubgit hubgit commented Apr 13, 2015

An experiment at using PayAction to attach a Grant to a CreativeWork (following the example of potentialAction => AssessAction => resultReview => Review => itemReviewed => CreativeWork):

[http://example.org/works/1]:
  type: CreativeWork
  potentialAction:
    - type: PayAction
  funding:
    - type: Grant
      url: http://example.org/grants/1

[http://example.org/payments/1]:
  type: PayAction
  startDate: 2014-01-01
  endDate: 2015-01-01
  agent:
    - type: Organization
      name: "Medical Research Council"
  recipient:
    - type: Person
      name: "Bob Smith"
  resultGrant:
    - type: Grant
      url: http://example.org/grants/1
      awardId: "MRC123"
      itemFunded:
        - type: CreativeWork
          url: http://example.org/works/1

I quite like this example, except that there's no way of getting from the Grant to the agent and recipient. It seems like the properties of the grant should actually be properties of the PayAction (perhaps as a GrantAction), but then there's no Grant object to use in the reverse direction…

@sballesteros
Copy link

@sballesteros sballesteros commented Oct 31, 2015

Another experiment leveraging sponsor and assuming that it would be reasonable to bump the domain of sponsor from MedicalStudy to CreativeWork:

{
  "@type": "ScholarlyArticle",
  "sponsor": { // bump domain to CreativeWork
    "@type": "SponsorRole", //subclass of schema:Role
    "sponsor": {
      "@type": "Organization"
    },
    "roleOffer": {
      "@type": "FundingSource", // subclass of schema:Offer
      "serialNumber": "grantId"
    },
    "startDate": "2015-01-01"
  }
}
@darobin
Copy link
Contributor

@darobin darobin commented Nov 1, 2015

FWIW we use the experiment that @sballesteros describes over at http://scholarly.vernacular.io/#funding.

@danbri
Copy link
Contributor

@danbri danbri commented May 31, 2016

How about broadening http://schema.org/sponsor and also adding funder as a subproperty?

@hubgit
Copy link
Author

@hubgit hubgit commented May 31, 2016

sponsor sounds good to me - would it still need something like SponsorRole to attach the properties of the sponsorship to?

@jaygray0919
Copy link

@jaygray0919 jaygray0919 commented Jun 1, 2016

Here is a reference to support @sballesteros comment: http://ns.science.ai/ (about which I believe he may be an author). IOHO it is comprehensive approach to this thread topic and, importantly, is an extension to schema.org and the BIB extension https://bib.schema.org/. A presentation is here http://scholarly.vernacular.io/

@sballesteros
Copy link

@sballesteros sballesteros commented Jun 1, 2016

yes, @darobin and I are maintaining http://ns.science.ai/ . We also have https://science.ai/documentation/archive which contains multiple examples of how we use schema.org (and our little extension) in the context of scholarly publishing. In particular you can find example of funding statements (and the corresponding JSON-LD / RDFa markup).

@janober
Copy link

@janober janober commented Jun 15, 2016

Hi,
came also across this issue and would have expected something roughly like this:

{
    "@type": "Corporation",
    "name": "Big Company",
    "fundingReceived": 3000000,
    "fundingReceivedCurrency": "USD",
    "funding": [
      {
        "@type": "FundingRound",
        "name": "Seed",
        "Lead Investor": {
          "@type": "Corporation",
          "name": "Big VC"
        },
        "fundingDate": "2014-01-01",
        "amount": 3000000,
        "amountCurrency": "USD",
        "investments": [
          {
            "@type": "Investment",
            "investmentType": "Convertible Note",
            "amount": 1000000,
            "amountCurrency": "USD",
            "investor": [
              {
                "@type": "Person",
                "name": "Rich Guy"
              },
              {
                "@type": "Person",
                "name": "Another Rich Guy"
              }
            ]
          },
          {
            "@type": "Investment",
            "investmentType": "Convertible Note",
            "amount": 2000000,
            "amountCurrency": "USD",
            "investor": {
              "@type": "Corporation",
              "name": "Big VC"
            }
          }
        ]
      }
    ]
  }

Some remarks:
-Think it is important to have somewhere the whole funding received amount because the often not every single amount of every investment is known only the full amount (therefor "fundingReceived")
-Not a big fan of the "fundingReceived" & "fundingReceivedCurrency" on the "Corporation" but I think probably makes sense unless another type gets created to contain the whole funding for a company
-"funding" could either have directly "Investment" or the "FundingRound"

@RichardWallis
Copy link
Contributor

@RichardWallis RichardWallis commented Jun 15, 2016

Using MonetaryAmount would work better eg:

        ....
         {
            "@type": "Investment",
            "investmentType": "Convertible Note",
            "amount": {
                   "@type": "MonetaryAmount",
                   "currency": "USD",
                   "value": "2000000"
            },
            "investor": {
              "@type": "Corporation",
              "name": "Big VC"
            }
@janober
Copy link

@janober janober commented Jun 15, 2016

Ah yes great, that is exactly what I was looking for! Much prettier! The same then for "fundingReceived". Thanks!

@hubgit
Copy link
Author

@hubgit hubgit commented Nov 1, 2016

Noting that the funder property now exists, as a sub-property of sponsor.
"A person or organization that supports (sponsors) something through some kind of financial contribution."

@agbeltran
Copy link

@agbeltran agbeltran commented Nov 8, 2016

Following up from discussions in #1083, I think that http://schema.org/MonetaryAmount, suggested above, would work as supertype for Grant.

(while there might be in kind contributions too, I think that MonetaryAmount would cover the most important aspects - NIH activity codes would help confirming this: http://grants.nih.gov/grants/funding/ac_search_results.htm)

Could also another property associating a CreativeWork (and in particular a Dataset for our use cases from #1083) and a Grant also be added?

We have used 'acknowledges' in DATS (https://github.com/biocaddie/WG3-MetadataSpecifications/) but also fundedBy would work.

@agbeltran
Copy link

@agbeltran agbeltran commented Nov 8, 2016

Previous comment follows this issue: #1196 (instead of #1083)

@judgewooden
Copy link

@judgewooden judgewooden commented May 28, 2020

You are right, creating FundingPage is not part of this discussion. The activities of the Charity is managed using Projects. I have reviewed the process and will focus on the two considerations initially raised by @hubgit.

Consideration 1: Should the funding property be attached to the CreativeWork, the project, or each Person/contributor?

Commonly there are three entities involved with funding:

  1. The Giver (Investors, Sponsors, etc.)
  2. The Receiver (Recipient, Beneficiaries, etc.)
  3. The Facilitator (intermediaries, Platforms, Brokers, Fund Raiser, etc.)

An NGO look at funding from the Facilitator point of view. Internally the organization looks like GoFundMe, so it should be possible to link Project to Funding.

[http://example.org/project/1]:
  type: Project
  funder:
  - type: Funding (or Organization/Person/ItemList))
    url: http://example.org/fund/1

[http://example.org/fund/1]:
  type: Funding
  startDate: 2014-01-01
  endDate: 2015-01-01
  source: Donation (could be: Credit, Venture Capital, Donation, Grants, Cash, Equity, Resources, Savings, Subsidy, Tax, Prize, etc.)
  purpose: Charity (could be: Pledge, Investment, Charity, Research, Launch, Assistance, Fund shortfall, Respond to crisis, Emergency relief, Allocate celebrities time, Marketing, Campaign, Provide space, Volunteer on work assignement, etc.)
  method: Gift (could be: Seeding, Series-A, Series--B, Series-C, IPO, Sponsorhship, CrowdFunding, Equity Exchange, Gift, Raffle, Nobel Prize, Award, SOFA, GovernmentGrant, Sell Cookies,etc.)
  recipient:
  - type: Organization (or Person/itemList/Project/Event/CreativeWork - Movie, Game, Play, etc.) 
    name: "Hospital XYZ"
  contributor: 
  - type: Person (or Organization/NGO/GovernmentOrganization/ItemList)
    name: "Bob Smith"
  intermediary:
  - type: NGO (or Organization/Broker/Person/ItemList)
    name: "Charity ABC"
  amount:
  - type: MonetaryAmount (or Number/FinancialProduct/ItemList)
    currency: USD
    value: 20000
  itemFunded:
  - type: FundingScheme
    url: http://example.org/FundingScheme/1

From the point of view of the Giver the field contributor and sponsor could be extended with a link to Funding:

[http://example.org/person/1]:
  type: Person (or Organization)
  contributor:
  - type: Funding (or Organization/Person/ItemList)
    url: http://example.org/fund/1

From the point of view of the Receiver the field funder could be extended with a link to Funding:

[http://example.org/Organization/1]:
  type: Organization (or Person/Project/Event/CreativeWork - Movie, Game, Play, etc)
  funder:
  - type: Funding (or Organization/Person/ItemList)
    url: http://example.org/fund/1

Consideration 2: When attached to a Person, should this include professional awards, such as fellowships, or employers?

FundingScheme has most information required that relate to funding:

  • Terms and conditions
  • Legal information
  • Ownership of the money
  • Registration information (e.g leiCode)
  • Tax information for contributors
  • etc.

However FundingScheme needs to be extended beyond Grant, to support other requirements. This is outside the scope of defining in this thread. Topics already discussed are:

  • Provision for details on investment (e.g. Convertible Note)
  • Details around the deliverable of a creative work
  • Pledge details for crowdfunding platforms
  • etc.

Anything that is not directly linked to Funding should be managed elsewhere. Some minimal fields should be available to describe the funding without having to create a FundingScheme model. Fields like fellowship and employees does not describe funding and belongs elsewhere. Looking at models, Funding has a lot in common with Demand and Offer, e.g. acceptedPaymentMethod, eligibility, etc. and fields extracted from Thing like identifier etc.

Using the description of Funding on Wikipedia Funding will require three new fields:

  1. Source: An explanation of what the Giver is providing.
  2. Purpose: The reason, intention or objective of the Receiver or Facilitator.
  3. Method: Explains the technical method in how the funding is done.

Rules for Funding:

  • amount is mandatory. If linked via FinancialProduct the field amount should be present.
  • At least 1 of contributor, intermediary or funder is mandatory. Depending on the workflow or point of view of the solution.
@stain
Copy link

@stain stain commented Jun 2, 2020

This issue has been open for 5 years and still there is no agreement on how to link a CreativeWork to a Grant. Example 3 on http://schema.org/Grant uses the property funding which looks really nice, but http://schema.org/funding is non-existing.

Having to go inverse through fundedItem is awkward, particularly as in the metadata for a creative work you don't know the other funded items, or the Grant might not have any good URI/identifier at all (often these have just ad-hoc local identifier schemes like EP/G026238/1) and would work better as an anonymous node.

Here is how we will use the existing structure on http://workflowhub.eu/ metadata. (Note that this also uses https://bioschemas.org/profiles/Workflow/0.4-DRAFT-2020_05_11/ proposed Workflow subclass of SoftwareSourceCode:)

{ "@context": "http://schema.org/docs/jsonldcontext.jsonld",
  "@graph": [
    {"@id": "https://workflowhub.eu/workflows/15",
      "@type": ["Workflow", "SoftwareSourceCode"],
      "funder": {"@id": "https://ec.europa.eu/programmes/horizon2020/"},
      "funding": {"@id": "https://cordis.europa.eu/project/id/824087"}
    },
    { "@id": "https://cordis.europa.eu/project/id/824087",
      "@type": "Grant", 
      "identifier": "H2020-EU.1.4.1.1.824087",
      "fundedItem": { "@id": "https://workflowhub.eu/workflows/15" },
      "funder": {"@id": "https://ec.europa.eu/programmes/horizon2020/"}
    },
    { "@id": "https://ec.europa.eu/programmes/horizon2020/",
      "@type": "FundingScheme",
      "name": "Horizon 2020" }
  ]
}

(The unusual @context is because of #2578 and JSON-LD Playground)

Assuming the inverse funding makes it in, it is easier to deal with often incomplete information such as when you only have a (partial) funding code.

Here is how I could then do funding without a known urI for grant or funding agency (as can be the case for smaller grant programs, or when the funding scheme has a fancy AJAX website like GSOC)

{     "@context": "http://schema.org/docs/jsonldcontext.jsonld",
      "@id": "https://workflowhub.eu/workflows/15",
      "@type": ["Workflow", "SoftwareSourceCode"],
      "funding": {
          "@type": "Grant", 
          "identifier": "824087",
          "funder":  { 
    	     "@type": "FundingScheme",
	     "name": "Horizon 2020" }
       }
}
@smrgeoinfo
Copy link

@smrgeoinfo smrgeoinfo commented Jun 2, 2020

From the various discussions on this topic here and in other repos (see links in this thread, particularly codemeta/codemeta#160), it seems that a 'funding' property is needed, inverse of fundedItem. Since the range of fundedItem is Thing, it would be logical for the domain of 'funding' to be Thing. @danbri What needs to be done to get 'funding' added to the vocabulary?

@thadguidry
Copy link
Contributor

@thadguidry thadguidry commented Jun 2, 2020

In the meantime, while awaiting funding inclusion into Schema.org, you might consider easily making that funding property yourself by just using @reverse in JSON-LD.

This is normal in many situations when you want to have the reverse of some property in Schema.org that doesn't yet directly exist within the vocabulary. Or that you want to apply a custom reverse property label to fit your domain or context more concretely.

Example 1:

{     "@context": {
        "funding": { "@reverse": "https://schema.org/fundedItem"}
      },
      "@id": "https://workflowhub.eu/workflows/15",
      "@type": ["Workflow", "SoftwareSourceCode"],
      "funding": {
          "@type": "Grant", 
          "identifier": "824087",
          "funder":  { 
    	     "@type": "FundingScheme",
	     "name": "Horizon 2020"
           }
      }
 
}

Example 2:

{     "@context": {
        "grantThatFunded": { "@reverse": "https://schema.org/fundedItem"}
      },
      "@id": "https://workflowhub.eu/workflows/15",
      "@type": ["Workflow", "SoftwareSourceCode"],
      "grantThatFunded": {
          "@type": "Grant", 
          "identifier": "824087",
          "funder":  { 
    	     "@type": "FundingScheme",
	     "name": "Horizon 2020"
           }
      }
 }
@smrgeoinfo
Copy link

@smrgeoinfo smrgeoinfo commented Jun 2, 2020

@thadguidry good interim solution. The Structured Data Testing Tool doesn't recognize the domain for the inverse property (error message: The property funding is not recognized by Google for an object of type SoftwareSourceCode.). Also looks like 'funder' is actually implemented as 'sponsor' on Grant

@thadguidry
Copy link
Contributor

@thadguidry thadguidry commented Jun 2, 2020

You can certainly control your own vocabulary and namespaces. Recognition and understanding of them by consumers can be had by publishing them. Ideally, also inserting them into LOV.

Regarding sponsor, please note the description on Grant (sponsor and funder being different kinds of things):

For financial sponsorship, indicate the funder of a MonetaryGrant.
For non-financial support, indicate sponsor of Grants of resources (e.g. office space).

I'm not suggesting to fragment from Schema.org or other vocabularies, but instead, to embrace them, and enhance them when they don't fit your exact needs (and give feedback to existing vocabularies as in this issue). Thankfully, because of RDF and JSON-LD, you can do that anytime you wish to further understanding of knowledge by publishing structured data using vocabularies via Linked Data.

A non-working example:

{     "@context": {
        "thad": "https://thadvoc.org/examplens#",
        "thad:grantThatFunded": { "@reverse": "https://schema.org/fundedItem"}
      },
      "@id": "https://workflowhub.eu/workflows/15",
      "@type": ["Workflow", "SoftwareSourceCode"],
      "thad:grantThatFunded": {
          "@type": "Grant", 
          "identifier": "824087",
          "funder":  { 
    	     "@type": "FundingScheme",
	     "name": "Horizon 2020"
           }
      }
 }
@dr-shorthair
Copy link

@dr-shorthair dr-shorthair commented Jun 2, 2020

Could it be that there is a missing intermediate resource: the Project.

Grant is associated with Project.
Creative-work is generated by Project.

I created an extension of PROV for projects, with Project subclassof Activity .
The FundingAssociation class is where you attach a funder and an amount of money.
See http://linked.data.gov.au/def/project

Would this pattern help?

@stain
Copy link

@stain stain commented Jun 3, 2020

@dr-shorthair I like that extension for PROV, quite straight forward, and with the important aspect of project duration as well. I don't think the Grant model in schema.org is far from that, remember a Project is modelled as a kind of Organization.

In WorkflowHub we have a separate question on how to relate a CreativeWork to a Project (which may not even be funded) for accreditation purposes ("project outputs"); so-far we are torn between https://schema.org/producer (seems to imply AV media) and https://schema.org/provider (seems to apply service provisioning), neither are a good fit really.

@smrgeoinfo
Copy link

@smrgeoinfo smrgeoinfo commented Jun 3, 2020

Perhaps Project as an activity is a different sense of the the term that project as an organization. An activity project is hostedBy 1..* organization. Maybe sdo:Project and proj:Project are not the same thing.

@smrgeoinfo
Copy link

@smrgeoinfo smrgeoinfo commented Jun 3, 2020

From the point of view of a CreativeWork, I think the common use case is desire to acknowledge the funding that supported creation of the work. The level of indirection thru project adds complexity (e.g. property chains ), especially in light of the fact that a Project (activity or organization view) might have multiple funding sources, and for various reasons, one might wish to acknowledge particular funding for a particular CreativeWork.

@thadguidry
Copy link
Contributor

@thadguidry thadguidry commented Jun 3, 2020

Even though in Schema.org currently we have Project "under" Organization <rdfs:subClassOf rdf:resource="http://schema.org/Organization"/>, the reality and bit of reason why it is there is because that Project "shares" many properties from Organization that are important at a top-level, compared to CreativeWork... so in Schema.org we express that by saying... Project has a parent Type of Organization (or subClassOf Organization), to make it easier. We didn't have to do it that way, but I can see how it makes things a bit easier for some, harder for others. And as @smrgeoinfo just stated, it depends on views of what a Project is...broader views or narrower views. As with everything in Schema.org, it is hard to get full consensus on these matters.

Project is in fact an "activity or effort" of an Organization(s). That's what is meant in the description saying "An enterprise..." , where I probably would rename that to:

"An activity or effort (potentially individual but typically collaborative), planned to achieve a particular aim..."

or even a better description tweak to make it clear for a broader global audience:

"An enterprise or activity (potentially individual but typically collaborative), planned to achieve a particular aim..."

@thadguidry
Copy link
Contributor

@thadguidry thadguidry commented Jun 3, 2020

@stain I'd suggest you start asking all those kinds of questions instead on our mailing list, instead of within issues... where I and others can really help you much more with all those kinds of questions. Thanks! ( and you don't even have to pay for consulting fees! )

@smrgeoinfo
Copy link

@smrgeoinfo smrgeoinfo commented Jun 3, 2020

Back to the issue at hand, what is the likelihood of getting funding added as a property in schema.org. Is there something I can do to expedite?

@dr-shorthair
Copy link

@dr-shorthair dr-shorthair commented Jun 5, 2020

@dr-shorthair I like that extension for PROV, quite straight forward, and with the important aspect of project duration as well.

Thanks @stain. Fixed duration is certainly considered a key characteristic of the concept 'project' in my work context. It is the difference between research and operations.

@dr-shorthair
Copy link

@dr-shorthair dr-shorthair commented Jun 5, 2020

Project is in fact an "activity or effort" of an Organization(s). That's what is meant in the description saying "An enterprise..."

@thadguidry in that case I suggest that schema:Project is in the wrong place in the types system. It would be better as a sub-class of schema:Action.

@acka47
Copy link
Contributor

@acka47 acka47 commented Jun 8, 2020

I suggest that schema:Project is in the wrong place in the types system. It would be better as a sub-class of schema:Action.

+1 As noted in #383 (comment), we have been using Action for typing projects for lack of a Project class.

@stain
Copy link

@stain stain commented Jun 29, 2020

stain added a commit to ResearchObject/ro-crate that referenced this issue Jun 29, 2020
..although it is consistent with the http://schema.org/Grant example 3,
see schemaorg/schemaorg#383

Using https:/bioschemas.org/Workflow#input etc
stain added a commit to stain/schemaorg that referenced this issue Jun 29, 2020
See schemaorg#383 (comment)

To avoid adding to Thing I made the domainIncludes more specific to
CreativeWork, Organization or Person.

Perhaps rangeIncludes in fundedItems should be updated accordingly.
stain added a commit to stain/schemaorg that referenced this issue Jun 29, 2020
See schemaorg#383 (comment)

To avoid adding to Thing I made the domainIncludes more specific to
CreativeWork, Organization or Person.

Perhaps rangeIncludes in fundedItems should be updated accordingly.
@stain
Copy link

@stain stain commented Jun 30, 2020

See also discussion on pull request #2618 on if funder should have the opposite domain/range of fundedItems - which with Thing becomes a bit awkward.

@stain
Copy link

@stain stain commented Jul 7, 2020

Why is https://schema.org/FundingAgency a subclass of Project, while https://schema.org/FundingScheme is subclass of Organization?

I would think it was the other way around, as a FundingAgency is an ongoing, often larger organization like NIH or Chan Zuckerberg Initiative (and the grant a miniscule thing within), while a https://schema.org/FundingScheme is a targeted and often time-limited endeavour that is very much managed like a project, where the Grant to some extent fit into the (project) goals of that scheme.

@smrgeoinfo
Copy link

@smrgeoinfo smrgeoinfo commented Jul 7, 2020

I think you meant
Why is https://schema.org/FundingAgency a subclass of Project, while https://schema.org/FundingScheme is subclass of Organization?

I agree, agency should be an organization, and FundingScheme would make more sense as a project.

stain added a commit to stain/schemaorg that referenced this issue Jul 14, 2020
See schemaorg#383 (comment)

To avoid adding to Thing I made the domainIncludes more specific to
CreativeWork, Organization or Person.

Perhaps rangeIncludes in fundedItems should be updated accordingly.
@judgewooden
Copy link

@judgewooden judgewooden commented Aug 4, 2020

We are going around in circles, a FundingAgency could also be the result of a raffle. It does not need to be an organization. FundingScheme should be where all the complexity is, because of the complexity of T&C, legal information, etc. The funding table itself must be very simple and easy for computer programmers to code to. So if somebody wants to know who the agency is behind FundingScheme, the meaning of agency will hardly ever be the same. If they want to know who contributed they can look at field-2 as proposed below. We are in this quagmire because we focus on one type of funding a lot (ie. Grant) and should stop doing that.

The new table called Funding must be simple.

  1. the recipient
  2. the contributor
  3. the amount
  4. the legal terms -> links to FundingScheme
  5. the intermediary (funding are often via 3rd party, NGO, Broker, platforms. etc)

I also propose three additional fields;

  1. source: (Where does the funding come from? Is it cash, a grand, tax-rebate, subsidy, venture capital, etc.)
  2. purpose: (Why was this funding done? Is if for research, a charity, an investment, emergency government relief, etc.)
  3. method: (How is the funding obtained? Is it a raffle, IPO, Nobel Prize, Gift, Platform, cookie sales, etc.)

Perhaps we could add some basic fields so that those who does not want to use FundingScheme because of its complexity could codify them here, things like start / end date, Parent organizations, etc. it should be a limited subset. I agree with others ITT that FundingScheme should not always be needed. Let's be honest with each other, by the time we get lawyers to insist we put contracts, T&C into schemas, FundingScheme should be the place for the discussion.

In an earlier post you can find how fields link to the rest of schema.org,

@github-actions
Copy link

@github-actions github-actions bot commented Oct 4, 2020

This issue is being tagged as Stale due to inactivity.

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

Successfully merging a pull request may close this issue.

None yet
You can’t perform that action at this time.