<source lang='java' id='javacode'>@// This is a rythm template @// the args are the standard wikiTask arguments @import org.sidif.triple.TripleQuery @import org.sidif.triple.Triple @import com.alibaba.fastjson.JSON @args() {
String title String logo org.sidif.wiki.WikiTask wikiTask org.sidif.triple.TripleStore tripleStore
}
@def static {
/** * Base class */ static abstract class TopicBase { // each Topic has a pageid - for non subobject thats the pagename public String pageid;
/** * get a WikiSon version of the given name value * * @param name * @param value * @return - the string representation */ public String toWikiSon(String name, String value) { String result = "\n"; if (value != null) result = "|" + name + "=" + value + "\n"; return result; }
/** * get the propertySidif of the given property * * @param name * @param value * @return */ public static String propertySiDIF(String name, String value, String type) { // default is an empty string - no property line for emtpy values String result = ""; // if the value is not empty if ((value != null) && (!("".equals(value.trim())))) { // do we need to quote the result? String quote = ""; // this depends on the Type if ("Text".equals(type)) { quote = "\""; } // create a SIDIF Property line like // "John" is lastname of it result += quote + value + quote + " is " + name + " of it\n"; } // return the SiDIF property line return result; }
/** * get me as a String * * @param name * @param value * @return */ public static String propertySiDIF(String name, String value) { String result = propertySiDIF(name, value, "Text"); return result; }
/** * check if the given boolean String value is true * * @param value * @return true if the value is not null and has true/TRUE as it's string * content */ public boolean isTrue(String value) { boolean result = false; if (value != null && value.toLowerCase().equals("true")) { result = true; } return result; }
/** * initialize */ public void init(TripleQuery query) { } } // TopicBase /** * Context * A Context groups some topics like a Namespace/Package */ public static class Context extends TopicBase { public String name; public String since; public String master;
public String getName() { return name; } public void setName(String pName) { name=pName; } public String getSince() { return since; } public void setSince(String pSince) { since=pSince; } public String getMaster() { return master; } public void setMaster(String pMaster) { master=pMaster; } /** * convert this Context to a JSON string */ public String toJson() { return JSON.toJSONString(this); }
/** * convert this Context to a WikiSon string */ public String toWikiSon() { String wikison= "{{Context\n"; wikison+=toWikiSon("name",name); wikison+=toWikiSon("since",since); wikison+=toWikiSon("master",master); wikison+="}}\n"; return wikison; } /** * get the pageid for this topic */ public String getPageid() { return pageid; };
/** * default constructor for Context */ public Context() {}
/** * construct a Context from the given Triple * @param query - the TripleQuery to get the triples from * @param pContextTriple - the triple to construct me from */ public Context(TripleQuery query,Triple pContextTriple) { this(query,pContextTriple.getSubject().toString()); } // constructor
/** * construct a Context from the given pageId * @param query - the TripleQuery to get the triples from * @param pageid - pageid */ public Context(TripleQuery query,String pageid) { this.pageid=pageid; Triple nameTriple=query.selectSingle(pageid,"name",null); if (nameTriple==null) nameTriple=query.selectSingle(pageid,"Property:Context_name",null); if (nameTriple!=null) name=nameTriple.getObject().toString(); Triple sinceTriple=query.selectSingle(pageid,"since",null); if (sinceTriple==null) sinceTriple=query.selectSingle(pageid,"Property:Context_since",null); if (sinceTriple!=null) since=sinceTriple.getObject().toString(); Triple masterTriple=query.selectSingle(pageid,"master",null); if (masterTriple==null) masterTriple=query.selectSingle(pageid,"Property:Context_master",null); if (masterTriple!=null) master=masterTriple.getObject().toString(); init(query); } // constructor for Context // >>>{user defined topic code}{Context}{Context} // <<<{user defined topic code}{Context}{Context} } // class Context /** * Manager for Context */ public static class ContextManager extends TopicBase { public String topicName="Context"; public transient List<Context> mContexts=new ArrayList<Context>(); public transient Map<String,Context> mContextMap=new LinkedHashMap<String,Context>();
/** * get my Contexts */ public List<Context> getContexts() { List<Context> result=this.mContexts; return result; }
/** * add a new Context */ public Context add(Context pContext) { mContexts.add(pContext); mContextMap.put(pContext.getPageid(),pContext); return pContext; }
/** * add a new Context from the given triple */ public Context add(TripleQuery query,Triple pContextTriple) { Context lContext=new Context(query,pContextTriple); add(lContext); return lContext; }
// reinitialize my mContext map public void reinit() { mContextMap.clear(); for (Context lContext:mContexts) { mContextMap.put(lContext.getPageid(),lContext); } }
// convert this manager to json format public String toJson() { return JSON.toJSONString(this); } // get a new manager from the given json string public static ContextManager fromJson(String json) { ContextManager result=JSON.parseObject(json, ContextManager.class); result.reinit(); return result; }
// default constructor for Context Manager public ContextManager() {}
// add Contexts from the given query public void addContexts(TripleQuery pContextQuery,TripleQuery query) { if (pContextQuery!=null) { for (Triple lContextTriple:pContextQuery.getTriples()) { add(query,lContextTriple); } } }
// construct me from the given triple Query query public ContextManager(TripleQuery query) { // first query the SiDIF bases triplestore TripleQuery lContextQuery=query.query(null,"isA","Context"); addContexts(lContextQuery,query); // then the SMW triplestore lContextQuery=query.query(null,"Property:IsA","Context"); addContexts(lContextQuery,query); init(query); } // constructor for Context Manager // >>>{user defined topicmanager code}{Context}{Context} // <<<{user defined topicmanager code}{Context}{Context} } // class Context Manager /** * Property * a Property is a Feature/Attribute of a Topic */ public static class Property extends TopicBase { public String name; public String label; public String type; public String index; public String sortPos; public String primaryKey; public String mandatory; public String namespace; public String size; public String uploadable; public String defaultValue; public String inputType; public String allowedValues; public String documentation; public String values_from; public String showInGrid; public String isLink; public String nullable; public String topic;
public String getName() { return name; } public void setName(String pName) { name=pName; } public String getLabel() { return label; } public void setLabel(String pLabel) { label=pLabel; } public String getType() { return type; } public void setType(String pType) { type=pType; } public String getIndex() { return index; } public void setIndex(String pIndex) { index=pIndex; } public String getSortPos() { return sortPos; } public void setSortPos(String pSortPos) { sortPos=pSortPos; } public String getPrimaryKey() { return primaryKey; } public void setPrimaryKey(String pPrimaryKey) { primaryKey=pPrimaryKey; } public String getMandatory() { return mandatory; } public void setMandatory(String pMandatory) { mandatory=pMandatory; } public String getNamespace() { return namespace; } public void setNamespace(String pNamespace) { namespace=pNamespace; } public String getSize() { return size; } public void setSize(String pSize) { size=pSize; } public String getUploadable() { return uploadable; } public void setUploadable(String pUploadable) { uploadable=pUploadable; } public String getDefaultValue() { return defaultValue; } public void setDefaultValue(String pDefaultValue) { defaultValue=pDefaultValue; } public String getInputType() { return inputType; } public void setInputType(String pInputType) { inputType=pInputType; } public String getAllowedValues() { return allowedValues; } public void setAllowedValues(String pAllowedValues) { allowedValues=pAllowedValues; } public String getDocumentation() { return documentation; } public void setDocumentation(String pDocumentation) { documentation=pDocumentation; } public String getValues_from() { return values_from; } public void setValues_from(String pValues_from) { values_from=pValues_from; } public String getShowInGrid() { return showInGrid; } public void setShowInGrid(String pShowInGrid) { showInGrid=pShowInGrid; } public String getIsLink() { return isLink; } public void setIsLink(String pIsLink) { isLink=pIsLink; } public String getNullable() { return nullable; } public void setNullable(String pNullable) { nullable=pNullable; } public String getTopic() { return topic; } public void setTopic(String pTopic) { topic=pTopic; } /** * convert this Property to a JSON string */ public String toJson() { return JSON.toJSONString(this); }
/** * convert this Property to a WikiSon string */ public String toWikiSon() { String wikison= "{{Property\n"; wikison+=toWikiSon("name",name); wikison+=toWikiSon("label",label); wikison+=toWikiSon("type",type); wikison+=toWikiSon("index",index); wikison+=toWikiSon("sortPos",sortPos); wikison+=toWikiSon("primaryKey",primaryKey); wikison+=toWikiSon("mandatory",mandatory); wikison+=toWikiSon("namespace",namespace); wikison+=toWikiSon("size",size); wikison+=toWikiSon("uploadable",uploadable); wikison+=toWikiSon("defaultValue",defaultValue); wikison+=toWikiSon("inputType",inputType); wikison+=toWikiSon("allowedValues",allowedValues); wikison+=toWikiSon("documentation",documentation); wikison+=toWikiSon("values_from",values_from); wikison+=toWikiSon("showInGrid",showInGrid); wikison+=toWikiSon("isLink",isLink); wikison+=toWikiSon("nullable",nullable); wikison+=toWikiSon("topic",topic); wikison+="}}\n"; return wikison; } /** * get the pageid for this topic */ public String getPageid() { return pageid; };
/** * default constructor for Property */ public Property() {}
/** * construct a Property from the given Triple * @param query - the TripleQuery to get the triples from * @param pPropertyTriple - the triple to construct me from */ public Property(TripleQuery query,Triple pPropertyTriple) { this(query,pPropertyTriple.getSubject().toString()); } // constructor
/** * construct a Property from the given pageId * @param query - the TripleQuery to get the triples from * @param pageid - pageid */ public Property(TripleQuery query,String pageid) { this.pageid=pageid; Triple nameTriple=query.selectSingle(pageid,"name",null); if (nameTriple==null) nameTriple=query.selectSingle(pageid,"Property:Property_name",null); if (nameTriple!=null) name=nameTriple.getObject().toString(); Triple labelTriple=query.selectSingle(pageid,"label",null); if (labelTriple==null) labelTriple=query.selectSingle(pageid,"Property:Property_label",null); if (labelTriple!=null) label=labelTriple.getObject().toString(); Triple typeTriple=query.selectSingle(pageid,"type",null); if (typeTriple==null) typeTriple=query.selectSingle(pageid,"Property:Property_type",null); if (typeTriple!=null) type=typeTriple.getObject().toString(); Triple indexTriple=query.selectSingle(pageid,"index",null); if (indexTriple==null) indexTriple=query.selectSingle(pageid,"Property:Property_index",null); if (indexTriple!=null) index=indexTriple.getObject().toString(); Triple sortPosTriple=query.selectSingle(pageid,"sortPos",null); if (sortPosTriple==null) sortPosTriple=query.selectSingle(pageid,"Property:Property_sortPos",null); if (sortPosTriple!=null) sortPos=sortPosTriple.getObject().toString(); Triple primaryKeyTriple=query.selectSingle(pageid,"primaryKey",null); if (primaryKeyTriple==null) primaryKeyTriple=query.selectSingle(pageid,"Property:Property_primaryKey",null); if (primaryKeyTriple!=null) primaryKey=primaryKeyTriple.getObject().toString(); Triple mandatoryTriple=query.selectSingle(pageid,"mandatory",null); if (mandatoryTriple==null) mandatoryTriple=query.selectSingle(pageid,"Property:Property_mandatory",null); if (mandatoryTriple!=null) mandatory=mandatoryTriple.getObject().toString(); Triple namespaceTriple=query.selectSingle(pageid,"namespace",null); if (namespaceTriple==null) namespaceTriple=query.selectSingle(pageid,"Property:Property_namespace",null); if (namespaceTriple!=null) namespace=namespaceTriple.getObject().toString(); Triple sizeTriple=query.selectSingle(pageid,"size",null); if (sizeTriple==null) sizeTriple=query.selectSingle(pageid,"Property:Property_size",null); if (sizeTriple!=null) size=sizeTriple.getObject().toString(); Triple uploadableTriple=query.selectSingle(pageid,"uploadable",null); if (uploadableTriple==null) uploadableTriple=query.selectSingle(pageid,"Property:Property_uploadable",null); if (uploadableTriple!=null) uploadable=uploadableTriple.getObject().toString(); Triple defaultValueTriple=query.selectSingle(pageid,"defaultValue",null); if (defaultValueTriple==null) defaultValueTriple=query.selectSingle(pageid,"Property:Property_defaultValue",null); if (defaultValueTriple!=null) defaultValue=defaultValueTriple.getObject().toString(); Triple inputTypeTriple=query.selectSingle(pageid,"inputType",null); if (inputTypeTriple==null) inputTypeTriple=query.selectSingle(pageid,"Property:Property_inputType",null); if (inputTypeTriple!=null) inputType=inputTypeTriple.getObject().toString(); Triple allowedValuesTriple=query.selectSingle(pageid,"allowedValues",null); if (allowedValuesTriple==null) allowedValuesTriple=query.selectSingle(pageid,"Property:Property_allowedValues",null); if (allowedValuesTriple!=null) allowedValues=allowedValuesTriple.getObject().toString(); Triple documentationTriple=query.selectSingle(pageid,"documentation",null); if (documentationTriple==null) documentationTriple=query.selectSingle(pageid,"Property:Property_documentation",null); if (documentationTriple!=null) documentation=documentationTriple.getObject().toString(); Triple values_fromTriple=query.selectSingle(pageid,"values_from",null); if (values_fromTriple==null) values_fromTriple=query.selectSingle(pageid,"Property:Property_values_from",null); if (values_fromTriple!=null) values_from=values_fromTriple.getObject().toString(); Triple showInGridTriple=query.selectSingle(pageid,"showInGrid",null); if (showInGridTriple==null) showInGridTriple=query.selectSingle(pageid,"Property:Property_showInGrid",null); if (showInGridTriple!=null) showInGrid=showInGridTriple.getObject().toString(); Triple isLinkTriple=query.selectSingle(pageid,"isLink",null); if (isLinkTriple==null) isLinkTriple=query.selectSingle(pageid,"Property:Property_isLink",null); if (isLinkTriple!=null) isLink=isLinkTriple.getObject().toString(); Triple nullableTriple=query.selectSingle(pageid,"nullable",null); if (nullableTriple==null) nullableTriple=query.selectSingle(pageid,"Property:Property_nullable",null); if (nullableTriple!=null) nullable=nullableTriple.getObject().toString(); Triple topicTriple=query.selectSingle(pageid,"topic",null); if (topicTriple==null) topicTriple=query.selectSingle(pageid,"Property:Property_topic",null); if (topicTriple!=null) topic=topicTriple.getObject().toString(); init(query); } // constructor for Property // >>>{user defined topic code}{Property}{Property} // <<<{user defined topic code}{Property}{Property} } // class Property /** * Manager for Property */ public static class PropertyManager extends TopicBase { public String topicName="Property"; public transient List<Property> mPropertys=new ArrayList<Property>(); public transient Map<String,Property> mPropertyMap=new LinkedHashMap<String,Property>();
/** * get my Properties */ public List<Property> getProperties() { List<Property> result=this.mPropertys; return result; }
/** * add a new Property */ public Property add(Property pProperty) { mPropertys.add(pProperty); mPropertyMap.put(pProperty.getPageid(),pProperty); return pProperty; }
/** * add a new Property from the given triple */ public Property add(TripleQuery query,Triple pPropertyTriple) { Property lProperty=new Property(query,pPropertyTriple); add(lProperty); return lProperty; }
// reinitialize my mProperty map public void reinit() { mPropertyMap.clear(); for (Property lProperty:mPropertys) { mPropertyMap.put(lProperty.getPageid(),lProperty); } }
// convert this manager to json format public String toJson() { return JSON.toJSONString(this); } // get a new manager from the given json string public static PropertyManager fromJson(String json) { PropertyManager result=JSON.parseObject(json, PropertyManager.class); result.reinit(); return result; }
// default constructor for Property Manager public PropertyManager() {}
// add Properties from the given query public void addProperties(TripleQuery pPropertyQuery,TripleQuery query) { if (pPropertyQuery!=null) { for (Triple lPropertyTriple:pPropertyQuery.getTriples()) { add(query,lPropertyTriple); } } }
// construct me from the given triple Query query public PropertyManager(TripleQuery query) { // first query the SiDIF bases triplestore TripleQuery lPropertyQuery=query.query(null,"isA","Property"); addProperties(lPropertyQuery,query); // then the SMW triplestore lPropertyQuery=query.query(null,"Property:IsA","Property"); addProperties(lPropertyQuery,query); init(query); } // constructor for Property Manager // >>>{user defined topicmanager code}{Property}{Property} // <<<{user defined topicmanager code}{Property}{Property} } // class Property Manager /** * SMW_Type * an SMW_Type is a data type which determines the possible values for that type e.g. a Boolean can hold true/fals values while a Number can hold 3.1459 or 20. A Page can hold the name of a Wiki page see https://semantic-mediawiki.org/wiki/Help:List_of_datatypes */ public static class SMW_Type extends TopicBase { public String type; public String documentation; public String helppage; public String typepage; public String javaType; public String usedByProperties;
public String getType() { return type; } public void setType(String pType) { type=pType; } public String getDocumentation() { return documentation; } public void setDocumentation(String pDocumentation) { documentation=pDocumentation; } public String getHelppage() { return helppage; } public void setHelppage(String pHelppage) { helppage=pHelppage; } public String getTypepage() { return typepage; } public void setTypepage(String pTypepage) { typepage=pTypepage; } public String getJavaType() { return javaType; } public void setJavaType(String pJavaType) { javaType=pJavaType; } public String getUsedByProperties() { return usedByProperties; } public void setUsedByProperties(String pUsedByProperties) { usedByProperties=pUsedByProperties; } /** * convert this SMW_Type to a JSON string */ public String toJson() { return JSON.toJSONString(this); }
/** * convert this SMW_Type to a WikiSon string */ public String toWikiSon() { String wikison= "{{SMW_Type\n"; wikison+=toWikiSon("type",type); wikison+=toWikiSon("documentation",documentation); wikison+=toWikiSon("helppage",helppage); wikison+=toWikiSon("typepage",typepage); wikison+=toWikiSon("javaType",javaType); wikison+=toWikiSon("usedByProperties",usedByProperties); wikison+="}}\n"; return wikison; } /** * get the pageid for this topic */ public String getPageid() { return pageid; };
/** * default constructor for SMW_Type */ public SMW_Type() {}
/** * construct a SMW_Type from the given Triple * @param query - the TripleQuery to get the triples from * @param pSMW_TypeTriple - the triple to construct me from */ public SMW_Type(TripleQuery query,Triple pSMW_TypeTriple) { this(query,pSMW_TypeTriple.getSubject().toString()); } // constructor
/** * construct a SMW_Type from the given pageId * @param query - the TripleQuery to get the triples from * @param pageid - pageid */ public SMW_Type(TripleQuery query,String pageid) { this.pageid=pageid; Triple typeTriple=query.selectSingle(pageid,"type",null); if (typeTriple==null) typeTriple=query.selectSingle(pageid,"Property:SMW_Type_type",null); if (typeTriple!=null) type=typeTriple.getObject().toString(); Triple documentationTriple=query.selectSingle(pageid,"documentation",null); if (documentationTriple==null) documentationTriple=query.selectSingle(pageid,"Property:SMW_Type_documentation",null); if (documentationTriple!=null) documentation=documentationTriple.getObject().toString(); Triple helppageTriple=query.selectSingle(pageid,"helppage",null); if (helppageTriple==null) helppageTriple=query.selectSingle(pageid,"Property:SMW_Type_helppage",null); if (helppageTriple!=null) helppage=helppageTriple.getObject().toString(); Triple typepageTriple=query.selectSingle(pageid,"typepage",null); if (typepageTriple==null) typepageTriple=query.selectSingle(pageid,"Property:SMW_Type_typepage",null); if (typepageTriple!=null) typepage=typepageTriple.getObject().toString(); Triple javaTypeTriple=query.selectSingle(pageid,"javaType",null); if (javaTypeTriple==null) javaTypeTriple=query.selectSingle(pageid,"Property:SMW_Type_javaType",null); if (javaTypeTriple!=null) javaType=javaTypeTriple.getObject().toString(); Triple usedByPropertiesTriple=query.selectSingle(pageid,"usedByProperties",null); if (usedByPropertiesTriple==null) usedByPropertiesTriple=query.selectSingle(pageid,"Property:SMW_Type_usedByProperties",null); if (usedByPropertiesTriple!=null) usedByProperties=usedByPropertiesTriple.getObject().toString(); init(query); } // constructor for SMW_Type // >>>{user defined topic code}{SMW_Type}{SMW_Type} // <<<{user defined topic code}{SMW_Type}{SMW_Type} } // class SMW_Type /** * Manager for SMW_Type */ public static class SMW_TypeManager extends TopicBase { public String topicName="SMW_Type"; public transient List<SMW_Type> mSMW_Types=new ArrayList<SMW_Type>(); public transient Map<String,SMW_Type> mSMW_TypeMap=new LinkedHashMap<String,SMW_Type>();
/** * get my SMW_Types */ public List<SMW_Type> getSMW_Types() { List<SMW_Type> result=this.mSMW_Types; return result; }
/** * add a new SMW_Type */ public SMW_Type add(SMW_Type pSMW_Type) { mSMW_Types.add(pSMW_Type); mSMW_TypeMap.put(pSMW_Type.getPageid(),pSMW_Type); return pSMW_Type; }
/** * add a new SMW_Type from the given triple */ public SMW_Type add(TripleQuery query,Triple pSMW_TypeTriple) { SMW_Type lSMW_Type=new SMW_Type(query,pSMW_TypeTriple); add(lSMW_Type); return lSMW_Type; }
// reinitialize my mSMW_Type map public void reinit() { mSMW_TypeMap.clear(); for (SMW_Type lSMW_Type:mSMW_Types) { mSMW_TypeMap.put(lSMW_Type.getPageid(),lSMW_Type); } }
// convert this manager to json format public String toJson() { return JSON.toJSONString(this); } // get a new manager from the given json string public static SMW_TypeManager fromJson(String json) { SMW_TypeManager result=JSON.parseObject(json, SMW_TypeManager.class); result.reinit(); return result; }
// default constructor for SMW_Type Manager public SMW_TypeManager() {}
// add SMW_Types from the given query public void addSMW_Types(TripleQuery pSMW_TypeQuery,TripleQuery query) { if (pSMW_TypeQuery!=null) { for (Triple lSMW_TypeTriple:pSMW_TypeQuery.getTriples()) { add(query,lSMW_TypeTriple); } } }
// construct me from the given triple Query query public SMW_TypeManager(TripleQuery query) { // first query the SiDIF bases triplestore TripleQuery lSMW_TypeQuery=query.query(null,"isA","SMW_Type"); addSMW_Types(lSMW_TypeQuery,query); // then the SMW triplestore lSMW_TypeQuery=query.query(null,"Property:IsA","SMW_Type"); addSMW_Types(lSMW_TypeQuery,query); init(query); } // constructor for SMW_Type Manager // >>>{user defined topicmanager code}{SMW_Type}{SMW_Type} // <<<{user defined topicmanager code}{SMW_Type}{SMW_Type} } // class SMW_Type Manager /** * Topic * A Topic is a Concept/Class/Thing/Entity */ public static class Topic extends TopicBase { public String name; public String pluralName; public String icon; public String iconUrl; public String documentation; public String wikiDocumentation; public String defaultstoremode; public String listLimit; public String cargo; public String headerTabs; public String context;
public String getName() { return name; } public void setName(String pName) { name=pName; } public String getPluralName() { return pluralName; } public void setPluralName(String pPluralName) { pluralName=pPluralName; } public String getIcon() { return icon; } public void setIcon(String pIcon) { icon=pIcon; } public String getIconUrl() { return iconUrl; } public void setIconUrl(String pIconUrl) { iconUrl=pIconUrl; } public String getDocumentation() { return documentation; } public void setDocumentation(String pDocumentation) { documentation=pDocumentation; } public String getWikiDocumentation() { return wikiDocumentation; } public void setWikiDocumentation(String pWikiDocumentation) { wikiDocumentation=pWikiDocumentation; } public String getDefaultstoremode() { return defaultstoremode; } public void setDefaultstoremode(String pDefaultstoremode) { defaultstoremode=pDefaultstoremode; } public String getListLimit() { return listLimit; } public void setListLimit(String pListLimit) { listLimit=pListLimit; } public String getCargo() { return cargo; } public void setCargo(String pCargo) { cargo=pCargo; } public String getHeaderTabs() { return headerTabs; } public void setHeaderTabs(String pHeaderTabs) { headerTabs=pHeaderTabs; } public String getContext() { return context; } public void setContext(String pContext) { context=pContext; } /** * convert this Topic to a JSON string */ public String toJson() { return JSON.toJSONString(this); }
/** * convert this Topic to a WikiSon string */ public String toWikiSon() { String wikison= "{{Topic\n"; wikison+=toWikiSon("name",name); wikison+=toWikiSon("pluralName",pluralName); wikison+=toWikiSon("icon",icon); wikison+=toWikiSon("iconUrl",iconUrl); wikison+=toWikiSon("documentation",documentation); wikison+=toWikiSon("wikiDocumentation",wikiDocumentation); wikison+=toWikiSon("defaultstoremode",defaultstoremode); wikison+=toWikiSon("listLimit",listLimit); wikison+=toWikiSon("cargo",cargo); wikison+=toWikiSon("headerTabs",headerTabs); wikison+=toWikiSon("context",context); wikison+="}}\n"; return wikison; } /** * get the pageid for this topic */ public String getPageid() { return pageid; };
/** * default constructor for Topic */ public Topic() {}
/** * construct a Topic from the given Triple * @param query - the TripleQuery to get the triples from * @param pTopicTriple - the triple to construct me from */ public Topic(TripleQuery query,Triple pTopicTriple) { this(query,pTopicTriple.getSubject().toString()); } // constructor
/** * construct a Topic from the given pageId * @param query - the TripleQuery to get the triples from * @param pageid - pageid */ public Topic(TripleQuery query,String pageid) { this.pageid=pageid; Triple nameTriple=query.selectSingle(pageid,"name",null); if (nameTriple==null) nameTriple=query.selectSingle(pageid,"Property:Topic_name",null); if (nameTriple!=null) name=nameTriple.getObject().toString(); Triple pluralNameTriple=query.selectSingle(pageid,"pluralName",null); if (pluralNameTriple==null) pluralNameTriple=query.selectSingle(pageid,"Property:Topic_pluralName",null); if (pluralNameTriple!=null) pluralName=pluralNameTriple.getObject().toString(); Triple iconTriple=query.selectSingle(pageid,"icon",null); if (iconTriple==null) iconTriple=query.selectSingle(pageid,"Property:Topic_icon",null); if (iconTriple!=null) icon=iconTriple.getObject().toString(); Triple iconUrlTriple=query.selectSingle(pageid,"iconUrl",null); if (iconUrlTriple==null) iconUrlTriple=query.selectSingle(pageid,"Property:Topic_iconUrl",null); if (iconUrlTriple!=null) iconUrl=iconUrlTriple.getObject().toString(); Triple documentationTriple=query.selectSingle(pageid,"documentation",null); if (documentationTriple==null) documentationTriple=query.selectSingle(pageid,"Property:Topic_documentation",null); if (documentationTriple!=null) documentation=documentationTriple.getObject().toString(); Triple wikiDocumentationTriple=query.selectSingle(pageid,"wikiDocumentation",null); if (wikiDocumentationTriple==null) wikiDocumentationTriple=query.selectSingle(pageid,"Property:Topic_wikiDocumentation",null); if (wikiDocumentationTriple!=null) wikiDocumentation=wikiDocumentationTriple.getObject().toString(); Triple defaultstoremodeTriple=query.selectSingle(pageid,"defaultstoremode",null); if (defaultstoremodeTriple==null) defaultstoremodeTriple=query.selectSingle(pageid,"Property:Topic_defaultstoremode",null); if (defaultstoremodeTriple!=null) defaultstoremode=defaultstoremodeTriple.getObject().toString(); Triple listLimitTriple=query.selectSingle(pageid,"listLimit",null); if (listLimitTriple==null) listLimitTriple=query.selectSingle(pageid,"Property:Topic_listLimit",null); if (listLimitTriple!=null) listLimit=listLimitTriple.getObject().toString(); Triple cargoTriple=query.selectSingle(pageid,"cargo",null); if (cargoTriple==null) cargoTriple=query.selectSingle(pageid,"Property:Topic_cargo",null); if (cargoTriple!=null) cargo=cargoTriple.getObject().toString(); Triple headerTabsTriple=query.selectSingle(pageid,"headerTabs",null); if (headerTabsTriple==null) headerTabsTriple=query.selectSingle(pageid,"Property:Topic_headerTabs",null); if (headerTabsTriple!=null) headerTabs=headerTabsTriple.getObject().toString(); Triple contextTriple=query.selectSingle(pageid,"context",null); if (contextTriple==null) contextTriple=query.selectSingle(pageid,"Property:Topic_context",null); if (contextTriple!=null) context=contextTriple.getObject().toString(); init(query); } // constructor for Topic // >>>{user defined topic code}{Topic}{Topic} // <<<{user defined topic code}{Topic}{Topic} } // class Topic /** * Manager for Topic */ public static class TopicManager extends TopicBase { public String topicName="Topic"; public transient List<Topic> mTopics=new ArrayList<Topic>(); public transient Map<String,Topic> mTopicMap=new LinkedHashMap<String,Topic>();
/** * get my Topics */ public List<Topic> getTopics() { List<Topic> result=this.mTopics; return result; }
/** * add a new Topic */ public Topic add(Topic pTopic) { mTopics.add(pTopic); mTopicMap.put(pTopic.getPageid(),pTopic); return pTopic; }
/** * add a new Topic from the given triple */ public Topic add(TripleQuery query,Triple pTopicTriple) { Topic lTopic=new Topic(query,pTopicTriple); add(lTopic); return lTopic; }
// reinitialize my mTopic map public void reinit() { mTopicMap.clear(); for (Topic lTopic:mTopics) { mTopicMap.put(lTopic.getPageid(),lTopic); } }
// convert this manager to json format public String toJson() { return JSON.toJSONString(this); } // get a new manager from the given json string public static TopicManager fromJson(String json) { TopicManager result=JSON.parseObject(json, TopicManager.class); result.reinit(); return result; }
// default constructor for Topic Manager public TopicManager() {}
// add Topics from the given query public void addTopics(TripleQuery pTopicQuery,TripleQuery query) { if (pTopicQuery!=null) { for (Triple lTopicTriple:pTopicQuery.getTriples()) { add(query,lTopicTriple); } } }
// construct me from the given triple Query query public TopicManager(TripleQuery query) { // first query the SiDIF bases triplestore TripleQuery lTopicQuery=query.query(null,"isA","Topic"); addTopics(lTopicQuery,query); // then the SMW triplestore lTopicQuery=query.query(null,"Property:IsA","Topic"); addTopics(lTopicQuery,query); init(query); } // constructor for Topic Manager // >>>{user defined topicmanager code}{Topic}{Topic} // <<<{user defined topicmanager code}{Topic}{Topic} } // class Topic Manager /** * Action * An action/function/operation to be performed */ public static class Action extends TopicBase { public String name; public String servicetype; public String service; public String inputtype; public String input; public String actionpage; public String output; public String engine; public String author; public String since; public String comment;
public String getName() { return name; } public void setName(String pName) { name=pName; } public String getServicetype() { return servicetype; } public void setServicetype(String pServicetype) { servicetype=pServicetype; } public String getService() { return service; } public void setService(String pService) { service=pService; } public String getInputtype() { return inputtype; } public void setInputtype(String pInputtype) { inputtype=pInputtype; } public String getInput() { return input; } public void setInput(String pInput) { input=pInput; } public String getActionpage() { return actionpage; } public void setActionpage(String pActionpage) { actionpage=pActionpage; } public String getOutput() { return output; } public void setOutput(String pOutput) { output=pOutput; } public String getEngine() { return engine; } public void setEngine(String pEngine) { engine=pEngine; } public String getAuthor() { return author; } public void setAuthor(String pAuthor) { author=pAuthor; } public String getSince() { return since; } public void setSince(String pSince) { since=pSince; } public String getComment() { return comment; } public void setComment(String pComment) { comment=pComment; } /** * convert this Action to a JSON string */ public String toJson() { return JSON.toJSONString(this); }
/** * convert this Action to a WikiSon string */ public String toWikiSon() { String wikison= "{{Action\n"; wikison+=toWikiSon("name",name); wikison+=toWikiSon("servicetype",servicetype); wikison+=toWikiSon("service",service); wikison+=toWikiSon("inputtype",inputtype); wikison+=toWikiSon("input",input); wikison+=toWikiSon("actionpage",actionpage); wikison+=toWikiSon("output",output); wikison+=toWikiSon("engine",engine); wikison+=toWikiSon("author",author); wikison+=toWikiSon("since",since); wikison+=toWikiSon("comment",comment); wikison+="}}\n"; return wikison; } /** * get the pageid for this topic */ public String getPageid() { return pageid; };
/** * default constructor for Action */ public Action() {}
/** * construct a Action from the given Triple * @param query - the TripleQuery to get the triples from * @param pActionTriple - the triple to construct me from */ public Action(TripleQuery query,Triple pActionTriple) { this(query,pActionTriple.getSubject().toString()); } // constructor
/** * construct a Action from the given pageId * @param query - the TripleQuery to get the triples from * @param pageid - pageid */ public Action(TripleQuery query,String pageid) { this.pageid=pageid; Triple nameTriple=query.selectSingle(pageid,"name",null); if (nameTriple==null) nameTriple=query.selectSingle(pageid,"Property:Action_name",null); if (nameTriple!=null) name=nameTriple.getObject().toString(); Triple servicetypeTriple=query.selectSingle(pageid,"servicetype",null); if (servicetypeTriple==null) servicetypeTriple=query.selectSingle(pageid,"Property:Action_servicetype",null); if (servicetypeTriple!=null) servicetype=servicetypeTriple.getObject().toString(); Triple serviceTriple=query.selectSingle(pageid,"service",null); if (serviceTriple==null) serviceTriple=query.selectSingle(pageid,"Property:Action_service",null); if (serviceTriple!=null) service=serviceTriple.getObject().toString(); Triple inputtypeTriple=query.selectSingle(pageid,"inputtype",null); if (inputtypeTriple==null) inputtypeTriple=query.selectSingle(pageid,"Property:Action_inputtype",null); if (inputtypeTriple!=null) inputtype=inputtypeTriple.getObject().toString(); Triple inputTriple=query.selectSingle(pageid,"input",null); if (inputTriple==null) inputTriple=query.selectSingle(pageid,"Property:Action_input",null); if (inputTriple!=null) input=inputTriple.getObject().toString(); Triple actionpageTriple=query.selectSingle(pageid,"actionpage",null); if (actionpageTriple==null) actionpageTriple=query.selectSingle(pageid,"Property:Action_actionpage",null); if (actionpageTriple!=null) actionpage=actionpageTriple.getObject().toString(); Triple outputTriple=query.selectSingle(pageid,"output",null); if (outputTriple==null) outputTriple=query.selectSingle(pageid,"Property:Action_output",null); if (outputTriple!=null) output=outputTriple.getObject().toString(); Triple engineTriple=query.selectSingle(pageid,"engine",null); if (engineTriple==null) engineTriple=query.selectSingle(pageid,"Property:Action_engine",null); if (engineTriple!=null) engine=engineTriple.getObject().toString(); Triple authorTriple=query.selectSingle(pageid,"author",null); if (authorTriple==null) authorTriple=query.selectSingle(pageid,"Property:Action_author",null); if (authorTriple!=null) author=authorTriple.getObject().toString(); Triple sinceTriple=query.selectSingle(pageid,"since",null); if (sinceTriple==null) sinceTriple=query.selectSingle(pageid,"Property:Action_since",null); if (sinceTriple!=null) since=sinceTriple.getObject().toString(); Triple commentTriple=query.selectSingle(pageid,"comment",null); if (commentTriple==null) commentTriple=query.selectSingle(pageid,"Property:Action_comment",null); if (commentTriple!=null) comment=commentTriple.getObject().toString(); init(query); } // constructor for Action // >>>{user defined topic code}{Action}{Action} // <<<{user defined topic code}{Action}{Action} } // class Action /** * Manager for Action */ public static class ActionManager extends TopicBase { public String topicName="Action"; public transient List<Action> mActions=new ArrayList<Action>(); public transient Map<String,Action> mActionMap=new LinkedHashMap<String,Action>();
/** * get my Actions */ public List<Action> getActions() { List<Action> result=this.mActions; return result; }
/** * add a new Action */ public Action add(Action pAction) { mActions.add(pAction); mActionMap.put(pAction.getPageid(),pAction); return pAction; }
/** * add a new Action from the given triple */ public Action add(TripleQuery query,Triple pActionTriple) { Action lAction=new Action(query,pActionTriple); add(lAction); return lAction; }
// reinitialize my mAction map public void reinit() { mActionMap.clear(); for (Action lAction:mActions) { mActionMap.put(lAction.getPageid(),lAction); } }
// convert this manager to json format public String toJson() { return JSON.toJSONString(this); } // get a new manager from the given json string public static ActionManager fromJson(String json) { ActionManager result=JSON.parseObject(json, ActionManager.class); result.reinit(); return result; }
// default constructor for Action Manager public ActionManager() {}
// add Actions from the given query public void addActions(TripleQuery pActionQuery,TripleQuery query) { if (pActionQuery!=null) { for (Triple lActionTriple:pActionQuery.getTriples()) { add(query,lActionTriple); } } }
// construct me from the given triple Query query public ActionManager(TripleQuery query) { // first query the SiDIF bases triplestore TripleQuery lActionQuery=query.query(null,"isA","Action"); addActions(lActionQuery,query); // then the SMW triplestore lActionQuery=query.query(null,"Property:IsA","Action"); addActions(lActionQuery,query); init(query); } // constructor for Action Manager // >>>{user defined topicmanager code}{Action}{Action} // <<<{user defined topicmanager code}{Action}{Action} } // class Action Manager /** * TopicLink * A TopicLink links two Concepts */ public static class TopicLink extends TopicBase { public String name; public String source; public String sourceRole; public String sourceMultiple; public String sourceDocumentation; public String target; public String targetRole; public String targetMultiple; public String targetDocumentation; public String masterDetail;
public String getName() { return name; } public void setName(String pName) { name=pName; } public String getSource() { return source; } public void setSource(String pSource) { source=pSource; } public String getSourceRole() { return sourceRole; } public void setSourceRole(String pSourceRole) { sourceRole=pSourceRole; } public String getSourceMultiple() { return sourceMultiple; } public void setSourceMultiple(String pSourceMultiple) { sourceMultiple=pSourceMultiple; } public String getSourceDocumentation() { return sourceDocumentation; } public void setSourceDocumentation(String pSourceDocumentation) { sourceDocumentation=pSourceDocumentation; } public String getTarget() { return target; } public void setTarget(String pTarget) { target=pTarget; } public String getTargetRole() { return targetRole; } public void setTargetRole(String pTargetRole) { targetRole=pTargetRole; } public String getTargetMultiple() { return targetMultiple; } public void setTargetMultiple(String pTargetMultiple) { targetMultiple=pTargetMultiple; } public String getTargetDocumentation() { return targetDocumentation; } public void setTargetDocumentation(String pTargetDocumentation) { targetDocumentation=pTargetDocumentation; } public String getMasterDetail() { return masterDetail; } public void setMasterDetail(String pMasterDetail) { masterDetail=pMasterDetail; } /** * convert this TopicLink to a JSON string */ public String toJson() { return JSON.toJSONString(this); }
/** * convert this TopicLink to a WikiSon string */ public String toWikiSon() { String wikison= "{{TopicLink\n"; wikison+=toWikiSon("name",name); wikison+=toWikiSon("source",source); wikison+=toWikiSon("sourceRole",sourceRole); wikison+=toWikiSon("sourceMultiple",sourceMultiple); wikison+=toWikiSon("sourceDocumentation",sourceDocumentation); wikison+=toWikiSon("target",target); wikison+=toWikiSon("targetRole",targetRole); wikison+=toWikiSon("targetMultiple",targetMultiple); wikison+=toWikiSon("targetDocumentation",targetDocumentation); wikison+=toWikiSon("masterDetail",masterDetail); wikison+="}}\n"; return wikison; } /** * get the pageid for this topic */ public String getPageid() { return pageid; };
/** * default constructor for TopicLink */ public TopicLink() {}
/** * construct a TopicLink from the given Triple * @param query - the TripleQuery to get the triples from * @param pTopicLinkTriple - the triple to construct me from */ public TopicLink(TripleQuery query,Triple pTopicLinkTriple) { this(query,pTopicLinkTriple.getSubject().toString()); } // constructor
/** * construct a TopicLink from the given pageId * @param query - the TripleQuery to get the triples from * @param pageid - pageid */ public TopicLink(TripleQuery query,String pageid) { this.pageid=pageid; Triple nameTriple=query.selectSingle(pageid,"name",null); if (nameTriple==null) nameTriple=query.selectSingle(pageid,"Property:TopicLink_name",null); if (nameTriple!=null) name=nameTriple.getObject().toString(); Triple sourceTriple=query.selectSingle(pageid,"source",null); if (sourceTriple==null) sourceTriple=query.selectSingle(pageid,"Property:TopicLink_source",null); if (sourceTriple!=null) source=sourceTriple.getObject().toString(); Triple sourceRoleTriple=query.selectSingle(pageid,"sourceRole",null); if (sourceRoleTriple==null) sourceRoleTriple=query.selectSingle(pageid,"Property:TopicLink_sourceRole",null); if (sourceRoleTriple!=null) sourceRole=sourceRoleTriple.getObject().toString(); Triple sourceMultipleTriple=query.selectSingle(pageid,"sourceMultiple",null); if (sourceMultipleTriple==null) sourceMultipleTriple=query.selectSingle(pageid,"Property:TopicLink_sourceMultiple",null); if (sourceMultipleTriple!=null) sourceMultiple=sourceMultipleTriple.getObject().toString(); Triple sourceDocumentationTriple=query.selectSingle(pageid,"sourceDocumentation",null); if (sourceDocumentationTriple==null) sourceDocumentationTriple=query.selectSingle(pageid,"Property:TopicLink_sourceDocumentation",null); if (sourceDocumentationTriple!=null) sourceDocumentation=sourceDocumentationTriple.getObject().toString(); Triple targetTriple=query.selectSingle(pageid,"target",null); if (targetTriple==null) targetTriple=query.selectSingle(pageid,"Property:TopicLink_target",null); if (targetTriple!=null) target=targetTriple.getObject().toString(); Triple targetRoleTriple=query.selectSingle(pageid,"targetRole",null); if (targetRoleTriple==null) targetRoleTriple=query.selectSingle(pageid,"Property:TopicLink_targetRole",null); if (targetRoleTriple!=null) targetRole=targetRoleTriple.getObject().toString(); Triple targetMultipleTriple=query.selectSingle(pageid,"targetMultiple",null); if (targetMultipleTriple==null) targetMultipleTriple=query.selectSingle(pageid,"Property:TopicLink_targetMultiple",null); if (targetMultipleTriple!=null) targetMultiple=targetMultipleTriple.getObject().toString(); Triple targetDocumentationTriple=query.selectSingle(pageid,"targetDocumentation",null); if (targetDocumentationTriple==null) targetDocumentationTriple=query.selectSingle(pageid,"Property:TopicLink_targetDocumentation",null); if (targetDocumentationTriple!=null) targetDocumentation=targetDocumentationTriple.getObject().toString(); Triple masterDetailTriple=query.selectSingle(pageid,"masterDetail",null); if (masterDetailTriple==null) masterDetailTriple=query.selectSingle(pageid,"Property:TopicLink_masterDetail",null); if (masterDetailTriple!=null) masterDetail=masterDetailTriple.getObject().toString(); init(query); } // constructor for TopicLink // >>>{user defined topic code}{TopicLink}{TopicLink} // <<<{user defined topic code}{TopicLink}{TopicLink} } // class TopicLink /** * Manager for TopicLink */ public static class TopicLinkManager extends TopicBase { public String topicName="TopicLink"; public transient List<TopicLink> mTopicLinks=new ArrayList<TopicLink>(); public transient Map<String,TopicLink> mTopicLinkMap=new LinkedHashMap<String,TopicLink>();
/** * get my TopicLinks */ public List<TopicLink> getTopicLinks() { List<TopicLink> result=this.mTopicLinks; return result; }
/** * add a new TopicLink */ public TopicLink add(TopicLink pTopicLink) { mTopicLinks.add(pTopicLink); mTopicLinkMap.put(pTopicLink.getPageid(),pTopicLink); return pTopicLink; }
/** * add a new TopicLink from the given triple */ public TopicLink add(TripleQuery query,Triple pTopicLinkTriple) { TopicLink lTopicLink=new TopicLink(query,pTopicLinkTriple); add(lTopicLink); return lTopicLink; }
// reinitialize my mTopicLink map public void reinit() { mTopicLinkMap.clear(); for (TopicLink lTopicLink:mTopicLinks) { mTopicLinkMap.put(lTopicLink.getPageid(),lTopicLink); } }
// convert this manager to json format public String toJson() { return JSON.toJSONString(this); } // get a new manager from the given json string public static TopicLinkManager fromJson(String json) { TopicLinkManager result=JSON.parseObject(json, TopicLinkManager.class); result.reinit(); return result; }
// default constructor for TopicLink Manager public TopicLinkManager() {}
// add TopicLinks from the given query public void addTopicLinks(TripleQuery pTopicLinkQuery,TripleQuery query) { if (pTopicLinkQuery!=null) { for (Triple lTopicLinkTriple:pTopicLinkQuery.getTriples()) { add(query,lTopicLinkTriple); } } }
// construct me from the given triple Query query public TopicLinkManager(TripleQuery query) { // first query the SiDIF bases triplestore TripleQuery lTopicLinkQuery=query.query(null,"isA","TopicLink"); addTopicLinks(lTopicLinkQuery,query); // then the SMW triplestore lTopicLinkQuery=query.query(null,"Property:IsA","TopicLink"); addTopicLinks(lTopicLinkQuery,query); init(query); } // constructor for TopicLink Manager // >>>{user defined topicmanager code}{TopicLink}{TopicLink} // <<<{user defined topicmanager code}{TopicLink}{TopicLink} } // class TopicLink Manager
}