Example #1
0
 /// <summary>
 /// Converts a dotNetRDF Graph to a Sesame Graph
 /// </summary>
 /// <param name="g">dotNetRDF Graph</param>
 /// <param name="mapping">Blank Node Mapping</param>
 /// <param name="target">Sesame Graph</param>
 public static void ToSesame(IGraph g, SesameMapping mapping, dotSesame.Graph target)
 {
     foreach (Triple t in g.Triples)
     {
         target.add(ToSesameResource(t.Subject, mapping), ToSesameUri(t.Predicate, mapping), ToSesameValue(t.Object, mapping));
     }
 }
 public bool add(dotSesame.Resource r, dotSesame.URI uri, dotSesame.Value v, params dotSesame.Resource[] rarr)
 {
     Triple t = new Triple(SesameConverter.FromSesameResource(r, this._mapping), SesameConverter.FromSesameUri(uri, this._mapping), SesameConverter.FromSesameValue(v, this._mapping));
     if (this._g.ContainsTriple(t))
     {
         return false;
     }
     else
     {
         this._g.Assert(t);
         return true;
     }
 }
Example #3
0
 /// <summary>
 /// Converts a dotNetRDF Graph to a Sesame Graph
 /// </summary>
 /// <param name="g">dotNetRDF Graph</param>
 /// <param name="target">Sesame Graph</param>
 public static void ToSesame(IGraph g, dotSesame.Graph target)
 {
     SesameMapping mapping = new SesameMapping(g, target);
     ToSesame(g, mapping, target);
 }
Example #4
0
 /// <summary>
 /// Converts a Sesame Value to a dotNetRDF Node
 /// </summary>
 /// <param name="value">Value</param>
 /// <param name="mapping">Blank Node Mapping</param>
 /// <returns></returns>
 internal static INode FromSesameValue(dotSesame.Value value, SesameMapping mapping)
 {
     if (value is dotSesame.URI)
     {
         return mapping.Graph.CreateUriNode(new Uri(((dotSesame.URI)value).stringValue()));
     }
     else if (value is dotSesame.Literal)
     {
         dotSesame.Literal lit = (dotSesame.Literal)value;
         if (lit.getDatatype() != null)
         {
             return mapping.Graph.CreateLiteralNode(lit.stringValue(), FromSesameUri(lit.getDatatype()));
         }
         else if (lit.getLanguage() != null)
         {
             return mapping.Graph.CreateLiteralNode(lit.stringValue(), lit.getLanguage());
         }
         else
         {
             return mapping.Graph.CreateLiteralNode(lit.stringValue());
         }
     }
     else if (value is dotSesame.BNode)
     {
         dotSesame.BNode bnode = (dotSesame.BNode)value;
         if (mapping.InputMapping.ContainsKey(bnode))
         {
             return mapping.InputMapping[bnode];
         }
         else
         {
             INode n = mapping.Graph.CreateBlankNode();
             lock (mapping)
             {
                 if (!mapping.InputMapping.ContainsKey(bnode))
                 {
                     mapping.InputMapping.Add(bnode, n);
                 }
                 else
                 {
                     n = mapping.InputMapping[bnode];
                 }
                 if (!mapping.OutputMapping.ContainsKey(n)) mapping.OutputMapping.Add(n, bnode);
             }
             return n;
         }
     }
     else
     {
         throw new RdfException("Unable to convert unexpected Sesame Value Type to a dotNetRDF INode");
     }
 }
Example #5
0
 /// <summary>
 /// Converts a Sesame URI to a URI
 /// </summary>
 /// <param name="uri">URI</param>
 /// <returns></returns>
 internal static Uri FromSesameUri(dotSesame.URI uri)
 {
     return new Uri(uri.stringValue());
 }
Example #6
0
 /// <summary>
 /// Converts a Sesame URI to a dotNetRDF Node
 /// </summary>
 /// <param name="uri">URI</param>
 /// <param name="mapping">Blank Node Mapping</param>
 /// <returns></returns>
 internal static INode FromSesameUri(dotSesame.URI uri, SesameMapping mapping)
 {
     return mapping.Graph.CreateUriNode(new Uri(uri.stringValue()));
 }
Example #7
0
 /// <summary>
 /// Converts a Sesame Resource to a dotNetRDF Node
 /// </summary>
 /// <param name="resource">Resource</param>
 /// <param name="mapping">Blank Node Mapping</param>
 /// <returns></returns>
 internal static INode FromSesameResource(dotSesame.Resource resource, SesameMapping mapping)
 {
     if (resource is dotSesame.URI)
     {
         return mapping.Graph.CreateUriNode(new Uri(((dotSesame.URI)resource).stringValue()));
     }
     else if (resource is dotSesame.BNode)
     {
         dotSesame.BNode bnode = (dotSesame.BNode)resource;
         if (mapping.InputMapping.ContainsKey(bnode))
         {
             return mapping.InputMapping[bnode];
         }
         else
         {
             INode n = mapping.Graph.CreateBlankNode();
             lock (mapping)
             {
                 if (!mapping.InputMapping.ContainsKey(bnode))
                 {
                     mapping.InputMapping.Add(bnode, n);
                 }
                 else
                 {
                     n = mapping.InputMapping[bnode];
                 }
                 if (!mapping.OutputMapping.ContainsKey(n)) mapping.OutputMapping.Add(n, bnode);
             }
             return n;
         }
     }
     else
     {
         throw new RdfException("Unable to convert unexpected Sesame Resource Type to a dotNetRDF INode");
     }
 }
