public IEnumerable <Triple> GetItemTriplesBySubjectPredicate(Item item, string predicate) { var itemUri = SitecoreTripleHelper.ItemToUri(item); var query = SitecoreTripleHelper.StringToSparqlQuery(String.Format(TriplesBySubjectPredicateFormat, itemUri, predicate)); return(TripleQuery(query)); }
public IEnumerable <Triple> GetItemTriplesByObject(Item item) { var itemUri = SitecoreTripleHelper.ItemToUri(item); var query = SitecoreTripleHelper.StringToSparqlQuery(String.Format(TriplesByObjectFormat, itemUri)); return(TripleQuery(query)); }
protected void Page_Load(object sender, EventArgs e) { var sublayout = Parent as Sitecore.Web.UI.WebControls.Sublayout; var dataSourceItem = Sitecore.Context.Database.GetItem(sublayout.DataSource); var factory = DependencyResolver.Instance.Resolve <SitecoreManagerFactory>(); var manager = factory.GetContextWebDatabaseDataManager(); //string rawParameters = Attributes["sc_parameters"]; //var parameters = Sitecore.Web.WebUtil.ParseUrlParameters(rawParameters); var title = dataSourceItem.Fields["Title"].Value; var sparqlQuery = dataSourceItem.Fields["SparqlQuery"].Value; litTitle.Text = title; SitecoreTriples = new List <SitecoreTriple>(); if (!string.IsNullOrEmpty(sparqlQuery)) { //Format the query var formattedQuery = String.Format(sparqlQuery, SitecoreTripleHelper.ItemToUri(Sitecore.Context.Item)); var sqp = new SparqlQueryParser(); var query = sqp.ParseFromString(formattedQuery); if (query.QueryType == SparqlQueryType.Construct) { var triples = manager.TripleQuery(query); SitecoreTriples = triples.ToSitecoreTriples(); } else if (query.QueryType == SparqlQueryType.Select || query.QueryType == SparqlQueryType.SelectAll) { var resultSet = manager.ResultSetQuery(query); foreach (SparqlResult result in resultSet) { foreach (var variable in result.ToList()) { var sitecoreNode = variable.Value.ToSitecoreNode(); if (sitecoreNode != null) { litSparqlQueryResult.Text += string.Format("Key: {0} Value: <a href=\"{1}\">{2}</a><br/>", variable.Key, LinkManager.GetItemUrl(sitecoreNode.Item), sitecoreNode.Item.Name); } else { litSparqlQueryResult.Text += string.Format("Key: {0} Value: {1}<br/>", variable.Key, variable.Value.ToString()); } } } } } }
public void RemoveLinksForItem(Item item, ItemLink link) { var parser = new SparqlQueryParser(); var subjectUri = SitecoreTripleHelper.ItemToUri(item); var objectUri = SitecoreTripleHelper.ItemToUri(link.GetTargetItem()); var query = SitecoreTripleHelper.StringToSparqlQuery(String.Format(TriplesBySubjectObjectFormat, subjectUri, objectUri)); var triplesToDelete = TripleQuery(query); DeleteTriples(triplesToDelete); }