예제 #1
0
파일: Concept.cs 프로젝트: VoxML/Jarvis
 public Concept(string name, ConceptType type, ConceptMode mode)
 {
     _name             = name;
     _type             = type;
     _mode             = mode;
     _related          = new List <Concept>();
     _certainty        = 0;
     _subgroupNameName = null;
 }
예제 #2
0
    public void SideloadCertaintyState(string certaintyJson)
    {
        UpdateEpisim(certaintyJson);
        var       certainties  = JSON.Parse(certaintyJson);
        JSONArray cCertainties = certainties["c"].AsArray;

        foreach (string cCertainty in cCertainties.Values)
        {
            string[] split1          = cCertainty.Split(Jsonifier.CertaintySep);
            string   conceptString   = split1[0];
            string   certaintyString = split1[1];

            string[]    split2 = conceptString.Split(Jsonifier.JsonRelationConnector);
            ConceptType type   = (ConceptType)Int32.Parse(split2[0]);
            ConceptMode mode   = (ConceptMode)Int32.Parse(split2[1]);
            int         idx    = Int32.Parse(split2[2]);

            GetConcepts(type).GetConcept(idx, mode).Certainty = Double.Parse(certaintyString);
        }

        JSONArray rCertainties = certainties["r"].AsArray;

        foreach (string rCertainty in rCertainties.Values)
        {
            string[] split1          = rCertainty.Split(Jsonifier.CertaintySep);
            string   relationString  = split1[0];
            string   certaintyString = split1[1];

            string[]    split2 = relationString.Split(Jsonifier.JsonRelationConnector);
            ConceptType type   = (ConceptType)Int32.Parse(split2[0]);
            ConceptMode oMode  = (ConceptMode)Int32.Parse(split2[1]);
            int         oIdx   = Int32.Parse(split2[2]);
            ConceptMode dMode  = (ConceptMode)Int32.Parse(split2[3]);
            int         dIdx   = Int32.Parse(split2[4]);

            Concept origin      = GetConcepts(type).GetConcept(oIdx, oMode);
            Concept destination = GetConcepts(type).GetConcept(dIdx, dMode);
            GetRelation(origin, destination).Certainty = Double.Parse(certaintyString);
        }
    }
예제 #3
0
 public Concept GetConcept(string name, ConceptType type, ConceptMode mode)
 {
     return(_episteme[type].GetConcept(name, mode));
 }
예제 #4
0
 public Concept GetConcept(int conceptIdx, ConceptMode mode)
 {
     return(_concepts[mode][conceptIdx]);
 }
예제 #5
0
            public Concept GetConcept(string name, ConceptMode mode)
            {
                var found = _concepts[mode].First(c => c.Name == name);

                return(found);
            }