- Timestamp:
- 01/13/09 15:07:31 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/CEDMA-Refactoring-Ticket419/HeuristicLab.CEDMA.Core/Results.cs
r1109 r1116 64 64 65 65 private List<ResultsEntry> entries = null; 66 private bool cached = false; 66 67 public IEnumerable<ResultsEntry> GetEntries() { 67 if ( entries == null)68 Reload();68 if (!cached) 69 return SelectRows(); 69 70 return entries.AsEnumerable(); 70 }71 72 internal void Reload() {73 entries = SelectRows().ToList();74 FireChanged();75 71 } 76 72 … … 78 74 if (store == null) yield break; 79 75 80 var results = store.Select(new Statement(dataSetEntity, Ontology.PredicateHasModel, Ontology.AnyEntity)) 81 .SelectMany(x => store.Select(new SelectFilter( 82 new Entity[] { (Entity)x.Property }, 83 new Entity[] { Ontology.PredicateModelAttribute }, 84 new Resource[] { Ontology.AnyEntity }))) 85 .SelectMany(x => 86 store.Select( 87 new SelectFilter( 88 new Entity[] { (Entity)x.Property }, 89 new Entity[] { Ontology.PredicateModelAttributeName }, 90 new Entity[] { Ontology.AnyEntity })).Select(y => 91 new { 92 Model = x.Subject, 93 Attribute = (Entity)x.Property, 94 AttributeName = (Literal)y.Property 95 })) 96 .SelectMany(x => 97 store.Select( 98 new Statement(x.Attribute, Ontology.PredicateModelAttributeValue, Ontology.AnyEntity)) 99 .Select(y => 100 new { 101 Model = x.Model.Uri, 102 AttributeName = x.AttributeName.Value, 103 AttributeValue = ((Literal)y.Property).Value 104 })).GroupBy(x => x.Model); 76 var models = store.Select(new Statement(dataSetEntity, Ontology.PredicateHasModel, Ontology.AnyEntity)); 105 77 78 //var results = store.Select(new Statement(dataSetEntity, Ontology.PredicateHasModel, Ontology.AnyEntity)) 79 // .SelectMany(x => store.Select(new SelectFilter( 80 // new Entity[] { (Entity)x.Property }, 81 // new Entity[] { Ontology.PredicateModelAttribute }, 82 // new Resource[] { Ontology.AnyEntity }))) 83 // .SelectMany(x => 84 // store.Select( 85 // new SelectFilter( 86 // new Entity[] { (Entity)x.Property }, 87 // new Entity[] { Ontology.PredicateModelAttributeName }, 88 // new Entity[] { Ontology.AnyEntity })).Select(y => 89 // new { 90 // Model = x.Subject, 91 // Attribute = (Entity)x.Property, 92 // AttributeName = (Literal)y.Property 93 // })) 94 // .SelectMany(x => 95 // store.Select( 96 // new Statement(x.Attribute, Ontology.PredicateModelAttributeValue, Ontology.AnyEntity)) 97 // .Select(y => 98 // new { 99 // Model = x.Model.Uri, 100 // AttributeName = x.AttributeName.Value, 101 // AttributeValue = ((Literal)y.Property).Value 102 // })).GroupBy(x => x.Model); 106 103 107 Random random = new Random(); 104 entries = new List<ResultsEntry>(); 105 foreach (var model in models) { 106 var attributes = store.Select(new Statement((Entity)model.Property, Ontology.PredicateModelAttribute, Ontology.AnyEntity)); 107 108 foreach (var attr in attributes) { 109 var namesAndValues = store 110 .Select(new SelectFilter(new Entity[] { (Entity)attr.Property }, 111 new Entity[] { Ontology.PredicateModelAttributeName, Ontology.PredicateModelAttributeValue }, 112 new Entity[] { Ontology.AnyEntity })); 113 } 114 } 115 108 116 foreach (var row in results) { 109 117 ResultsEntry entry = new ResultsEntry(row.First().Model); … … 111 119 entry.Set((string)attr.AttributeName, attr.AttributeValue); 112 120 } 121 entries.Add(entry); 113 122 yield return entry; 114 123 } 124 125 FireChanged(); 126 cached = true; 115 127 } 116 128 … … 120 132 var attributeNames = 121 133 store.Select(new Statement(Ontology.AnyEntity, Ontology.PredicateModelAttributeName, Ontology.AnyEntity)) 122 .Select(s => (string)((Literal)s.Property).Value) 134 .Select(s => (string)((Literal)s.Property).Value) 123 135 .Distinct(); 124 136 foreach (var name in attributeNames) {
Note: See TracChangeset
for help on using the changeset viewer.