新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   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 』 → 利用API对OWL-S描述的服务进行操作 ---[经典转贴] 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 11083 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 利用API对OWL-S描述的服务进行操作 ---[经典转贴] 举报  打印  推荐  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的博客楼主
    发贴心情 利用API对OWL-S描述的服务进行操作 ---[经典转贴]

    下面这篇文章转自:http://blog.csdn.net/Pottercn/archive/2006/07/24/970088.aspx
    查询邮政编码的服务用OWL-S描述,位于http://www.mindswap.org/2004/owl-s/1.1/ZipCodeFinder.owl

    对该文件调用API中的类库进行操作,最重要的是如下几段代码:
      
    OWLKnowledgeBase kb = OWLFactory.createKB();

    service = kb.readService("http://www.mindswap.org/2004/owl-s/1.1/ZipCodeFinder.owl");
      
    process = service.getProcess();     // 读取服务的process

    // 输入初始值为0,输入值为"College Park"和"MD",函数values.setDataValue得到这两个值,调用服务,并将结果输出。

    values = new ValueMap();
      
    values.setDataValue(process.getInput("City"), "College Park");  

    values.setDataValue(process.getInput("State"), "MD");  

    values = exec.execute(process, values);

    完整代码如下:


    import org.mindswap.owl.OWLFactory;
    import org.mindswap.owl.OWLIndividual;
    import org.mindswap.owl.OWLKnowledgeBase;
    import org.mindswap.owls.OWLSFactory;
    import org.mindswap.owls.process.AtomicProcess;
    import org.mindswap.owls.process.Process;
    import org.mindswap.owls.process.execution.ProcessExecutionEngine;
    import org.mindswap.owls.process.execution.ProcessExecutionListener;
    import org.mindswap.owls.profile.Profile;
    import org.mindswap.owls.service.Service;
    import org.mindswap.query.ValueMap;
    import org.mindswap.utils.Utils;
    import org.mindswap.wsdl.WSDLOperation;
    import org.mindswap.wsdl.WSDLService;


    public class RunService {
    Service service;
    Profile profile;
    Process process;
    WSDLService s;
    WSDLOperation op;
    String inValue;
    String outValue;
    ValueMap values;
    ProcessExecutionEngine exec;

    public RunService() {
      // create an execution engine
      exec = OWLSFactory.createExecutionEngine();
      
      // Attach a listener to the execution engine
      exec.addExecutionListener(new ProcessExecutionListener() {

       public void setCurrentExecuteService(Process p) {
        System.out.println("Start executing process " + p);
       }
       
       public void printMessage(String message) {
       }

       public void finishExecution(int retCode) {
        System.out.println("Finished execution " +
            ((retCode == ProcessExecutionListener.EXEC_ERROR)
            ? "with errors" : "successfully"));  
       }   
      });
    }

    public void runZipCode() throws Exception {
         OWLKnowledgeBase kb = OWLFactory.createKB();

         service = kb.readService("http://www.mindswap.org/2004/owl-s/1.1/ZipCodeFinder.owl");
      process = service.getProcess();  

      // initialize the input values to be empty
      values = new ValueMap();
      
      values.setDataValue(process.getInput("City"), "College Park");  
      values.setDataValue(process.getInput("State"), "MD");  

      values = exec.execute(process, values);

      // get the result
      OWLIndividual out = values.getIndividualValue(process.getOutput());
        
      // display the results
      System.out.println("Executed service '" + service + "'");
      System.out.println("Grounding WSDL: " +
          ((AtomicProcess) process).getGrounding().getDescriptionURL());
      System.out.println("City   = " + "College Park");
      System.out.println("State  = " + "MD");
      System.out.println("Output = ");
      System.out.println(Utils.formatRDF(out.toRDF()));
      System.out.println();
    }


    public static void main(String[] args) throws Exception {  
      RunService test = new RunService();
      

      try {
       test.runZipCode();
            } catch(Exception e) {
                e.printStackTrace();
            }

    }

    }


    在ECLISPE下运行,得到输出:

    Start executing process http://www.mindswap.org/2004/owl-s/1.1/ZipCodeFinder.owl#ZipCodeFinderProcess
    Finished execution successfully
    Executed service 'http://www.mindswap.org/2004/owl-s/1.1/ZipCodeFinder.owl#ZipCodeFinderService'
    Grounding WSDL: http://www.tilisoft.com/ws/LocInfo/ZipCode.asmx?WSDL
    City   = College Park
    State  = MD
    Output =
       ZipCode:
         zip: 20740


    同样,对http://www.mindswap.org/2004/owl-s/1.1/BookFinder.owl和http://www.mindswap.org/2004/owl-s/1.1/Dictionary.owl等描述的服务进行操作,也可以得到正确的输出。


       收藏   分享  
    顶(0)
      




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

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/4/27 10:04:00
     
     MerryZhang 美女呀,离线,快来找我吧!
      
      
      威望:4
      头衔:CTO
      等级:计算机学士学位
      文章:442
      积分:2808
      门派:W3CHINA.ORG
      注册:2006/1/4

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给MerryZhang发送一个短消息 把MerryZhang加入好友 查看MerryZhang的个人资料 搜索MerryZhang在『 Web Services & Semantic Web Services 』的所有贴子 引用回复这个贴子 回复这个贴子 查看MerryZhang的博客2
    发贴心情 
    感觉到这些OWL-S的描述还是构建在WSDL的基础上,并没有体现出语义来

    ----------------------------------------------
    那一段我们曾心贴着心,我想我更有权力关心你,可能你已走进别人风景,多希望也有星光的投影.努力为你改变,却变不了预留的伏笔.以为在你身边那也算永远
    仿佛还是昨天,可是昨天已非常遥远,但闭上双眼我还看得见.

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/6/4 14:00:00
     
     timothy 帅哥哟,离线,有人找我吗?巨蟹座1982-7-21
      
      
      威望:1
      等级:大四下学期(考上研究生啦!)
      文章:237
      积分:1701
      门派:XML.ORG.CN
      注册:2006/4/4

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给timothy发送一个短消息 把timothy加入好友 查看timothy的个人资料 搜索timothy在『 Web Services & Semantic Web Services 』的所有贴子 点击这里发送电邮给timothy 引用回复这个贴子 回复这个贴子 查看timothy的博客3
    发贴心情 
    这只是对API进行操作嘛,语义体现在构建的模型里!

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

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/6/4 20:44:00
     
     ricky_lxl 帅哥哟,离线,有人找我吗?
      
      
      等级:大二(研究C++)
      文章:38
      积分:278
      门派:XML.ORG.CN
      注册:2005/10/28

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给ricky_lxl发送一个短消息 把ricky_lxl加入好友 查看ricky_lxl的个人资料 搜索ricky_lxl在『 Web Services & Semantic Web Services 』的所有贴子 引用回复这个贴子 回复这个贴子 查看ricky_lxl的博客4
    发贴心情 
    不太懂,楼主能把代码详细解释一下吗,如何体现语义?
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/6/5 21:09:00
     
     nicholas628 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:8
      积分:90
      门派:W3CHINA.ORG
      注册:2007/6/19

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给nicholas628发送一个短消息 把nicholas628加入好友 查看nicholas628的个人资料 搜索nicholas628在『 Web Services & Semantic Web Services 』的所有贴子 引用回复这个贴子 回复这个贴子 查看nicholas628的博客5
    发贴心情 
    LZ怎么配置的ECLISPE?我的导入OWLS API 还是有错误,编译不了啊。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/7/3 20: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的博客6
    发贴心情 
    谢谢分享
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/8/7 20:17:00
     
     thinking11 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:19
      积分:159
      门派:XML.ORG.CN
      注册:2006/12/26

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给thinking11发送一个短消息 把thinking11加入好友 查看thinking11的个人资料 搜索thinking11在『 Web Services & Semantic Web Services 』的所有贴子 引用回复这个贴子 回复这个贴子 查看thinking11的博客7
    发贴心情 
    学习中
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/8/13 18:07: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/9/5 14:46:52

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

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