1. Introduction
Research assessment is an integral part of academic life and measures the quality of the research output and, by cumulative evaluations, contributes to the assessment of each researcher. There is a global activity to take a broad range of activities and contributions into account in researcher assessments. Examples are the [COARA] (Coalition for Advancing Research Assessment) initiative and OpenAIRE [Graspos] researcher profile. A recurring question in these initiatives is: "How to capture information beyond traditional research outputs?" Current Research Information Systems (CRIS) seldom capture activities such as interviews, news reports about a researcher or research project, teaching activities, and contributions to open-source development.
In 2024, SURF (the ICR cooperative of Dutch education and research institutions) and IMEC-IDLab (the Flemish Internet Technology and Data Science Lab) created an experimental, decentralized claim network that collects and distributes claims about researcher activities and contributions. The claims network is depicted in Figure 1 below.
Figure 1: Overview of the claims network
The processing flow in the claims network is listed below:
-
[1] Alice, a Dutch researcher, wants to claim a new contribution at URL-F for her scholarly record.
-
[2] Alice, as an account on a national academic social networking service which provides researchers a safe communication medium to support informal researcher interactions with a focus on science, popularization of science, and education. In the Figure 1, the national academic social service social.edu.nl is implemented using Mastodon. With a 'toot' message including the URL-F , Alice claims her contribution. In her toot message she sends a carbon-copy (cc) of this message to a claim bot at the Mastodon handle @logbot@bots.surf.nl .
-
[3] Using the Mastodon API, the claim bot receives push message for every toot address to the bot account @logbot@bots.surf.nl .
-
[4] The claim bot reads the claimed URL-F from the incoming toot message and uses one or more summarizer services in the network to collect descriptive metadata for this URL.
-
[5] The summarizer service, on request, generates a metadata summary for URL-F .
-
[6] When a summary is available, the summarizer service updates the claim bot about the metadata summary.
-
[7] The [=claim bot]= uses the summary to update a public activity log with Carol’s contributions. This activity log can be used by a national claims service (e.g. a CRIS system) to update the scholarly record for Alice.
2. Functional and non-functional requirements
A claims network should have the following functional requirements:
-
Distributed architecture : The network should operate across multiple social networking services, claim bots, summarizer and claims services to prevent a reliance on a central authority for each of these services.
-
Broad scope : The network should allow for the processing of a broad scope of Web resource about which researcher can make claims. The claims are not confined to traditional research outputs but can include various forms of content such as newspaper clips, media appearances, lectures recordings, and contributions to software development projects, among others.
-
Automated content summarization : The network should automate content summarization for researcher claims. Providing a URL of a claimed Web resource to a claim bot should be sufficient to update the claim service with metadata about that claim.
-
Automated updated of claims service pages : The network should provide automated updated claims service page that aligns with preferences of a researcher. Researchers can provide in their Mastodon profile the URL of a personal claims service page that should be updated by the network.
-
Verification of ownership : The network should provide the verification of ownership of Mastodon account and claims service pages by supporting backlink verification.
-
Verification of actors : The network should provide the verification of actors participating in the network. It should be possible to proof an actor is a researcher and part of some (national) research community.
-
Selection and filtering : The network should provide a selection and filtering mechanism for claims by actors that are part of a particular research community. Research is a global enterprise, a claim bot may only provide services for researchers belonging to a national research community, or withing a discipline from that community.
-
Version history : The network should provide a version history of all claims that are added to the claims service.
3. Terminology
The following terms are used in this specification:
- Academic social networking service
-
A social network platform such as Mastodon that is used in an academic setting that is used by researchers to publish claims about a contribution to the scholarly record of the researcher.
- Activity Log
-
A public machine-readable Web resource that contains descriptive metadata about claims created by a researcher combined with provenance information about the claim itself.
- Artifact
-
An artifact is a Web resource identified by a URL that serves at the main focus of interaction between the participants in the network. Examples of artifacts are traditional scholarly contributions but also interviews, news reports about a researcher or research project, teaching activities, and contributions to open-source development.
- Claim
-
An artifact that is a proof of a researcher activity that needs to become part of the scholarly record of a researcher.
- Claim bot
-
An automated process that works on behalf of the researcher to collect claims, descriptive metadata about such claims and updates the activity Log of a researcher.
- Claims network
-
A decentralized network of evolving claim assertions.
- Claims service
-
A service node that collects claims made by a researcher and provides an public accessible overview activities and contributions of a researcher.
- Data Node
-
A data node is a network node that hosts artifacts. Examples of data nodes are news agencies, institutional repositories, blogs, and governmental websites.
- Inbox
-
An inbox is a Web location conform with the Event Notifications in Value-Adding Networks specification. Inboxes are setup by data nodes and service nodes to receive LDN+AS2 JSON-LD messages that are exchanged in the claims network.
- Notification
-
A notification is are JSON-LD messages exchanged in the claim network using the Event Notifications in Value-Adding Networks specification.
- Service Node
-
A service node provides value-added services for artifacts hosted by data nodes. An example of a service node is a summarizer service that generates descriptive metadata for a given Web resource.
- Service Result
-
A service result is any outcome of providing a value-added service for an artifact. An example of a service result is a JSON document that contains the descriptive metadata generated by a summarizer service.
- Summarizer Service
-
A summarizer service is a service node that, given claim, generates descriptive metadata about the claim.
- Verification Service
-
A verification service is a node in the network that provides that verifies the identities of used by researchers in the claims network.
4. Network communication patterns
In a claims network automated agents, such as the claims bot, operate on behalf of a researcher to update an activity log and claims service with descriptive metadata about claims made by the researcher on a (national) academic social networking service. The network nodes operate by sending LDN+AS2 between each other that follow the Event Notifications in Value-Adding Networks specification.
Depending on the type of sender an receiver different types of messages that are specified below.
4.1. Academic social network service to claimbot
The Academic social network service to claimbot pattern is used by the academic social networking service to forward claims to a claims bot. Example 1 provides an example of such a claim made by the researcher Alice on a Mastodon instance hosted at https://social.edu.nl .
I just submitted by first question to the Dutch parliament! https://parlaiment.nl/questions/2025-21-121291 /cc @logbot@bots.surf.nl
We assume the claim bot has the Mastodon account @logbot@bots.surf.nl .
We assume that the claims network includes the capability to transform (toot) messages that are forwarded to the claims bot into a LDN+AS2 message. An example implementation could involve a process operating on behalf of the claim bot, which monitors the @logbot@bots.surf.nl account on bots.surf.nl using the Mastodon API and generates LDN+AS2 messages for each incoming toot directed at the claim bot. For such a LDN+AS2 message the following properties hold:
-
The activity identifier is a new minted identifier for every toot message.
-
The activity type is Announce .
-
The
actor
property should contain:-
As value of the id property the social networking profile URL of the researcher who created the original post.
-
As value of the name property, the name of the researcher.
-
As value of the type property, the fixed string Person .
-
-
The
origin
property should contain information about the LDN+AS2 generator software:-
As value of the id property, a public WebID profile URL.
-
As value of the name property, the name of the generator software.
-
As value of the type property, the fixed string Service .
-
-
The
object
property should contain information about the forwarded social networking post:-
As value of the id property, the URL of the social networking post.
-
As value of the content property, the post message.
-
The url property is a collection of zero or more URL-s that are mentioned in the post message. Each url item has the following properties:
-
As value of the href property, the URL that is mentioned in the post message.
-
As value of the type property, the fixed string Link .
-
-
As value of the type property, the fixed string Note .
-
-
The
published
property should contain in ISO 8601 format the datetime of the original post message.
In Example 2, we illustrate the structure of an LDN+AS2 message corresponding to the toot message presented in Example 1.
{ "@context" : "https://www.w3.org/ns/activitystreams" , "id" : "urn:uuid:6d21a2ae-df59-40d9-999c-18e19277d21a" , "type" : "Announce" , "published" : "2025-02-02T06:45:54.000Z" , "actor" : { "id" : "https://social.edu.nl/@alice" , "name" : "Alice" , "type" : "Person" }, "origin" : { "id" : "https://mycontributions.info/service/m/profile/card#me" , "name" : "Mastodon Bot" , "type" : "Service" }, "object" : { "id" : "https://social.edu.nl/@alice/112891078566219289" , "content" : "<p>I just submitted by first question to the Dutch parliament! https://parlaiment.nl/questions/2025-21-121291 /cc @logbot@bots.surf.nl" , "url" : [ { "type" : "Link" , "href" : "https://parlaiment.nl/questions/2025-21-121291" } ], "type" : "Note" } }