新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     >>W3CHINA.ORG讨论区<<     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> Web服务(Web Services,WS), 语义Web服务(Semantic Web Services, SWS)讨论区: WSDL, SOAP, UDDI, DAML-S, OWL-S, SWSF, SWSL, WSMO, WSML,BPEL, BPEL4WS, WSFL, WS-*,REST, PSL, Pi-calculus(Pi演算), Petri-net,WSRF,
    [返回] W3CHINA.ORG讨论区 - 语义网·描述逻辑·本体·RDF·OWLW3CHINA.ORG讨论区 - Web新技术讨论『 Web Services & Semantic Web Services 』 → OWL-S API(参考DOC文档) -----[经典转贴] 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 16523 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: OWL-S API(参考DOC文档) -----[经典转贴] 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     timothy 帅哥哟,离线,有人找我吗?巨蟹座1982-7-21
      
      
      威望:1
      等级:大四下学期(考上研究生啦!)
      文章:237
      积分:1701
      门派:XML.ORG.CN
      注册:2006/4/4

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给timothy发送一个短消息 把timothy加入好友 查看timothy的个人资料 搜索timothy在『 Web Services & Semantic Web Services 』的所有贴子 点击这里发送电邮给timothy 引用回复这个贴子 回复这个贴子 查看timothy的博客楼主
    发贴心情 OWL-S API(参考DOC文档) -----[经典转贴]

    Maryland 大学计算机系的Evren Sirin 开发。OWL-S API的类库主要建立在Axis, Jena 以及Pellet上。

    Apache Axis 是Apache Web Service项目中的子项目,其最初起源于IBM的"SOAP4J",应该属于最早的一批用于构造基于SOAP应用的Framework。它支持WSDL1.1,可自动由Java Object生成WSDL。

    Jena主要用来处理RDF,主要使用Jena的推理能力从本体推断模型知识。

    Pellet是一个开源的基于JAVA的OWL推理机。

    包中还自带两个jar包形式的java类库,owl-s.jar和upnp.jar。
    该OWL-S API的主要功能如下:
    读/写服务描述:
    OWL-S API中有两个重要的接口:OWLOntology和OWLKnowledgeBase。OWLOntology代表了存储在单个文件中的信息,而OWLKnowledgeBase是许多Ontology的集合。RDF数据可以加载到OWLOntology上,只有OWLOntology对象才能组合起来。OWLKnowledgeBase中只有一个Ontology是用来存储数据的(例如执行之后,新的实例会被加到这个OWLOntology上。

    函数OWLKnowledgeBase.read(URI)从给定的Ontology读取信息,并产生OWLOntology。函数OWLOntology.getService()用来获取ontology中的服务实例。如果有许多服务,则用OWLOntology.getServices()获取。然后,函数OWLKnowledgeBase.readService(URI)以及OWLKnowledgeBase.readServices(URI)将会读取服务。如果函数调用发生错误将会产生null输出。

    函数OWLOntology.write(Writer)可以使包含服务的ontology组合起来。

    这是一个例子:
    // create a URI for the service (note that this is a 0.9 version file)   
        URI uri = new URI("http://www.mindswap.org/2004/owl-s/0.9/ZipCodeFinder.owl");
        // create a KB  
        OWLKnowledgeBase kb = OWLFactory.createKB();

        // create a generic reader and a 1.0 writer
        OWLOntology ont = kb.read(uri);
        
        // get the service
        Service service = ont.getService();
        
        // write the output to console (a file stream can also be used here)
        ont.write(System.out);


    将旧服务描述转换为新描述。

    验证

    缓存Ontology


    执行服务:
    执行服务意味着执行它的process。Process应该有有效的grounding说明,以便有效的调用服务。WSDL和UPnP的grounding由API支持,函数ProcessExecutionEngine.execute(Process, ValueMap)可以执行一个process,ValueMap表示输入的值,这个函数返回输出值。
    举例如下:
      // create an execution engine
        ProcessExecutionEngine exec = OWLSFactory.createExecutionEngine();
        // load the service description
        Service service = kb.readService("http://www.mindswap.org/2004/owl-s/1.0/Dictionary.owl");
        // get the process of the service
        Process process = service.getProcess();

        // create an empty value map
        ValueMap values = new ValueMap();
        
        // set the value of input parameter
        values.setDataValue(process.getInput("InputString"), "computer");    
        // execute the process with the given input bindings
        values = exec.execute(process, values);  
        
        // get the output value as a string
        String outValue = values.getStringValue(process.getOutput());
        
        // display the result
        System.out.println("Output = " + outValue);

    执行跟踪功能:

    当执行复杂的服务时,知道执行的过程是很有用的,ProcessExecutionListener就是为这一目的设计的。ProcessExecutionEngine.addExecutionListener(ProcessExecutionListener)就可以为执行器添加这么一个监听器。

    生成复合过程

    可以用程序产生服务的descriptions, profile或者processes描述。OWLOntology接口实现了这个功能。
    /**
       *
       * Create a new Sequence from the processes of the given services and put them in a new
       * Service.
       *
       * @param services List of Services
       * @param baseURI The base URI for the generated service
       * @return The Service which is a Sequence of the given services
       */
      Service createSequenceService(List services, String baseURI) {   
        // create an empty ontology
        OWLOntology ont = OWLFactory.createOntology();
        // create a new service
        Service service = ont.createService(URI.create(baseURI + "Service"));
        // create a new composite process
        CompositeProcess process = ont.createCompositeProcess(URI.create(baseURI + "Process"));     

        // create a new sequence construct
        Sequence sequence = ont.createSequence();
        // put the sequence into composite process
        compositeProcess.setComposedOf(sequence);
        
        for(int i = 0; i < services.size(); i++) {  
          // get the service from the list
          Service s = (Service) services.get(i);
          // get the process fron the service
          Process p = s.getProcess();
          
          // create a perform construct
          Perform perform = ont.createPreform();
          perform.setProcess(p);
          // put the process into the sequence
          sequence.addComponent(p);

          // create data flow if necessary...

        }

        // create profile...

        // create grounding

        return service;
      }

    支持功能。

    API中包含了org.mindswap.owls.wsdl这个包,可以用来读写WSDL描述的服务。执行OWL-S服务就是通过这个包实现的。这个功能是建立在AXIS包1.1上的。


       收藏   分享  
    顶(0)
      




    ----------------------------------------------
    时间永远是向前的!

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/4/27 10:13:00
     
     hehengw 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(猛啃高等数学)
      文章:16
      积分:132
      门派:XML.ORG.CN
      注册:2006/4/27

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给hehengw发送一个短消息 把hehengw加入好友 查看hehengw的个人资料 搜索hehengw在『 Web Services & Semantic Web Services 』的所有贴子 引用回复这个贴子 回复这个贴子 查看hehengw的博客2
    发贴心情 
    我最近在使用它,遇到些问题。我在调用函数生成文件时,怎样才能profile中加入Actor的信息,Actor对象怎么生成?属性怎么设置?
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/7/1 12:31:00
     
     hehengw 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(猛啃高等数学)
      文章:16
      积分:132
      门派:XML.ORG.CN
      注册:2006/4/27

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给hehengw发送一个短消息 把hehengw加入好友 查看hehengw的个人资料 搜索hehengw在『 Web Services & Semantic Web Services 』的所有贴子 引用回复这个贴子 回复这个贴子 查看hehengw的博客3
    发贴心情 
    希望大哥,早日恢复,提供帮助,QQ:348651656
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/7/1 12:38:00
     
     zhouwei_ouc 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(猛啃高等数学)
      文章:13
      积分:129
      门派:XML.ORG.CN
      注册:2007/8/6

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给zhouwei_ouc发送一个短消息 把zhouwei_ouc加入好友 查看zhouwei_ouc的个人资料 搜索zhouwei_ouc在『 Web Services & Semantic Web Services 』的所有贴子 引用回复这个贴子 回复这个贴子 查看zhouwei_ouc的博客4
    发贴心情 
    谢谢分享~~
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/8/7 20:27:00
     
     thinking11 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:19
      积分:159
      门派:XML.ORG.CN
      注册:2006/12/26

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给thinking11发送一个短消息 把thinking11加入好友 查看thinking11的个人资料 搜索thinking11在『 Web Services & Semantic Web Services 』的所有贴子 引用回复这个贴子 回复这个贴子 查看thinking11的博客5
    发贴心情 
    非常需要
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/8/13 18:05:00
     
     kokie 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:2
      积分:82
      门派:XML.ORG.CN
      注册:2007/8/29

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给kokie发送一个短消息 把kokie加入好友 查看kokie的个人资料 搜索kokie在『 Web Services & Semantic Web Services 』的所有贴子 引用回复这个贴子 回复这个贴子 查看kokie的博客6
    发贴心情 
    好东西,谢谢了
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/8/29 10:16:00
     
     xiaopengyou 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(猛啃高等数学)
      文章:11
      积分:104
      门派:W3CHINA.ORG
      注册:2007/10/8

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给xiaopengyou发送一个短消息 把xiaopengyou加入好友 查看xiaopengyou的个人资料 搜索xiaopengyou在『 Web Services & Semantic Web Services 』的所有贴子 引用回复这个贴子 回复这个贴子 查看xiaopengyou的博客7
    发贴心情 
    非常好
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/2/23 15:05:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 Web Services & Semantic Web Services 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2025/5/2 22:29:10

    本主题贴数7,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    9,070.313ms