从Microsoft学术API获取学习领域(学科)层次结构信息

时间:2017-06-12 15:44:44

标签: microsoft-cognitive evaluate academic-graph

是否有任何好方法/解决方法来获取规则和子字段层次结构信息?

例如,光学物理的子学科,它有宝石学,光学物理等子域。哪个实习生可能有另一个孩子学习领域? enter image description here enter image description here

1 个答案:

答案 0 :(得分:1)

首先,让自己使用these instructions来使用API​​。然后使用Evaluate function检索研究领域。如果您要下载整个字段图,请使用查询Ty='6',根据需要操纵评估的countoffset参数。如果您手头有特定的研究ID字段(例如来自论文),请使用查询Id=xxx(其中xxx是研究ID的字段)来获取有关它的详细信息。如果您有一组标识符,则可以使用Or(Id=xxx,Id=yyy,Id=zzz)等查询一起获取所有标识符。

在任何一种情况下,您都必须提供要由Evaluate返回的属性列表。要获取所有属性,请使用Id,FN,DFN,CC,ECC,FL,FP,FC。字段名称和内容列表为here in the documentation

直接解决您的问题,FPFC列出了父母和子女的学习领域。请注意,这两个字段都是列表。这是因为结构是有向图,而不是树。令人惊讶的是,图中有循环,所以不要在不检查重新访问的情况下递归遍历!

您无需编写任何代码即可使用Evaluate API here

示例:

使用curl,此查询返回第一个1000(evaluate)研究领域。结果将包含name,id,parent id,parent name,child id和child name。

curl -X POST \
  https://api.labs.cognitive.microsoft.com/academic/v1.0/evaluate \
  -H 'Cache-Control: no-cache' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -H 'Ocp-Apim-Subscription-Key: API_KEY' \
  -d 'expr=Ty%3D'\''6'\''&attributes=Id%2CFN%2CFC.FN%2CFP.FN%2CFC.FId%2CFP.FId&count=1000'