Example #8
0
 /// <summary>
 /// Converts a Sesame Statement to a dotNetRDF Triple
 /// </summary>
 /// <param name="statement">Sesame Statement</param>
 /// <param name="mapping">Blank Node Mapping</param>
 /// <returns></returns>
 public static Triple FromSesame(dotSesame.Statement statement, SesameMapping mapping)
 {
     return new Triple(FromSesameResource(statement.getSubject(), mapping), FromSesameUri(statement.getPredicate(), mapping), FromSesameValue(statement.getObject(), mapping));
 }
 public SesameMapping(DotNetRdfValueFactory factory, dotSesame.Graph target)
 {
     this._g = factory.Graph;
     this._target = target;
     this._factory = factory;
 }
Example #10
0
 /// <summary>
 /// Converts a Sesame Graph to a dotNetRDF Graph
 /// </summary>
 /// <param name="source">Sesame Graph</param>
 /// <param name="target">dotNetRDF Graph</param>
 public static void FromSesame(dotSesame.Graph source, IGraph target)
 {
     SesameMapping mapping = new SesameMapping(target, source);
     FromSesame(source, mapping, target);
 }
 public DotNetRdfValueFactory(IGraph g, dotSesame.Graph target)
     : this(new SesameMapping(g, target)) { }
 public dotSesame.Statement createStatement(dotSesame.Resource r, dotSesame.URI uri, dotSesame.Value v)
 {
     return this._mapping.ValueFactory.createStatement(r, uri, v);
 }
 public dotSesame.Literal createLiteral(string str, dotSesame.URI uri)
 {
     return this._mapping.ValueFactory.createLiteral(str, uri);
 }
        public java.util.Iterator match(dotSesame.Resource r, dotSesame.URI uri, dotSesame.Value v, params dotSesame.Resource[] rarr)
        {
            INode s = (r != null) ? SesameConverter.FromSesameResource(r, this._mapping) : null;
            INode p = (uri != null) ? SesameConverter.FromSesameUri(uri, this._mapping) : null;
            INode o = (v != null) ? SesameConverter.FromSesameValue(v, this._mapping) : null;
            //Contexts are Ignored for matches on a single Graph

            IEnumerable<Triple> ts;

            if (s != null)
            {
                if (p != null)
                {
                    if (o != null)
                    {
                        //Matching on Subject Predicate and Object
                        Triple t = new Triple(s, p, o);
                        if (this._g.ContainsTriple(t))
                        {
                            ts = t.AsEnumerable();
                        }
                        else
                        {
                            ts = Enumerable.Empty<Triple>();
                        }
                    }
                    else
                    {
                        //Just matching on Subject Predicate
                        ts = this._g.GetTriplesWithSubjectPredicate(s, p);
                    }
                }
                else
                {
                    if (o != null)
                    {
                        //Matching on Subject Object
                        ts = this._g.GetTriplesWithSubjectObject(s, o);
                    }
                    else
                    {
                        //Just Matching on Subject
                        ts = this._g.GetTriplesWithSubject(s);
                    }
                }
            }
            else if (p != null)
            {
                if (o != null)
                {
                    //Matching on Predicate Object
                    ts = this._g.GetTriplesWithPredicateObject(p, o);
                }
                else
                {
                    //Just Matching on Predicate
                    ts = this._g.GetTriplesWithPredicate(p);
                }
            }
            else if (o != null)
            {
                //Matching on Object only
                ts = this._g.GetTriplesWithObject(o);
            }
            else
            {
                //Matching anything
                ts = this._g.Triples;
            }

            return new DotNetEnumerableWrapper(ts.Select(t => SesameConverter.ToSesame(t, this._mapping)));
        }
 public SesameTripleCollection(dotSesame.Graph g, SesameMapping mapping)
 {
     this._g = g;
     this._mapping = mapping;
 }
Example #16
0
 /// <summary>
 /// Converts a Sesame Graph to a dotNetRDF Graph
 /// </summary>
 /// <param name="source">Sesame Graph</param>
 /// <param name="mapping">Blank Node Mapping</param>
 /// <param name="target">dotNetRDF Graph</param>
 public static void FromSesame(dotSesame.Graph source, SesameMapping mapping, IGraph target)
 {
     Iterator iter = source.iterator();
     while (iter.hasNext())
     {
         dotSesame.Statement stmt = (dotSesame.Statement)iter.next();
         target.Assert(FromSesame(stmt, mapping));
     }
 }
Example #17
0
 public SesameGraph(dotSesame.Graph g)
 {
     this._g = g;
     this._mapping = new SesameMapping(this, this._g);
     this._triples = new SesameTripleCollection(this._g, this._mapping);
 }
Example #18
0
 /// <summary>
 /// Creates a new Sesame mapping
 /// </summary>
 /// <param name="g">Graph</param>
 public SesameMapping(IGraph g, dotSesame.Graph target)
 {
     this._g = g;
     this._target = target;
 }