/// <summary>
 /// Checks if the given "aFact -> transOntProp" assertion links to the given bFact within the given data
 /// </summary>
 public static Boolean IsTransitiveAssertionOf(RDFOntologyFact aFact,
                                               RDFOntologyObjectProperty transOntProp,
                                               RDFOntologyFact bFact,
                                               RDFOntologyData data)
 {
     return(aFact != null && transOntProp != null && transOntProp.IsTransitiveProperty() && bFact != null && data != null ? EnlistTransitiveAssertionsOf(aFact, transOntProp, data).Facts.ContainsKey(bFact.PatternMemberID) : false);
 }
        /// <summary>
        /// Enlists the given "aFact -> transOntProp" assertions within the given data
        /// </summary>
        public static RDFOntologyData EnlistTransitiveAssertionsOf(RDFOntologyFact ontFact,
                                                                   RDFOntologyObjectProperty transOntProp,
                                                                   RDFOntologyData data)
        {
            var result = new RDFOntologyData();

            if (ontFact != null && transOntProp != null && transOntProp.IsTransitiveProperty() && data != null)
            {
                result = RDFSemanticsUtilities.EnlistTransitiveAssertionsOf_Core(ontFact, transOntProp, data, null);
            }
            return(result);
        }