public void Load() { //RDFGraph graph = RDFGraph.FromFile(RDFModelEnums.RDFFormats.Turtle, @"C:\Users\philippel\Documents\ONU\unescothes.ttl"); RDFGraph graph = RDFGraph.FromFile(RDFModelEnums.RDFFormats.RdfXml, @"C:\Users\philippel\Documents\ONU\unescothes.rdf"); long triplesCount = graph.TriplesCount; }
private RDFGraph DeserializateGraph(RDFModelEnums.RDFFormats format) { try { switch (format) { case RDFModelEnums.RDFFormats.NTriples: return(RDFGraph.FromFile(RDFModelEnums.RDFFormats.NTriples, "graphs/NTriples.txt")); case RDFModelEnums.RDFFormats.RdfXml: return(RDFGraph.FromFile(RDFModelEnums.RDFFormats.RdfXml, "graphs/RdfXml.txt")); case RDFModelEnums.RDFFormats.TriX: return(RDFGraph.FromFile(RDFModelEnums.RDFFormats.TriX, "graphs/TriX.txt")); case RDFModelEnums.RDFFormats.Turtle: return(RDFGraph.FromFile(RDFModelEnums.RDFFormats.Turtle, "graphs/Turtle.txt")); default: return(null); } } catch (RDFModelException ex) { Console.WriteLine(ex.Message); return(null); } }
public void RDFGraphFromFileTest() { // The example data is in file "Test1.ttl" string filePath = GetPath(@"Files\Test1.ttl"); RDFGraph graph = RDFGraph.FromFile(RDFModelEnums.RDFFormats.Turtle, filePath); Assert.Equal(11, graph.TriplesCount); }
public void Load() { //RDFOntology ont = RDFSKOSOntology.Instance; //ont.Data.From //var graph = ont.Data.ToRDFGraph(RDFSemanticsEnums.RDFOntologyInferenceExportBehavior.ModelAndData); //RDFGraph graph = RDFGraph.FromFile(RDFModelEnums.RDFFormats.Turtle, @"C:\Users\philippel\Documents\ONU\unescothes.ttl"); RDFGraph graph = RDFGraph.FromFile(RDFModelEnums.RDFFormats.RdfXml, @"C:\Users\philippel\Documents\ONU\unescothes.rdf"); long triplesCount = graph.TriplesCount; }
public void Test1() { string filePath = GetPath(@"Files\Test1.ttl"); RDFGraph graph = RDFGraph.FromFile(RDFModelEnums.RDFFormats.Turtle, filePath); RDFSelectQuery selectQuery = new RDFSelectQuery(); // PREFIX foaf: <http://xmlns.com/foaf/0.1/> selectQuery.AddPrefix(RDFNamespaceRegister.GetByPrefix("foaf")); // ?NAME var name = new RDFVariable("name"); // ?FRIEND var friend = new RDFVariable("friend"); // ?PERSON var person = new RDFVariable("person"); // ?PERSON foaf:name ?NAME . var person_foaf_name_name = new RDFPattern(person, RDFVocabulary.FOAF.NAME, name); // ?PERSON foaf:knows ?FRIEND . var person_foaf_knows_friend = new RDFPattern(person, RDFVocabulary.FOAF.KNOWS, friend); // WHERE { // { // ?PERSON foaf:name? NAME . // ?PERSON foaf:knows? FRIEND . // } // } var pg1 = new RDFPatternGroup("PG1"); pg1.AddPattern(person_foaf_name_name); pg1.AddPattern(person_foaf_knows_friend); selectQuery.AddPatternGroup(pg1); // SELECT ?PERSON ?NAME ?FRIEND selectQuery.AddProjectionVariable(person); selectQuery.AddProjectionVariable(name); selectQuery.AddProjectionVariable(friend); var sparqlCommand = selectQuery.ToString(); #region Generated SPARQL command /* * Generates this sparql command * * PREFIX foaf: <http://xmlns.com/foaf/0.1/> * * SELECT ?PERSON ?NAME ?FRIEND * WHERE { * { * ?PERSON foaf:name ?NAME . * ?PERSON foaf:knows ?FRIEND . * } * } * */ #endregion // APPLY SELECT QUERY TO GRAPH RDFSelectQueryResult selectQueryResult = selectQuery.ApplyToGraph(graph); // EXPORT SELECT QUERY RESULTS TO SPARQL XML FORMAT (FILE) //selectQueryResult.ToSparqlXmlResult(@"C:\TEMP\Test1.srq"); #region Generated result file /* * <?xml version="1.0" encoding="utf-8"?> * <sparql xmlns="http://www.w3.org/2005/sparql-results#"> * <head> * <variable name="?PERSON" /> * <variable name="?NAME" /> * <variable name="?FRIEND" /> * </head> * <results> * <result> * <binding name="?PERSON"> * <uri>http://example.org/alice#me</uri> * </binding> * <binding name="?NAME"> * <literal>Alice</literal> * </binding> * <binding name="?FRIEND"> * <uri>http://example.org/bob#me</uri> * </binding> * </result> * <result> * <binding name="?PERSON"> * <uri>http://example.org/alice#me</uri> * </binding> * <binding name="?NAME"> * <literal>Alice</literal> * </binding> * <binding name="?FRIEND"> * <uri>http://example.org/charlie#me</uri> * </binding> * </result> * <result> * <binding name="?PERSON"> * <uri>http://example.org/alice#me</uri> * </binding> * <binding name="?NAME"> * <literal>Alice</literal> * </binding> * <binding name="?FRIEND"> * <uri>http://example.org/snoopy</uri> * </binding> * </result> * <result> * <binding name="?PERSON"> * <uri>http://example.org/bob#me</uri> * </binding> * <binding name="?NAME"> * <literal>Bob</literal> * </binding> * <binding name="?FRIEND"> * <uri>http://example.org/alice#me</uri> * </binding> * </result> * <result> * <binding name="?PERSON"> * <uri>http://example.org/charlie#me</uri> * </binding> * <binding name="?NAME"> * <literal>Charlie</literal> * </binding> * <binding name="?FRIEND"> * <uri>http://example.org/alice#me</uri> * </binding> * </result> * </results> * </sparql> */ #endregion Assert.Equal(5, selectQueryResult.SelectResultsCount); }
public void Test2() { string filePath = GetPath(@"Files\Test1.ttl"); RDFGraph graph = RDFGraph.FromFile(RDFModelEnums.RDFFormats.Turtle, filePath); RDFSelectQuery selectQuery = new RDFSelectQuery(); selectQuery.AddPrefix(RDFNamespaceRegister.GetByPrefix("foaf")); var name = new RDFVariable("name"); var friend = new RDFVariable("friend"); var count = new RDFVariable("count"); var person = new RDFVariable("person"); // ?person foaf:name ?name . var person_foaf_name_name = new RDFPattern(person, RDFVocabulary.FOAF.NAME, name); // ?person foaf:knows ?friend . var person_foaf_knows_friend = new RDFPattern(person, RDFVocabulary.FOAF.KNOWS, friend); var pg1 = new RDFPatternGroup("PG1"); pg1.AddPattern(person_foaf_name_name); pg1.AddPattern(person_foaf_knows_friend); selectQuery.AddPatternGroup(pg1); selectQuery.AddProjectionVariable(name); //selectQuery.AddProjectionVariable(count); // GROUP BY ?PERSON ?NAME // var gm = new RDFGroupByModifier(new List<RDFVariable>() { person, name }); // GROUP BY ?NAME var gm = new RDFGroupByModifier(new List <RDFVariable>() { name }); // (COUNT(?friend) AS ?count) gm.AddAggregator(new RDFCountAggregator(friend, count)); selectQuery.AddModifier(gm); var sparqlCommand = selectQuery.ToString(); #region Target query in the SPARQL 1.1 documentation /* * Target query in the document * * PREFIX foaf: <http://xmlns.com/foaf/0.1/> * SELECT ?name (COUNT(?friend) AS ?count) * WHERE { * ?person foaf:name ?name . * ?person foaf:knows ?friend . * } GROUP BY ?person ?name */ #endregion #region Managed to build this command /* * PREFIX foaf: <http://xmlns.com/foaf/0.1/> * * SELECT ?NAME (COUNT(?FRIEND) AS ?COUNT) * WHERE { * { * ?PERSON foaf:name ?NAME . * ?PERSON foaf:knows ?FRIEND . * } * } * GROUP BY ?NAME */ #endregion #region Managed to build this command /* * Managed to build this command * * PREFIX foaf: <http://xmlns.com/foaf/0.1/> * * SELECT ?PERSON ?NAME (COUNT(?FRIEND) AS ?COUNT) * WHERE { * { * ?PERSON foaf:name ?NAME . * ?PERSON foaf:knows ?FRIEND . * } * } * GROUP BY ?PERSON ?NAME */ #endregion // APPLY SELECT QUERY TO GRAPH RDFSelectQueryResult selectQueryResult = selectQuery.ApplyToGraph(graph); // EXPORT SELECT QUERY RESULTS TO SPARQL XML FORMAT (FILE) //selectQueryResult.ToSparqlXmlResult(@"C:\TEMP\Test2.srq"); #region Got result /* * Got result * * <?xml version="1.0" encoding="utf-8"?> * <sparql xmlns="http://www.w3.org/2005/sparql-results#"> * <head> * <variable name="?NAME" /> * <variable name="?COUNT" /> * </head> * <results> * <result> * <binding name="?NAME"> * <literal>Alice</literal> * </binding> * <binding name="?COUNT"> * <literal datatype="http://www.w3.org/2001/XMLSchema#decimal">3</literal> * </binding> * </result> * <result> * <binding name="?NAME"> * <literal>Bob</literal> * </binding> * <binding name="?COUNT"> * <literal datatype="http://www.w3.org/2001/XMLSchema#decimal">1</literal> * </binding> * </result> * <result> * <binding name="?NAME"> * <literal>Charlie</literal> * </binding> * <binding name="?COUNT"> * <literal datatype="http://www.w3.org/2001/XMLSchema#decimal">1</literal> * </binding> * </result> * </results> * </sparql> * */ #endregion #region Got result /* * * * <?xml version="1.0" encoding="utf-8"?> * <sparql xmlns="http://www.w3.org/2005/sparql-results#"> * <head> * <variable name="?PERSON" /> * <variable name="?NAME" /> * <variable name="?COUNT" /> * </head> * <results> * <result> * <binding name="?PERSON"> * <uri>http://example.org/alice#me</uri> * </binding> * <binding name="?NAME"> * <literal>Alice</literal> * </binding> * <binding name="?COUNT"> * <literal datatype="http://www.w3.org/2001/XMLSchema#decimal">3</literal> * </binding> * </result> * <result> * <binding name="?PERSON"> * <uri>http://example.org/bob#me</uri> * </binding> * <binding name="?NAME"> * <literal>Bob</literal> * </binding> * <binding name="?COUNT"> * <literal datatype="http://www.w3.org/2001/XMLSchema#decimal">1</literal> * </binding> * </result> * <result> * <binding name="?PERSON"> * <uri>http://example.org/charlie#me</uri> * </binding> * <binding name="?NAME"> * <literal>Charlie</literal> * </binding> * <binding name="?COUNT"> * <literal datatype="http://www.w3.org/2001/XMLSchema#decimal">1</literal> * </binding> * </result> * </results> * </sparql> * */ #endregion #region Target result from SPARQL 1.1 documentation /* * Target result * 3 Different query results formats supported by SPARQL 1.1 (XML, JSON, CSV, TSV) * * <?xml version="1.0"?> * <sparql xmlns="http://www.w3.org/2005/sparql-results#"> * <head> * <variable name="name"/> * <variable name="count"/> * </head> * <results> * <result> * <binding name="name"> * <literal>Alice</literal> * </binding> * <binding name="count"> * <literal datatype="http://www.w3.org/2001/XMLSchema#integer">3</literal> * </binding> * </result> * <result> * <binding name="name"> * <literal>Bob</literal> * </binding> * <binding name="count"> * <literal datatype="http://www.w3.org/2001/XMLSchema#integer">1</literal> * </binding> * </result> * <result> * <binding name="name"> * <literal>Charlie</literal> * </binding> * <binding name="count"> * <literal datatype="http://www.w3.org/2001/XMLSchema#integer">1</literal> * </binding> * </result> * </results> * </sparql> */ #endregion Assert.Equal(3, selectQueryResult.SelectResultsCount); }
public static void Convert(RDFModelEnums.RDFFormats formatSource, FileInfo fileSource, RDFModelEnums.RDFFormats formatDestination, FileInfo fileDestination) { RDFGraph graph = RDFGraph.FromFile(formatSource, fileSource.FullName); graph.ToFile(formatDestination, fileDestination.FullName); }