protected KifRelationalSentence createDocumentation(string docString, string docOwner) { KifSequence <KifTerm> terms = new KifSequence <KifTerm>(new KifConstant(docOwner)); terms.addItem(new KifString(docString)); return(new KifRelationalSentence(new KifConstant(DOCUMENTATION), terms)); }
protected KifConjunction processingParentsXXX(DataFrame frame) { KifSequence <KifSentence> conjs = new KifSequence <KifSentence>(); IList isA = frame.isA; if (isA.Count == 0) { isA = new ArrayList(); isA.Add("Thing"); //TODO: } foreach (string parentName in isA) { conjs.addItem( new KifRelationalSentence(new KifConstant(parentName), new KifConcreteTerm <KifIndividualVariable>(new KifIndividualVariable("X")))); } foreach (Slot slot in frame.ownSlots.Values) { if (!"".Equals(slot.slotValue)) { conjs.addItem( new KifRelationalSentence(new KifConstant(slot.iden), new KifConcreteTerm <KifConstant>(new KifConstant(slot.slotValue)))); } } return(new KifConjunction(conjs)); }
protected KifRelationalSentence createBinRelation(string relName, string firstArg, string secondArg) //TODO { KifSequence <KifTerm> terms = new KifSequence <KifTerm>(new KifConstant(firstArg)); terms.addItem(new KifConstant(secondArg)); return(new KifRelationalSentence(new KifConstant(relName), terms)); }
private static KifSequence <KifIndividualVariable> checkArg(KifSequence <KifIndividualVariable> argList) { if (argList == null || argList.isEmpty()) { throw new ArgumentNullException("class argument cann't be null or empty");//TODO: } return(new KifSequence <KifIndividualVariable>(argList)); }
public override IList <IModelItem> getChildren() { KifSequence <KifObject> sequence = new KifSequence <KifObject>(new KifConstant(Name)); sequence.addItem(DELIMITER); sequence.addItem(Sentence); return(sequence.getChildren()); }
//TODO: argument string public OntolinguaDefinition(string name, Comment comment, KifSequence <KifIndividualVariable> argList) { if (StringUtils.isEmpty(name)) { throw new ArgumentException("name cann't be null or empty"); } _name = name; _docString = comment; _argList = argList == null ? argList : new KifSequence <KifIndividualVariable>(argList); }
protected IList <KifObject> createSlots(DataFrame frame, KifSequence <KifSentence> slotsValues) { List <KifObject> result = new List <KifObject>(createOwnSlots(frame, slotsValues)); foreach (Slot slot in frame.instanceSlots.Values) { result.Add(createSlot(frame.iden, slot, slotsValues)); } return(result); }
/* protected IList<KifObject> createSlotsOfInstance(DataFrame frame, KifSequence<KifSentence> slotsValues) { * List<KifObject> result = new List<KifObject>(createOwnSlotsOfInstance(frame, slotsValues)); * foreach (Slot slot in frame.ownSlots.Values) { * result.Add(createSlotOfInstance(frame.iden, slot, slotsValues)); * } * return result; * } */ public void createInstanceFrame(DataFrame frame) { string frameName = frame.iden; KifSequence <KifSentence> sequence = new KifSequence <KifSentence>(createDocumentation(generateFrameComment(false, frameName), frameName)); sequence.addRange(processingParentsOfInstance(frame)); IList <KifObject> slots = createOwnSlotsOfInstance(frame, sequence); KifObjectDefinition relation = new KifObjectDefinition(frame.iden, sequence); _model.addObject(relation); _model.addRange(slots); }
public OntolinguaNamedSequenceOfSentences(string name, KifSequence <KifSentence> sentences) { if (StringUtils.isEmpty(name)) { throw new ArgumentException("name cann't be null or empty"); } if (sentences == null || sentences.getSize() == 0) { throw new ArgumentNullException("sentences cann't be null or empty"); } _name = name; _sentences = new KifSequence <KifSentence>(sentences); }
protected KifObject createSlotOfInstance(string frameName, Slot slot, KifSequence <KifSentence> slotsValues) { string slotIden = generateSlotIdentifier(frameName, slot.iden); KifSequence <KifSentence> sequence = new KifSequence <KifSentence>(createDocumentation(generateSlotComment(isOwnSlot(slot), slot.iden, frameName), frameName)); sequence.addItem(createBinRelation(RANGE, slotIden, _resolver.resolveType(slot.slotType))); sequence.addItem(createBinRelation(DOMAIN, slotIden, frameName)); sequence.addItem(createArity(slotIden, 2)); sequence.addItem(createUnRelation(RELATION, slotIden)); sequence.addItem(createUnRelation(BINARY_RELATION, slotIden)); return(new KifRelationDefinition(slotIden, sequence)); }
public void createClassFrame(DataFrame frame) //TODO: order { string frameName = frame.iden; KifSequence <KifSentence> sequence = new KifSequence <KifSentence>(createDocumentation(generateFrameComment(true, frameName), frameName)); sequence.addRange(processingParentsXXX(frame)); sequence.addItem(createArity(frameName, 1)); sequence.addItem(createUnRelation(CLASS, frameName)); IList <KifObject> slots = createSlots(frame, sequence); KifRelationDefinition relation = new KifRelationDefinition(frame.iden, sequence); _model.addObject(relation); _model.addRange(slots); }
protected IList <KifObject> createOwnSlotsOfInstance(DataFrame frame, KifSequence <KifSentence> slotsValues) { List <KifObject> result = new List <KifObject>(frame.ownSlots.Count); foreach (Slot slot in frame.ownSlots.Values) { string owner = _director.getSlotOwner(slot.iden, frame); if (frame.iden.Equals(owner)) { result.Add(createSlotOfInstance(frame.iden, slot, slotsValues)); } if (!StringUtils.isEmpty(slot.slotValue)) { slotsValues.addItem(createBinRelation(generateSlotIdentifier(owner, slot.iden), frame.iden, slot.slotValue)); } } return(result); }
protected KifSequence <KifSentence> processingParentsOfInstance(DataFrame frame) { KifSequence <KifSentence> parents = new KifSequence <KifSentence>(); string frameName = frame.iden; IList isA = frame.isA; if (isA.Count == 0) { parents.addItem(createUnRelation(THING, frameName)); } else { foreach (string parentName in isA) { parents.addItem(createUnRelation(parentName, frameName)); } } return(parents); }
protected KifSequence <KifSentence> processingParentsXXX(DataFrame frame) { KifSequence <KifSentence> parents = new KifSequence <KifSentence>(); string frameName = frame.iden; IList isA = frame.isA; if (isA.Count == 0) { parents.addItem(createSubclassOf(frameName, THING)); } else { foreach (string parentName in isA) { parents.addItem(createSubclassOf(frameName, parentName)); } } return(parents); }
protected IList <KifObject> createOwnSlots(DataFrame frame, KifSequence <KifSentence> slotsValues) { List <KifObject> result = new List <KifObject>(frame.ownSlots.Count); foreach (Slot slot in frame.ownSlots.Values) { string owner = _director.getSlotOwner(slot.iden, frame); if (frame.iden.Equals(owner)) { result.Add(createSlot(frame.iden, slot, slotsValues)); } else { if (slot.slotValue != null) { slotsValues.addItem(createTrRelation(TEMPLATE_SLOT_VALUE, generateSlotIdentifier(owner, slot.iden), frame.iden, slot.slotValue)); } } } return(result); }
protected KifObject createSlot(string frameName, Slot slot, KifSequence <KifSentence> slotsValues) { string slotIden = generateSlotIdentifier(frameName, slot.iden); KifSequence <KifSentence> sequence = new KifSequence <KifSentence>(createDocumentation(generateSlotComment(isOwnSlot(slot), slot.iden, frameName), frameName)); sequence.addItem(createBinRelation(RANGE, slotIden, _resolver.resolveType(slot.slotType))); sequence.addItem(createBinRelation(DOMAIN, slotIden, frameName)); sequence.addItem(createArity(slotIden, 2)); sequence.addItem(createUnRelation(RELATION, slotIden)); sequence.addItem(createUnRelation(BINARY_RELATION, slotIden)); // bool isString = StringUtils.equalsIgnoreCase(slot.slotType, "string"); // if (slot.slotValue != null && (!"".Equals(slot.slotValue) && isString)) // slotsValues.addItem(createTrRelation(TEMPLATE_SLOT_VALUE, slotIden, frameName, slot.slotValue)); if (!StringUtils.isEmpty(slot.slotValue)) { slotsValues.addItem(createTrRelation(TEMPLATE_SLOT_VALUE, slotIden, frameName, slot.slotValue)); } return(new KifRelationDefinition(slotIden, sequence)); }
protected void createSlot(string frameName, Slot slot) { KifIndividualVariable frameVar = new KifIndividualVariable("Frame"); KifIndividualVariable valueVar = new KifIndividualVariable("Value"); KifSequence <KifIndividualVariable> args = new KifSequence <KifIndividualVariable>(frameVar); args.addItem(valueVar); OntolinguaDefineRelation relation = new OntolinguaDefineRelation(slot.iden, null, args); KifSequence <KifSentence> conjs = new KifSequence <KifSentence>(); conjs.addItem( new KifRelationalSentence(new KifConstant(frameName), new KifConcreteTerm <KifIndividualVariable>(frameVar))); conjs.addItem( new KifRelationalSentence(new KifConstant(slot.slotType), new KifConcreteTerm <KifIndividualVariable>(valueVar))); relation.DefSentence = new KifConjunction(conjs); _model.addObject(relation); }
public ClassAndRelationBase(string name, Comment comment, KifSequence <KifIndividualVariable> argList) : base(name, comment, checkArg(argList)) { }
public KifRelationDefinition(string name, KifSequence <KifSentence> sentences) : base(name, sentences) { }
public OntolinguaDefineRelation(string name, Comment comment, KifSequence <KifIndividualVariable> argList) : base(name, comment, argList) { }
public KifConjunction(KifSequence <KifSentence> sentSeq) { _params = sentSeq; }
protected KifQuantifiedSentence(KifSequence <KifVariableSpecification> varspec, KifSentence sentence) { _varspec = varspec; _sentence = sentence; }
public KifExistentiallyQuantifiedSentence(KifSequence <KifVariableSpecification> varspec, KifSentence sentence) : base(varspec, sentence) { }
public KifFunction(string name, string str, KifSequence <KifSentence> sentences) : base(name, str, sentences) { }
public KifReverseImplication(KifSentence consequent, KifSequence <KifSentence> antecedents) : base(consequent, antecedents) { }
public IfDef_DefSentenceOwner(string name, Comment comment, KifSequence <KifIndividualVariable> argList) : base(name, comment, argList) { }
public KifObjectDefinition(string name, KifSequence <KifSentence> sentences) : base(name, sentences) { }