Microsoft Graph - Children Navigation Property Not Working for Reused Term Store Terms

Michael J. Carrabine 0 Reputation points
2023-07-14T16:07:46.5833333+00:00

I am running into several issues that are making it very difficult to use Microsoft Graph for terms that are reused:

If a term is reused, calling /children on its parent only returns it at its source location

  • graphClient.Sites[site.Id].TermStore.Groups[groupA.Id.].Sets[setA.Id)].Children returns Term A
  • graphClient.Sites[site.Id].TermStore.Groups[groupA.Id.].Sets[setB.Id)].Children returns nothing.
  • How can I user Microsoft Graph to discover that Term C even exists?

If a term is reused, calling /children on the reused term returns all of its children regardless of parent (This issue is described here also https://github.com/microsoftgraph/microsoft-graph-docs/issues/14905)

  • graphClient.Sites[site.Id].TermStore.Groups[groupA.Id.].Sets[setA.Id)].Terms[termA.Id].Children returns Term A AND Term B!
  • graphClient.Sites[site.Id].TermStore.Groups[groupB.Id.].Sets[setB.Id)].Terms[termA.Id].Children returns Term A AND Term B!
  • How can I retrieve only the desired children?

Example Term Store - This works as expected in the Term Store admin page

  • Group A
    • Set A
      • Term A (Source)
        • Term B
  • Group B
    • Set B
      • Term A (Reused)
        • Term C

Is Microsoft going to fix this in Microsoft Graph, or should I stop reusing terms?

Microsoft Graph
Microsoft Graph
A Microsoft programmability model that exposes REST APIs and client libraries to access data on Microsoft 365 services.
12,504 questions
SharePoint Development
SharePoint Development
SharePoint: A group of Microsoft Products and technologies used for sharing and managing content, knowledge, and applications.Development: The process of researching, productizing, and refining new or existing technologies.
3,119 questions
0 comments No comments
{count} votes

2 answers

Sort by: Most helpful
  1. RaytheonXie_MSFT 36,651 Reputation points Microsoft Vendor
    2023-07-18T05:38:15.6166667+00:00

    Hi @Michael J. Carrabine,Per my test and research, I can reproduce your issue. We have identified the bug about graph api. However I haven't recieved any update information about this incident. We will submit feedback internally and keep up with this issue. If there is any update, we will inform you as soon as possible. Thanks for your understand.

    Hi @Michael J. Carrabine,Per my test and research, I can reproduce your issue. We have identified the bug about graph api. However I haven't recieved any update information about this incident. We will submit feedback internally and keep up with this issue. If there is any update, we will inform you as soon as possible. Thanks for your understand.

    Hi @Michael J. Carrabine,Per my test and research, I can reproduce your issue. We have identified the bug about graph api. However I haven't recieved any update information about this incident. We will submit feedback internally and keep up with this issue. If there is any update, we will inform you as soon as possible. Thanks for your understand.


    If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".

    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.


  2. Alec Sanderson 0 Reputation points
    2024-11-29T18:43:06.89+00:00

    Has this been resolved (November 2024) because here's what I get using MSGraph API (latest version):

    Children of the set or term where the term is reused DOES NOT return the reused term.

    graphClient.Sites[siteID].TermStore.Sets[setID].Children.GetAsync();

    and

    graphClient.Sites[siteID].TermStore.Sets[setID].Terms[termID].Children.GetAsync();

    In the relationships - there is never any FromTerm or ToTerm objects:

    graphClient.Sites[siteID].TermStore.Sets[setID].Terms[termID].Relations.GetAsync();

    Is this still in development?

    Thanks

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.