To do this, you can do a POST query with your pathway identifiers to the endpoint described here:
To know if a Pathway is a disease, look at the "isInDisease" property. The disease name is contained in the displayName of the diseases in the "disease" array of the Pathway models.
One query example would be
curl -X 'POST' \
'https://reactome.org/ContentService/data/query/ids' \
-H 'accept: */*' \
-H 'Content-Type: text/plain' \
-d 'R-HSA-9679506,R-HSA-8876384'> pathwaysDescription.json
To do this for multiple ids using cypher, you can use this query:
MATCH (p:Pathway)
WHERE p.stId in ["R-HSA-9679506","R-HSA-8876384"]
OPTIONAL MATCH (p)-[:disease]->(d:Disease)
RETURN p,d
Using the optional match allows you to get both pathways associated with a disease and those which are not.
If you want to filter for only disease pathways, use the following:
MATCH (p:Pathway)-[:disease]->(d:Disease)
WHERE p.stId in ["R-HSA-9679506","R-HSA-8876384"]
RETURN p,d
You just need to provide your list of stId (reactome identifiers) in the "where" list.
Finally, if you want to export a table instead of viewing it in the browser, use the following:
MATCH (p:Pathway)
WHERE p.stId in ["R-HSA-9679506","R-HSA-8876384"]
OPTIONAL MATCH (p)-[:disease]->(d:Disease)
WITH p, collect(d) as diseases
RETURN p.stId, p.displayName, p.isInDisease, [d in diseases | d.displayName] as diseaseNames, [d in diseases | d.databaseName + ":" + d.identifier] as diseaseIdentifiers
Note that some pathways, like R-HSA-9608290 are associated with several diseases.