This repository has been archived by the owner. It is now read-only.

Role for provenance #32

Closed
sballesteros opened this Issue Nov 3, 2015 · 2 comments

Comments

Projects
None yet
2 participants
@sballesteros
Member

sballesteros commented Nov 3, 2015

The problem:
If a person is affiliated with N institutions he might have contributed to a scholarly article only within a subset of the institutions he is affiliated to. Example: Peter was an Princeton and Harvard form 2001 to 2002 but only work on this paper with his Princeton affiliation. At the time he wrote the paper he had 2 valid affiliations but only 1 was relevant.

As there are no clear mechanisms to specify a default graph in RDFa we are left making general statements about the affiliation of the person, missing the opportunity to restrict the affiliation set to the affiliations relevant for the scholarly article.

OrganizationRole helps a bit as it allows to specify the timespan of the affiliation. Given that we also know the date when the article was created and published it helps restricting the set of relevant affiliation but the issue of excluding some affiliation relevant to that time span remains (see Princeton and Harvard example above).

Ideally we find a schema.org solution not involving creating new subclasses or new properties.

See also: #35

@darobin

This comment has been minimized.

Show comment
Hide comment
@darobin

darobin Nov 4, 2015

Member

So, this is crazy thinking but...

Could this more usefully be modelled using WriteAction (or ideally a non-existing PublishAction)? With the agent being the authors and the participant ("Other co-agents that participated in the action indirectly") being the affiliation.

Long shot, just a thought.

Member

darobin commented Nov 4, 2015

So, this is crazy thinking but...

Could this more usefully be modelled using WriteAction (or ideally a non-existing PublishAction)? With the agent being the authors and the participant ("Other co-agents that participated in the action indirectly") being the affiliation.

Long shot, just a thought.

@sballesteros

This comment has been minimized.

Show comment
Hide comment
@sballesteros

sballesteros Nov 4, 2015

Member

