Ejemplo n.º 1
0
        public void TestPersonWithNoPublications()
        {
            Person sylvia = _people.PersonList.Find(p => p.Setnb == "A7809652");

            Assert.AreEqual("Wassertheil-Smoller, Sylvia (A7809652)", sylvia.ToString());
            using (IGraph g = new Graph())
            {
                Ontology.AssertOntologyTriples(g);
                _updater.AddPersonToGraph(g, sylvia);

                var sylviaTriples = ((SparqlResultSet)g.ExecuteQuery("SELECT * { ?s ?p ?o }")).Results
                                    .Select(r => new string[] { r["s"].ToString(), r["p"].ToString(), r["o"].ToString() });

                string first = sylviaTriples.Where(r => r[1] == "http://www.stellman-greene.com/person#first").First()[2];
                Assert.AreEqual("Sylvia", first);

                string last = sylviaTriples.Where(r => r[1] == "http://www.stellman-greene.com/person#last").First()[2];
                Assert.AreEqual("Wassertheil-Smoller", last);

                string setnb = sylviaTriples.Where(r => r[1] == "http://www.stellman-greene.com/person#setnb").First()[2];
                Assert.AreEqual("A7809652", setnb);

                var sylviaColleagues = sylviaTriples
                                       .Where(r => r[0] == "http://www.stellman-greene.com/person/A7809652" && r[1] == "http://www.stellman-greene.com/person#colleagueOf")
                                       .Select(r => r[2])
                                       .ToList <string>();

                Assert.AreEqual(1, sylviaColleagues.Count());
                CollectionAssert.Contains(sylviaColleagues, "http://www.stellman-greene.com/person/X0000003");
            }
        }
Ejemplo n.º 2
0
        public void TestOntologyTripleAssertion()
        {
            using (IGraph g = new Graph())
            {
                Ontology.AssertOntologyTriples(g);

                Assert.IsTrue(((SparqlResultSet)g.ExecuteQuery("SELECT * { ?s ?p ?o }")).Results.Count > 100);

                var personValues = ((SparqlResultSet)g.ExecuteQuery(
                                        "SELECT * { <http://www.stellman-greene.com/person#Person> ?p ?o } ORDER BY STR(?p)"
                                        )).Results
                                   .Select(r => new string[] { r["p"].ToString(), r["o"].ToString() });
                Assert.AreEqual(personValues.Count(), 3);
                Assert.IsTrue(personValues.ElementAt(0).SequenceEqual(new string[] { "http://www.w3.org/1999/02/22-rdf-syntax-ns#type", "http://www.w3.org/2002/07/owl#Class" }));
                Assert.IsTrue(personValues.ElementAt(1).SequenceEqual(new string[] { "http://www.w3.org/2000/01/rdf-schema#comment", "Class that represents a person" }));
                Assert.IsTrue(personValues.ElementAt(2).SequenceEqual(new string[] { "http://www.w3.org/2000/01/rdf-schema#label", "Person" }));

                var isStarValues = ((SparqlResultSet)g.ExecuteQuery(
                                        "SELECT * { <http://www.stellman-greene.com/person#isStar> ?p ?o } ORDER BY STR(?p)"
                                        )).Results
                                   .Select(r => new string[] { r["p"].ToString(), r["o"].ToString() });
                Assert.AreEqual(isStarValues.Count(), 5);
                Assert.IsTrue(isStarValues.ElementAt(0).SequenceEqual(new string[] { "http://www.w3.org/1999/02/22-rdf-syntax-ns#type", "http://www.w3.org/2002/07/owl#DatatypeProperty" }));
                Assert.IsTrue(isStarValues.ElementAt(1).SequenceEqual(new string[] { "http://www.w3.org/2000/01/rdf-schema#comment", "Property that indicates whether or not a person is a star" }));
                Assert.IsTrue(isStarValues.ElementAt(2).SequenceEqual(new string[] { "http://www.w3.org/2000/01/rdf-schema#domain", "http://www.stellman-greene.com/person#Person" }));
                Assert.IsTrue(isStarValues.ElementAt(3).SequenceEqual(new string[] { "http://www.w3.org/2000/01/rdf-schema#label", "Is Star" }));
                Assert.IsTrue(isStarValues.ElementAt(4).SequenceEqual(new string[] { "http://www.w3.org/2000/01/rdf-schema#range", "http://www.w3.org/2001/XMLSchema#boolean" }));
            }
        }
Ejemplo n.º 3
0
        public static void ClassSetup(TestContext testContext)
        {
            // This requires an ODBC data source named "Publication Harvester Unit Test" that can be cleared
            new Com.StellmanGreene.PubMed.Unit_Tests.TestPeopleMaintenance().ResetDatabase();
            _db = new Database("Publication Harvester Unit Test");
            SCGen.ColleagueFinder.CreateTables(_db);
            _db.ExecuteNonQuery(@"
INSERT INTO StarColleagues (StarSetnb, Setnb)
VALUES 
('A5501586', 'A5401532'),
('A5501586', 'X0000001'),
('A5501586', 'X0000002'),
('A7809652', 'X0000003');
");

            // Read the input file input1.xls
            People PeopleFromFile = new People(
                AppDomain.CurrentDomain.BaseDirectory + "\\Unit Tests\\TestPeople",
                "input1.xls");

            // Initialize the person to test
            _people = new People(_db);
            _keith  = _people.PersonList.Find(p => p.Setnb == "A5501586");
            Assert.AreEqual("Reemtsma, Keith (A5501586)", _keith.ToString());

            // Get the graph for Keith Reemtsma
            _updater = new PersonGraphUpdater(_db);
            using (IGraph g = new Graph())
            {
                Ontology.AssertOntologyTriples(g);

                _updater.AddPersonToGraph(g, _keith);
                _keithTriples = ((SparqlResultSet)g.ExecuteQuery("SELECT * { ?s ?p ?o }")).Results
                                .Select(r => new string[] { r["s"].ToString(), r["p"].ToString(), r["o"].ToString() })
                                .ToList <string[]>();
            }
        }