亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? daml_s_renderer.java

?? 人工智能中Agent開發(fā)包。多 Agent 系統(tǒng)是處理自治 Agent 之間知識層的協(xié)作問題
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
package zeus.ontology.service;

import zeus.actors.AgentContext;
import zeus.concepts.OntologyDb;
import zeus.concepts.Task;
import zeus.concepts.Fact;
import zeus.concepts.Restriction;

import java.util.Iterator;
import java.util.List;
import java.util.HashMap;

public class DAML_S_Renderer
  implements InstanceRenderer, ProfileRenderer, ProcessRenderer {

  //Toggles whether to use subclass of Service methodology or schema
  //route.
  public final static boolean SUBCLASS = true;

  private HashMap namespaces;

  private final static String processPrefix = "procmod";
  private final static String profilePrefix = "servprof";
  private final static String instanceRangePrefix = "range";
  private final static String ontologyPrefix = "ont";

  public DAML_S_Renderer() {

    namespaces = new HashMap();

    namespaces.put("rdf", "http://www.w3.org/1999/02/22-rdf-syntax-ns");
    namespaces.put("rdfs", "http://www.w3.org/2000/01/rdf-schema");
    namespaces.put("daml", "http://www.daml.org/2001/03/daml+oil");
    namespaces.put("process",
		   "http://www.daml.org/services/daml-s/0.7/Process");
    namespaces.put("service",
		   "http://www.daml.org/services/daml-s/0.7/Service");
    namespaces.put("profile",
		   "http://www.daml.org/services/daml-s/0.7/Profile");
    namespaces.put("xsd", "http://www.w3.org/2000/10/XMLSchema.xsd");
  }

  /**
   * Insert the XML header, including all the entity definitions.
   */
  private String makeHeader() {

    String output = "<?xml version='1.0' encoding='ISO-8859-1'?>\n" +
      "<!DOCTYPE uridef[\n";

    for(Iterator i = namespaces.keySet().iterator() ; i.hasNext() ; ) {
      String key = (String)i.next();
      output += "  <!ENTITY " + key + " \"" + namespaces.get(key) + "\" >\n";
    }

    output += "]>\n";

    return output;
  }

  /**
   * Begin the RDF item, including all the namespaces.
   */
  private String startRDF() {

    String output = "<rdf:RDF\n";

    for(Iterator i = namespaces.keySet().iterator() ; i.hasNext() ; ) {
      String key = (String)i.next();
      if(key.matches("(?i)default")) {
	output += "  xmlns =\"&default;#\"\n";
      }
      else {
	output += "  xmlns:" + key + "=\"&" + key + ";#\"\n";
      }
    }

    output += ">\n";

    return output;
  }

  /**
   * Render the ontology item, including the imports statements for
   * all referenced files.
   */
  private String makeOntology(String versionInfo) {

    String output = "<daml:ontology rdf:about=\"\" >\n";

    output += "  <daml:versionInfo>" + versionInfo + "</daml:versionInfo>\n";

    for(Iterator i = namespaces.keySet().iterator() ; i.hasNext() ; ) {
      String key = (String)i.next();
      output += "  <daml:imports rdf:resource=\"&" + key + ";\" />\n";
    }

    output += "</daml:ontology>\n\n";

    return output;
  }

  public String renderInstance(Task task, AgentContext context) {

    String instance = context.whoami() + "__" + task.getName();

    String serviceClass;
    String serviceInstance = "";

    if(SUBCLASS) {
      serviceClass = profilePrefix + ":" + task.getName() + "Service";
    }
    else {
      serviceClass = "service:Service";
    }

    namespaces.put(processPrefix, "http://" + context.whereAmI() +
		   "/services/classes/" + task.getName() + "/" +
		   task.getName() + "Process.daml");
    namespaces.put(profilePrefix, "http://" + context.whereAmI() +
		   "/services/classes/" + task.getName() + "/" +
		   task.getName() + "Profile.daml");
    namespaces.put(instanceRangePrefix, "http://" + context.whereAmI() +
		   "/services/instances/" + context.whoami() + "/" +
		   instance + "Range.xsd");
    namespaces.put("default", "http://" + context.whereAmI() +
		   "/services/instances/" + context.whoami() + "/" + instance +
		   "Instance.daml");

    serviceInstance += makeHeader() + startRDF() + makeOntology("");

    serviceInstance += "<" + serviceClass + " rdf:ID=\"" + instance + "\">\n";

    serviceInstance += "  <profile:providedBy>\n";

    String item;

    serviceInstance += "    <profile:ServiceProvider rdf:ID=\"" +
      context.whoami() + "\">\n";

    /* FIXME
    item = info.getProviderName();
    if(item != null && item.length() > 0) {
      serviceInstance += "      <profile:name>" + item
	+ "</profile:name>\n";
    }
    */

    item = task.getPhoneInfo();
    if(item != null && item.length() > 0) {
      serviceInstance += "      <profile:phone>" + item
	+ "</profile:phone>\n";
    }

    item = task.getFaxInfo();
    if(item != null && item.length() > 0) {
      serviceInstance += "      <profile:fax>" + item
	+ "</profile:fax>\n";
    }

    item = task.getEmailInfo();
    if(item != null && item.length() > 0) {
      serviceInstance += "      <profile:email>" + item
	+ "</profile:email>\n";
    }

    item = task.getPhysicalInfo();
    if(item != null && item.length() > 0) {
      serviceInstance += "      <profile:physicalAddress>" +
	item + "</profile:physicalAddress>\n";
    }

    serviceInstance += "      <profile:webURL>" + context.whereAmI()
      + "</profile:webURL>\n";

    serviceInstance += "    </profile:ServiceProvider>\n";
    serviceInstance += "  </profile:providedBy>\n";

    item = task.getGeoInfo();
    if(item != null && item.length() > 0) {
      serviceInstance += "  <profile:geographicRadius>" +
	item + "</profile:geographicRadius>\n";
    }

    serviceInstance += "  <service:presents rdf:resource=\"&" + profilePrefix +
      ";#" + task.getName() + "\" />\n";

    serviceInstance += "  <service:describedBy rdf:resource=\"&" +
      processPrefix + ";#" + task.getName() + "\" />\n";

    if(SUBCLASS) {
      //State instance properties here
      serviceInstance += generateInstanceValues(task);
    }

    serviceInstance += "</" + serviceClass + ">\n";

    if(!SUBCLASS) {
      //Pass restrictions off to range schema
      serviceInstance += generateFactRestrictions(task);
    }

    serviceInstance += "</rdf:RDF>\n";

    return serviceInstance;
  }

  /**
   * Generate the values of certain variables for this instance of the
   * Service subclass.
   */
  private String generateInstanceValues(Task task) {

    String output = "";

    List restrictions = task.getRestrictions();

    for(Iterator i = restrictions.iterator() ; i.hasNext() ; ) {
      Restriction item = (Restriction)i.next();

      output += generateRestriction(lookupFactId(item.getFactName(), task),
				    item.getAttributeName(),
				    item.getRestriction());
    }

    return output;
  }

  /**
   * Translate a single restriction
   */
  private String generateRestriction(String factName, String attributeName,
				     String restriction) {

    String output = "";

    if(restriction.matches(".*\\|.*")) {
      String[] pieces = restriction.split("\\|");
      output += "  <daml:unionOf rdf:parseType=\"daml:collection\">\n";
      for(int index = 0 ; index < pieces.length ; index++ ) {
	output += generateRestriction(factName, attributeName, pieces[index]);
      }
      output += "  </daml:unionOf>\n";
    }
    else if(restriction.matches(".*&.*")) {
      String[] pieces = restriction.split("&");
      for(int index = 0 ; index < pieces.length ; index++ ) {
	output += generateRestriction(factName, attributeName, pieces[index]);
      }
    }
    else if(restriction.matches("((.*<.*)|(.*>.*))")) {
      //Cannot deal with inequality
      return "";
    }
    else {
      restriction = restriction.replaceAll("=", "").trim();

      if(false) {
	output +=
	  "  <" + profilePrefix + ":" + factName + ">\n" +
	  "    <" + profilePrefix + ":" + attributeName + ">" + restriction +
	  "</" + profilePrefix + ":" + attributeName + ">\n" + 
	  "  </" + profilePrefix + ":" + factName + ">\n";
      }
      else {
	output +=
	  "  <" + profilePrefix + ":" + factName + " " + processPrefix + ":" +
	  attributeName + "=\"" + restriction + "\" />\n";
      }
    }

    return output;
  }

  /**
   * Lookup the type of fact behind a particular variable name.
   */
  private String lookupFactId(String factId, Task task) {

      Fact[] facts = task.getPreconditions();
      for(int index = 0 ; index < facts.length ; index++) {
	if(facts[index].getId().equals(factId)) {
	  return facts[index].getType();
	}
      }
 
      facts = task.getPostconditions();
      for(int index = 0 ; index < facts.length ; index++) {
	if(facts[index].getId().equals(factId)) {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91福利社在线观看| 欧美一级二级三级蜜桃| 日本不卡视频一二三区| 欧美一级片在线观看| 午夜视频一区二区| |精品福利一区二区三区| 国产精品中文字幕欧美| 一道本成人在线| 国产精品少妇自拍| 不卡在线观看av| 亚洲国产高清在线| 国产成人免费9x9x人网站视频| 亚洲自拍都市欧美小说| 久久男人中文字幕资源站| 欧美嫩在线观看| 午夜久久久久久| 麻豆高清免费国产一区| 欧美一区二区三区在线观看视频| 国内精品免费在线观看| 91精品国产综合久久精品麻豆| 欧美不卡一二三| 国产一区二区91| 亚洲国产成人在线| 成人国产在线观看| 亚洲精品免费一二三区| 欧美丰满美乳xxx高潮www| 免费成人在线视频观看| 欧美国产日韩精品免费观看| 一本高清dvd不卡在线观看 | 久久久99精品久久| 午夜欧美在线一二页| 国产肉丝袜一区二区| 美女免费视频一区| 国产精品久久久久久久久晋中| 天天综合天天综合色| 精品免费视频.| 91片黄在线观看| 老色鬼精品视频在线观看播放| 欧美系列在线观看| 国产综合久久久久久鬼色| 亚洲欧美视频在线观看视频| 欧美成人精品福利| 欧美综合在线视频| 黑人精品欧美一区二区蜜桃| 一区二区三区精品在线观看| 欧美zozo另类异族| 国产精品久久久久久亚洲毛片| 成人爱爱电影网址| 亚洲精品一区在线观看| 亚洲人吸女人奶水| 91尤物视频在线观看| 成人激情小说乱人伦| 色狠狠色噜噜噜综合网| 国产精品嫩草99a| 国产在线精品国自产拍免费| 欧美日本视频在线| 亚洲第一成人在线| 91精品国产一区二区| 日韩精品亚洲一区| 欧美精品日韩精品| 波多野结衣在线aⅴ中文字幕不卡 波多野结衣在线一区 | 国产欧美精品一区二区色综合| 韩国在线一区二区| 午夜精品成人在线| 一区二区三区在线观看国产| 国产在线国偷精品产拍免费yy| 欧美色窝79yyyycom| 日韩中文字幕av电影| 亚洲人成影院在线观看| 国产精品一卡二卡| 日韩av不卡一区二区| 亚洲黄色av一区| 国产精品久久久久婷婷| 国产日韩一级二级三级| 日韩一区二区三区观看| 99精品欧美一区二区三区综合在线| 久久久久久影视| 91 com成人网| 91传媒视频在线播放| 一本色道久久综合亚洲91| 99久久精品99国产精品 | 日韩欧美国产精品一区| 欧美日韩黄视频| 欧美亚洲高清一区二区三区不卡| 视频一区二区三区入口| 亚洲成人一区在线| 国产精品嫩草影院com| 99精品视频免费在线观看| 国产精品综合在线视频| 国内精品国产成人国产三级粉色 | 日本欧美一区二区在线观看| 一区二区三区欧美日韩| 国产精品成人免费精品自在线观看 | 欧美在线不卡一区| 色婷婷av一区二区三区之一色屋| 香蕉av福利精品导航| 天天色综合天天| 亚洲精品视频一区二区| 亚洲女性喷水在线观看一区| 亚洲欧美国产高清| 亚洲制服丝袜一区| 日韩不卡一区二区三区| 国产一区二区免费在线| 成人爽a毛片一区二区免费| 色视频欧美一区二区三区| 欧美一区二区三区四区在线观看| 国产丝袜在线精品| 六月婷婷色综合| 免费在线看一区| 精品一区二区在线看| 成人一级视频在线观看| 色婷婷精品久久二区二区蜜臂av | 国产91精品欧美| 播五月开心婷婷综合| 欧美日韩精品一区二区三区蜜桃| 国产高清在线精品| 91丨九色丨黑人外教| 欧洲av在线精品| 精品粉嫩超白一线天av| 亚洲欧美综合网| 青青草国产精品亚洲专区无| 国产盗摄精品一区二区三区在线| 麻豆中文一区二区| a级精品国产片在线观看| 在线综合视频播放| 一区二区中文字幕在线| 亚洲gay无套男同| 国产美女一区二区| 在线一区二区视频| 日韩亚洲电影在线| 国产精品日日摸夜夜摸av| 国产美女视频91| 欧美日韩在线精品一区二区三区激情 | 亚洲午夜精品在线| 蜜臂av日日欢夜夜爽一区| av在线不卡电影| 欧美电影免费观看高清完整版在线 | 国产精品伦理在线| 亚洲444eee在线观看| 国产成人啪免费观看软件| 色婷婷国产精品久久包臀 | 久久99久久99| 免费观看30秒视频久久| av成人老司机| 欧美精品一级二级三级| 精品理论电影在线| 亚洲成人免费av| 国产在线播放一区三区四| 成av人片一区二区| 久久久久成人黄色影片| 视频一区二区三区在线| 成人激情av网| 日韩女同互慰一区二区| 一区二区国产盗摄色噜噜| 国产99精品视频| 精品成人佐山爱一区二区| 日韩专区欧美专区| 欧美性猛交xxxx黑人交| 亚洲视频一区在线观看| 高清国产午夜精品久久久久久| 久久精品999| 欧美视频中文一区二区三区在线观看| 91传媒视频在线播放| 国产人成亚洲第一网站在线播放| 国产欧美一区二区三区在线老狼 | 欧美精品123区| ●精品国产综合乱码久久久久| 91亚洲午夜精品久久久久久| 欧美精品一区二区三区在线播放| 国产精品色一区二区三区| 欧美大片日本大片免费观看| 亚洲夂夂婷婷色拍ww47| 日本乱人伦一区| 亚洲影院理伦片| 欧美视频在线不卡| 亚洲电影视频在线| 欧美日韩色综合| 日韩在线观看一区二区| 日韩欧美一级精品久久| 久久疯狂做爰流白浆xx| 久久久777精品电影网影网 | av中文字幕亚洲| 中文字幕一区二区视频| av不卡免费在线观看| 国产欧美一二三区| av电影天堂一区二区在线观看| 在线观看视频一区| 一区二区免费在线播放| 欧美精品vⅰdeose4hd| 日韩福利电影在线| 久久亚洲综合色| 国产一区91精品张津瑜| 国产精品久久久久久福利一牛影视 | 欧美精品日日鲁夜夜添| 亚洲成人免费视| 日韩欧美久久一区| av午夜精品一区二区三区| 亚洲色欲色欲www| 欧美久久久久免费| 国产a视频精品免费观看|