What knoweldge framework supports this type of query? I have knowledge that is organized as in the example below, where items or nodes can belong to multiple hierarchies and can have arbitrary numbers of children and parents:

sports
    golf
    baseball
    tennis
equipment
    golf
        clubs
            club1
    baseball
        bats
            bat1
    tennis
        racket
            racket1


I need to be able to run queries like "Show me all sports that use clubs or rackets, and their associated equipment."  The queries do not need to be posed in natural language, but the results must be displayed in a hierarchy:

sports
    golf
        club1
    tennis
        racket1


I'm going crazy trying to figure out what I need.  It doesn't seem to quite be a relational database, an ontology, or a taxonomy.  Or maybe I don't quite understand how to use one or more of those to do what I need.  What standard approach is most similar to what I'm trying to do?

As always with stackexchange questions, I'm utterly terrified of asking a question that doesn't fit the exact requirements of a particular forum.  I tried to make it as specific and answerable as possible.  I BEG YOU PLEASE, do not delete or lock this question without at least explaining why it is unacceptable or offering a suggestion for making it acceptable.  Thank you!
Well, to answer my own question, it turns out the issues I was struggling with are almost exactly the issues that motivated the development of and that are addressed by graph databases.  I would have been out of luck if this was 1999, but it turns out 2016 is a good time to be alive for databases that go beyond the traditional relational model!  I guess all this NoSQL stuff that the kids are always talking about is more than just hype.  :)