I think that what we have should be fine because we have a named graph (http://ex.com/scholarlygraph).

JSON-LD:

{
  "@context": {
    "@vocab": "http://schema.org/"
  },
  "@id": "http://ex.com/scholarlygraph",
  "@graph": [
    {
      "@id": "http://ex.com/article",
      "@type": "ScholarlyArticle",
      "contributor": {
        "@id": "http://ex.com/peter",
        "@type": "Person",
        "affiliation": {
          "@type": "OrganizationRole",
          "affiliation": {
            "@id": "http://ex.com/corporation",
            "@type": "Corporation"
          },
          "startDate":"2015-01-01"
        }
      }
    }
  ]
}

N-Quads:

<http://ex.com/article> <http://schema.org/contributor> <http://ex.com/peter> <http://ex.com/scholarlygraph> .
<http://ex.com/article> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://schema.org/ScholarlyArticle> <http://ex.com/scholarlygraph> .
<http://ex.com/corporation> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://schema.org/Corporation> <http://ex.com/scholarlygraph> .
<http://ex.com/peter> <http://schema.org/affiliation> _:b0 <http://ex.com/scholarlygraph> .
<http://ex.com/peter> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://schema.org/Person> <http://ex.com/scholarlygraph> .
_:b0 <http://schema.org/affiliation> <http://ex.com/corporation> <http://ex.com/scholarlygraph> .
_:b0 <http://schema.org/startDate> "2015-01-01" <http://ex.com/scholarlygraph> .
_:b0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://schema.org/OrganizationRole> <http://ex.com/scholarlygraph> .

If this is not enough, maybe, we could leverage the fact that the range of contributor can be an Organization or a Person and go with:


{
  "@context": {
    "@vocab": "http://schema.org/"
  },
  "@id": "http://ex.com/scholarlygraph",
  "@graph": [
    {
      "@id": "http://ex.com/article",
      "@type": "ScholarlyArticle",
      "contributor": [
        {
          "@id": "http://ex.com/peter",
          "@type": "Person",
          "affiliation": {
            "@type": "OrganizationRole",
            "affiliation": {
              "@id": "http://ex.com/corporation",
              "@type": "Corporation"
            },
            "startDate":"2015-01-01"
          }
        },
        {
          "@id": "http://ex.com/corporation",
          "@type": "Corporation",
          "member": {
            "@type": "OrganizationRole",
            "member": {
              "@id": "http://ex.com/peter",
              "@type": "Person"
            },
            "startDate":"2015-01-01"
          }
        }
      ]
    }
  ]
}

N-Quads:

<http://ex.com/article> <http://schema.org/contributor> <http://ex.com/corporation> <http://ex.com/scholarlygraph> .
<http://ex.com/article> <http://schema.org/contributor> <http://ex.com/peter> <http://ex.com/scholarlygraph> .
<http://ex.com/article> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://schema.org/ScholarlyArticle> <http://ex.com/scholarlygraph> .
<http://ex.com/corporation> <http://schema.org/member> _:b1 <http://ex.com/scholarlygraph> .
<http://ex.com/corporation> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://schema.org/Corporation> <http://ex.com/scholarlygraph> .
<http://ex.com/peter> <http://schema.org/affiliation> _:b0 <http://ex.com/scholarlygraph> .
<http://ex.com/peter> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://schema.org/Person> <http://ex.com/scholarlygraph> .
_:b0 <http://schema.org/affiliation> <http://ex.com/corporation> <http://ex.com/scholarlygraph> .
_:b0 <http://schema.org/startDate> "2015-01-01" <http://ex.com/scholarlygraph> .
_:b0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://schema.org/OrganizationRole> <http://ex.com/scholarlygraph> .
_:b1 <http://schema.org/member> <http://ex.com/peter> <http://ex.com/scholarlygraph> .
_:b1 <http://schema.org/startDate> "2015-01-01" <http://ex.com/scholarlygraph> .
_:b1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://schema.org/OrganizationRole> <http://ex.com/scholarlygraph> .

Here we are saying that http://ex.com/peter and http://ex.com/corporation both contributed to the work and also we specify that, at that point in time, http://ex.com/peter was a member of http://ex.com/corporation.

Member

sballesteros commented Nov 4, 2015

I think that what we have should be fine because we have a named graph (http://ex.com/scholarlygraph).

JSON-LD:

{
  "@context": {
    "@vocab": "http://schema.org/"
  },
  "@id": "http://ex.com/scholarlygraph",
  "@graph": [
    {
      "@id": "http://ex.com/article",
      "@type": "ScholarlyArticle",
      "contributor": {
        "@id": "http://ex.com/peter",
        "@type": "Person",
        "affiliation": {
          "@type": "OrganizationRole",
          "affiliation": {
            "@id": "http://ex.com/corporation",
            "@type": "Corporation"
          },
          "startDate":"2015-01-01"
        }
      }
    }
  ]
}

N-Quads:

<http://ex.com/article> <http://schema.org/contributor> <http://ex.com/peter> <http://ex.com/scholarlygraph> .
<http://ex.com/article> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://schema.org/ScholarlyArticle> <http://ex.com/scholarlygraph> .
<http://ex.com/corporation> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://schema.org/Corporation> <http://ex.com/scholarlygraph> .
<http://ex.com/peter> <http://schema.org/affiliation> _:b0 <http://ex.com/scholarlygraph> .
<http://ex.com/peter> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://schema.org/Person> <http://ex.com/scholarlygraph> .
_:b0 <http://schema.org/affiliation> <http://ex.com/corporation> <http://ex.com/scholarlygraph> .
_:b0 <http://schema.org/startDate> "2015-01-01" <http://ex.com/scholarlygraph> .
_:b0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://schema.org/OrganizationRole> <http://ex.com/scholarlygraph> .

If this is not enough, maybe, we could leverage the fact that the range of contributor can be an Organization or a Person and go with:


{
  "@context": {
    "@vocab": "http://schema.org/"
  },
  "@id": "http://ex.com/scholarlygraph",
  "@graph": [
    {
      "@id": "http://ex.com/article",
      "@type": "ScholarlyArticle",
      "contributor": [
        {
          "@id": "http://ex.com/peter",
          "@type": "Person",
          "affiliation": {
            "@type": "OrganizationRole",
            "affiliation": {
              "@id": "http://ex.com/corporation",
              "@type": "Corporation"
            },
            "startDate":"2015-01-01"
          }
        },
        {
          "@id": "http://ex.com/corporation",
          "@type": "Corporation",
          "member": {
            "@type": "OrganizationRole",
            "member": {
              "@id": "http://ex.com/peter",
              "@type": "Person"
            },
            "startDate":"2015-01-01"
          }
        }
      ]
    }
  ]
}

N-Quads:

<http://ex.com/article> <http://schema.org/contributor> <http://ex.com/corporation> <http://ex.com/scholarlygraph> .
<http://ex.com/article> <http://schema.org/contributor> <http://ex.com/peter> <http://ex.com/scholarlygraph> .
<http://ex.com/article> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://schema.org/ScholarlyArticle> <http://ex.com/scholarlygraph> .
<http://ex.com/corporation> <http://schema.org/member> _:b1 <http://ex.com/scholarlygraph> .
<http://ex.com/corporation> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://schema.org/Corporation> <http://ex.com/scholarlygraph> .
<http://ex.com/peter> <http://schema.org/affiliation> _:b0 <http://ex.com/scholarlygraph> .
<http://ex.com/peter> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://schema.org/Person> <http://ex.com/scholarlygraph> .
_:b0 <http://schema.org/affiliation> <http://ex.com/corporation> <http://ex.com/scholarlygraph> .
_:b0 <http://schema.org/startDate> "2015-01-01" <http://ex.com/scholarlygraph> .
_:b0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://schema.org/OrganizationRole> <http://ex.com/scholarlygraph> .
_:b1 <http://schema.org/member> <http://ex.com/peter> <http://ex.com/scholarlygraph> .
_:b1 <http://schema.org/startDate> "2015-01-01" <http://ex.com/scholarlygraph> .
_:b1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://schema.org/OrganizationRole> <http://ex.com/scholarlygraph> .

Here we are saying that http://ex.com/peter and http://ex.com/corporation both contributed to the work and also we specify that, at that point in time, http://ex.com/peter was a member of http://ex.com/corporation.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.