private XPathValidator GenerateAndExecuteSparql(string odataQuery, SparqlMap sparqlMap, ODataVersion odataVersion = ODataVersion.V3) { var parsedQuery = QueryDescriptorQueryNode.ParseUri( new Uri(odataQuery), new Uri(_odataBase), _dbpediaModel); var sparqlGenerator = new SparqlGenerator(sparqlMap, "en"); sparqlGenerator.ProcessQuery(parsedQuery); var mockRequest = new Mock <IODataRequestMessage>(); mockRequest.Setup(m => m.Url).Returns(new Uri(odataQuery)); var mockMessage = new Mock <IODataResponseMessage>(); var outputStream = new MemoryStream(); mockMessage.Setup(m => m.GetStream()).Returns(outputStream); var feedGenerator = new ODataFeedGenerator( mockRequest.Object, mockMessage.Object, sparqlMap, _odataBase, new ODataMessageWriterSettings { Indent = true, Version = odataVersion }); Console.WriteLine(sparqlGenerator.SparqlQueryModel.GetSparqlRepresentation()); sparqlGenerator.SparqlQueryModel.Execute(_sparqlEndpoint, feedGenerator); outputStream.Seek(0, SeekOrigin.Begin); var validator = new XPathValidator(outputStream); validator.AddNamespace("atom", "http://www.w3.org/2005/Atom"); validator.AddNamespace("d", "http://schemas.microsoft.com/ado/2007/08/dataservices"); validator.AddNamespace("m", "http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"); return(validator); }
public void TestReadPropertyUriAnnotation() { var map = new SparqlMap("dbpedia.metadata", "http://dbpedia.org/ontology/", NameMapping.Unchanged, "http://dbpedia.org/property/name", NameMapping.LowerCamelCase); Assert.AreEqual("http://dbpedia.org/property/name", map.GetUriForProperty("DBPedia.Film", "Name")); }
public SparqlGeneratorTests() { using (var edmxStream = System.IO.File.OpenRead("dbpedia.metadata")) { IEnumerable <EdmError> errors; Microsoft.Data.Edm.Csdl.EdmxReader.TryParse(new XmlTextReader(edmxStream), out _dbpediaModel, out errors); } _dbpediaMap = new SparqlMap("dbpedia.metadata", "http://dbpedia.org/", NameMapping.Unchanged); }
public SparqlGeneratorTests() { using (var edmxStream = System.IO.File.OpenRead("dbpedia.metadata")) { IEnumerable<EdmError> errors; Microsoft.Data.Edm.Csdl.EdmxReader.TryParse(new XmlTextReader(edmxStream), out _dbpediaModel, out errors); } _dbpediaMap = new SparqlMap("dbpedia.metadata", "http://dbpedia.org/", NameMapping.Unchanged); }
public void TestMapDefaults() { var map = new SparqlMap("dbpedia.metadata", "http://dbpedia.org/ontology/", NameMapping.UpperCamelCase, "http://dbpedia.org/property/", NameMapping.LowerCamelCase); Assert.AreEqual("http://www.w3.org/2002/07/owl#Thing", map.GetUriForType("DBPedia.Thing")); Assert.AreEqual("http://dbpedia.org/ontology/Work", map.GetUriForType("DBPedia.Work")); Assert.AreEqual("http://dbpedia.org/ontology/Film", map.GetUriForType("DBPedia.Film")); Assert.AreEqual("http://dbpedia.org/ontology/Place", map.GetUriForType("DBPedia.Place")); Assert.AreEqual("http://dbpedia.org/property/elevation", map.GetUriForProperty("DBPedia.Place", "Elevation")); Assert.AreEqual("http://dbpedia.org/property/annualTemperature", map.GetUriForProperty("DBPedia.Place", "AnnualTemperature")); }
public ODataGeneratorTests() { using (var edmxStream = File.OpenRead("dbpedia.metadata")) { IEnumerable<EdmError> errors; Microsoft.Data.Edm.Csdl.EdmxReader.TryParse(new XmlTextReader(edmxStream), out _dbpediaModel, out errors); } _dbpediaMap = new SparqlMap("dbpedia.metadata", "http://dbpedia.org/ontology/", NameMapping.UpperCamelCase, "http://dbpedia.org/property/", NameMapping.LowerCamelCase); }
public ODataGeneratorTests() { using (var edmxStream = File.OpenRead("dbpedia.metadata")) { IEnumerable <EdmError> errors; Microsoft.Data.Edm.Csdl.EdmxReader.TryParse(new XmlTextReader(edmxStream), out _dbpediaModel, out errors); } _dbpediaMap = new SparqlMap("dbpedia.metadata", "http://dbpedia.org/ontology/", NameMapping.UpperCamelCase, "http://dbpedia.org/property/", NameMapping.LowerCamelCase); }
public void TestReadNavigationPropertyAnnotation() { var map = new SparqlMap("dbpedia.metadata", "http://dbpedia.org/ontology/", NameMapping.Unchanged, "http://dbpedia.org/property/", NameMapping.LowerCamelCase); string propertyUri; bool isInverse; Assert.IsTrue(map.TryGetUriForNavigationProperty("DBPedia.Work", "Director", out propertyUri, out isInverse)); Assert.IsFalse(isInverse); Assert.AreEqual("http://dbpedia.org/property/director", propertyUri); Assert.IsTrue(map.TryGetUriForNavigationProperty("DBPedia.Film", "Director", out propertyUri, out isInverse)); Assert.IsFalse(isInverse); Assert.AreEqual("http://dbpedia.org/property/director", propertyUri); }
public EndToEndTests() { using (var edmxStream = File.OpenRead("dbpedia.metadata")) { IEnumerable<EdmError> errors; Microsoft.Data.Edm.Csdl.EdmxReader.TryParse(new XmlTextReader(edmxStream), out _dbpediaModel, out errors); } _dbpediaMap = new SparqlMap("dbpedia.metadata", "http://dbpedia.org/ontology/", NameMapping.Unchanged, "http://dbpedia.org/property/", NameMapping.LowerCamelCase); _sparqlEndpoint = new SparqlRemoteEndpoint(new Uri("http://dbpedia.org/sparql"), "http://dbpedia.org") { Timeout = 60000, RdfAcceptHeader = "application/rdf+xml" }; _odataBase = "http://example.org/odata/"; }
public EndToEndTests() { using (var edmxStream = File.OpenRead("dbpedia.metadata")) { IEnumerable <EdmError> errors; Microsoft.Data.Edm.Csdl.EdmxReader.TryParse(new XmlTextReader(edmxStream), out _dbpediaModel, out errors); } _dbpediaMap = new SparqlMap("dbpedia.metadata", "http://dbpedia.org/ontology/", NameMapping.Unchanged, "http://dbpedia.org/property/", NameMapping.LowerCamelCase); _sparqlEndpoint = new SparqlRemoteEndpoint(new Uri("http://dbpedia.org/sparql"), "http://dbpedia.org") { Timeout = 60000, RdfAcceptHeader = "application/rdf+xml" }; _odataBase = "http://example.org/odata/"; }
public void TestIdPropertyMapping() { var map = new SparqlMap("dbpedia.metadata", "http://dbpedia.org/ontology/", NameMapping.UpperCamelCase, "http://dbpedia.org/property/", NameMapping.LowerCase); Assert.IsNull(map.GetUriForProperty("DBPedia.Thing", "Id")); Assert.IsNull(map.GetUriForProperty("DBPedia.Film", "Id")); Assert.IsFalse(map.GetStructuralPropertyMappings("DBPedia.Thing").Any(m => m.Name.Equals("Id"))); Assert.IsFalse(map.GetStructuralPropertyMappings("DBPedia.Film").Any(m => m.Name.Equals("Id"))); var idMapping = map.GetIdentifierPropertyMapping("DBPedia.Thing"); Assert.IsNotNull(idMapping); Assert.AreEqual("http://dbpedia.org/resource/", idMapping.IdentifierPrefix); Assert.AreEqual("Id", idMapping.Name); idMapping = map.GetIdentifierPropertyMapping("DBPedia.Film"); Assert.IsNotNull(idMapping); Assert.AreEqual("http://dbpedia.org/resource/", idMapping.IdentifierPrefix); Assert.AreEqual("Id", idMapping.Name); }
private XPathValidator GenerateAndExecuteSparql(string odataQuery, SparqlMap sparqlMap, ODataVersion odataVersion=ODataVersion.V3) { var parsedQuery = QueryDescriptorQueryNode.ParseUri( new Uri(odataQuery), new Uri(_odataBase), _dbpediaModel); var sparqlGenerator = new SparqlGenerator(sparqlMap, "en"); sparqlGenerator.ProcessQuery(parsedQuery); var mockRequest = new Mock<IODataRequestMessage>(); mockRequest.Setup(m => m.Url).Returns(new Uri(odataQuery)); var mockMessage = new Mock<IODataResponseMessage>(); var outputStream = new MemoryStream(); mockMessage.Setup(m => m.GetStream()).Returns(outputStream); var feedGenerator = new ODataFeedGenerator( mockRequest.Object, mockMessage.Object, sparqlMap, _odataBase, new ODataMessageWriterSettings{Indent = true, Version = odataVersion}); Console.WriteLine(sparqlGenerator.SparqlQueryModel.GetSparqlRepresentation()); sparqlGenerator.SparqlQueryModel.Execute(_sparqlEndpoint, feedGenerator); outputStream.Seek(0, SeekOrigin.Begin); var validator = new XPathValidator(outputStream); validator.AddNamespace("atom", "http://www.w3.org/2005/Atom"); validator.AddNamespace("d", "http://schemas.microsoft.com/ado/2007/08/dataservices"); validator.AddNamespace("m", "http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"); return validator; }
public void TestIdPropertyMapping() { var map = new SparqlMap("dbpedia.metadata", "http://dbpedia.org/ontology/", NameMapping.UpperCamelCase, "http://dbpedia.org/property/", NameMapping.LowerCase); Assert.IsNull(map.GetUriForProperty("DBPedia.Thing", "Id")); Assert.IsNull(map.GetUriForProperty("DBPedia.Film", "Id")); Assert.IsFalse(map.GetStructuralPropertyMappings("DBPedia.Thing").Any(m => m.Name.Equals("Id"))); Assert.IsFalse(map.GetStructuralPropertyMappings("DBPedia.Film").Any(m=>m.Name.Equals("Id"))); var idMapping = map.GetIdentifierPropertyMapping("DBPedia.Thing"); Assert.IsNotNull(idMapping); Assert.AreEqual("http://dbpedia.org/resource/", idMapping.IdentifierPrefix); Assert.AreEqual("Id", idMapping.Name); idMapping = map.GetIdentifierPropertyMapping("DBPedia.Film"); Assert.IsNotNull(idMapping); Assert.AreEqual("http://dbpedia.org/resource/", idMapping.IdentifierPrefix); Assert.AreEqual("Id", idMapping.Name); }
public void TestReadTypeUriAnnotation() { var map = new SparqlMap("dbpedia.metadata", "http://dbpedia.org/", NameMapping.Unchanged); Assert.AreEqual("http://dbpedia.org/ontology/Film", map.GetUriForType("DBPedia.Film")); }