Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
READme.txt | 2017-04-02 | 5.1 kB | |
serviceprovTravelPlanner.owl | 2013-11-15 | 47.9 kB | |
Totals: 2 Items | 53.0 kB | 0 |
/////////////////////////////////////////////////////////////////////////////////////// /////author:Paraskevi Zerva//////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////// // The serviceProvTravelPlanner.owl file is an instantiated serviceProv file example // // for a composite service Travel Planner scenario. // // // // The instances of this file were created in Protege Desktop 3.5, and queried // // through the incorporated SPARQL query engine. // /////////////////////////////////////////////////////////////////////////////////////// Instructions to load ServiceProv in Protege 3.5. ------------------------------------------------ 1) Download the ontology http://sourceforge.net/projects/serviceprov/files/serviceprovTravelPlanner.owl/ 2) Open with Protege.exe 3) The ontology file is now loaded. Instructions to run queries over travel planner instances in SPARQL query engine of Protege 3.5. ------------------------------------------------------------------------------------------------ 1) Run Protege.exe 2) Click SPARQL query in the menu bar 3) Copy the following prefixes in the sparql query editor PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX owl: <http://www.w3.org/2002/07/owl#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX p1: <http://www.w3.org/ns/prov#> PREFIX serviceprov2: <https://sourceforge.net/projects/serviceprov/files/serviceprov#> 4) Write your SPARQL query or copy one of the following examples 5) Click execute to show the results ------------------------------------------------------------------------------------------------ ////////////////////////////////////////////////////////////////// Query Example 1: Querying Service Provider's Identity Provenance// ////////////////////////////////////////////////////////////////// SELECT ?serviceName ?provider ?ip ?port WHERE { ?provider serviceprov2:hadPort ?port. ?provider serviceprov2:hadIPaddress ?ip. ?association p1:agent ?provider. ?servInterfacePublishing a serviceprov2:ServiceInterfacePublishing. ?servInterfacePublishing p1:qualifiedAssociation ?association. ?association p1:hadRole ?role. ?role a serviceprov2:ServiceProvider. ?servdescriptionPublishedItem p1:wasGeneratedBy ?servInterfacePublishing. ?servdescriptionDiscoveredItem p1:wasDerivedFrom ?servdescriptionPublishedItem. ?servdescription p1:hadMember ?servdescriptionDiscoveredItem. ?service serviceprov2:hadDescription ?servdescription. ?service serviceprov2:serviceName ?serviceName. FILTER ( regex (str(?serviceName), "flight", "i")) ?servCollection p1:hadMember ?servdescription. ?servCollection p1:wasGeneratedBy ?discovery. ?discovery p1:used ?servRequest. ?servRequest p1:wasGeneratedBy ?planning. ?workplan p1:wasGeneratedBy ?planning. ?orchestratorExecution p1:used ?workplan. ?orchestratorExecution p1:value ?orchestratorExecutionID. FILTER ( regex (str(?orchestratorExecutionID), "travelPlannerNWX1UX", "i")) } /////////////////////////////////////////////////// Query Example 2: Querying Data Flow's Provenance// ////////////////////////////////////////////////// SELECT ?serviceName ?parameterout ?outputValue WHERE {?parameterout p1:value ?outputValue. ?outMessage p1:hadMember ?parameterout. ?outMessage p1:wasGeneratedBy ?servexecution. ?servexecution serviceprov2:executionOf ?service. ?service serviceprov2:serviceName ?serviceName. FILTER ( regex (str(?serviceName), "easyJet flight", "i") ) ?servexecution p1:used ?inMessage. ?inMessage p1:wasGeneratedBy ?orchestratorExecution. ?orchestratorExecution p1:value ?orchestratorExecutionID. FILTER ( regex(str(?orchestratorExecutionID), "travelPlannerNWX1UX", "i")) } //////////////////////////////////////////////////////////// Query Example 3: Querying NFP's Provenance (Availability)// ////////////////////////////////////////////////////////// SELECT ?availability ?value WHERE {?availability serviceprov2:NFPvalue ?value. ?service serviceprov2:hadNFP ?availability. ?service p1:generatedAtTime ?ststart. ?service p1:invalidatedAtTime ?stend. ?servexecution serviceprov2:executionOf ?service. ?service serviceprov2:serviceName ?serviceName. FILTER ( regex (str(?serviceName), "easyJet flight", "i")) ?execution p1:used ?inMessage. ?inMessage p1:wasGeneratedBy ?orchestratorExecution. ?orchestratorExecution p1:value ?orchestratorExecutionID. FILTER ( regex(str(?orchestratorExecutionID), "travelPlannerNWX1UX", "i")) ?orchestratorExecution p1:startedAtTime ?otstart. ?orchestratorExecution p1:endedAtTime ?otend. FILTER (?ststart <= ?otend) FILTER (?stend >= ?otstart)} -------------------------------------------------------------------------------------------