/// <summary> /// Gets information about a person given the URI /// </summary> /// <param name="uri">The Unique URI for a person</param> /// <returns>a person object with data added</returns> public Person GetPersonByURI(String uri) { Person person = new Person(); //Endast för test Gunnar Asplund person.URI = "http://kulturarvsdata.se/raa/bbrp/21600000003542"; SparqlRemoteEndpoint endpoint = new SparqlRemoteEndpoint(new Uri(URI)); SparqlResultSet results = endpoint.QueryWithResultSet( "prefix ksamsok: <http://kulturarvsdata.se/ksamsok#>" + "prefix wiki: <http://kulturarvsdata.se/ugc#>" + "PREFIX foaf: <http://xmlns.com/foaf/0.1/>" + "select ?name ?wikiLink ?image ?born ?death" + "where{" + "<" + uri + "> foaf:fullName ?name." + "optional{<" + uri + "> wiki:sameAsWikipedia ?wikiLink}" + "optional{<" + uri + "> ksamsok:isVisualizedBy ?image}" + "}"); person.URI = uri; foreach (SparqlResult result in results) { if (result.Value("name") != null) { person.Name = result.Value("name").ToString(); } if (result.Value("wikiLink") != null) { person.WikipediaLink = result.Value("wikiLink").ToString(); } if (result.Value("image") != null) { person.SetImageUrl(result.Value("image").ToString()); } person = GetBirthAndDeathYear(person); } person.AddListOfExternalEntitie(GetListOfHouses(person.URI)); return person; }