SWIPE-0.1 RDF Schema (draft) and scherch

Alberto Reggiori areggiori at w...
Thu Oct 10 16:21:42 UTC 2002


charset=US-ASCII;
format=flowed


hi all!

I recently got involved into a project which aims to use RDF (or RSS1.0 
:) to query, extract and aggregate (correlate) data coming from a bunch 
of on-line databases accessible using a well known list of URLs; each 
URL points to an HTML form attached to some kind of CGI interface which 
carries out the user query on the back end data set and returns the 
results into some HTML.

Having found the Sherch [1][2] and the SWIPE [3] work very much 
relevant to what we are trying to do, I decided to mark up a draft of 
the SWIPE-basic RDF Schema (see attachment) and try to RDF-ify some 
parts of the Sherch perl scripts; the schema simply implements the 
basic bunch of class and properties defined in the SWIPE spec. What we 
have in mind it would be to layer on top of Sherch/SWIPE more generic 
vocabularies (or modules) which could be parsed and queried using some 
existing RDF tools.

After having said that, I would like to know what is the status of 
SWIPE/Sherch and if there has been any further development in that 
area; in addition, I am interested to hear from people trying similar 
things in RDF perhaps using full blown WSDL or DAML-s descriptions 
perhaps. Any pointer to on-going work is welcome :-)

cheers

Alberto

[1] http://www.sherch.com/~pldms/cgi-bin/sherch.pl
[2] http://www.sherch.com/~pldms/sherch-0.1.tar.gz
[3] http://rdfweb.org/2001/01/swipe/

-------------- next part --------------
filename=swipe-0.1.rdf
Content-Transfer-Encoding: 7bit
Content-Type: application/octet-stream;
x-unix-mode=0644;
name="swipe-0.1.rdf"

<!-- draft of SWIPE (basic) RDF Schema by Alberto Reggiori <areggiori at w...> - see http://rdfweb.org/2001/01/swipe/ -->
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:dcq="http://purl.org/dc/terms/" >

<rdf:Description rdf:about="">
<dc:title>SWIPE RDF Schema</dc:title>
<dc:description>SWIPE RDF Schema accordingly to SWIPE spec at http://rdfweb.org/2001/01/swipe/</dc:description>
<rdfs:seeAlso rdf:resource="http://rdfweb.org/2001/01/swipe/" />
<dc:creator rdf:resource="mailto:daniel.brickley at b..." />
<dc:creator rdf:resource="mailto:D.M.Steer at l..." />
<dc:creator rdf:resource="mailto:libby.miller at b..." />
<dc:publisher rdf:resource="mailto:areggiori at w..." />
<dcq:created>2002-10-10</dcq:created>
</rdf:Description>

<rdf:Property rdf:about="http://rdfweb.org/2000/01/swipe-ns#swiper" 
rdfs:label="swiper" 
rdfs:comment="The swiper relation connects our SWIPE information to some identified Web service. Rather than use the search resource (CGI-script, servlet etc) as the identifier for the service, we use the 'home page', eg. http://oreillynet.com/meerkat/. Consequently, we can use the swiper properties of a Web service to get to a bundle of RDF properties that describe how to interact with that service. The range of the swipe property is SwipeSpec">
<rdfs:range rdf:resource="http://rdfweb.org/2000/01/swipe-ns#SwipeSpec" />
</rdf:Property>

<rdf:Property rdf:about="http://rdfweb.org/2000/01/swipe-ns#in"
rdfs:label="in"
rdfs:comment="The in relation is used on a SwipeSpec, and points to an RDF container listing one or more SWIPE DataItems.">
<rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Seq" />
<rdfs:domain rdf:resource="http://rdfweb.org/2000/01/swipe-ns#SwipeSpec" />
</rdf:Property>

<rdf:Property rdf:about="http://rdfweb.org/2000/01/swipe-ns#out"
rdfs:label="out"
rdfs:comment='The out relation is used on a SwipeSpec, and points to SWIPE ParseRules. The interpretation of the "parse rules" info depends on the format(s) used; we indicate this using a parseformat property on the ParseRules.'>
<rdfs:range rdf:resource="http://rdfweb.org/2000/01/swipe-ns#ParseRules" />
<rdfs:domain rdf:resource="http://rdfweb.org/2000/01/swipe-ns#SwipeSpec" />
</rdf:Property>

<rdf:Property rdf:about="http://rdfweb.org/2000/01/swipe-ns#action"
rdfs:label="action"
rdfs:comment='The action property, like the HTML forms attribute of the same name, indicates a Web service that can be respond to parameters passed via HTTP GET or POST methods.'>
<rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Resource" />
<rdfs:domain rdf:resource="http://rdfweb.org/2000/01/swipe-ns#SwipeSpec" />
</rdf:Property>

<rdf:Property rdf:about="http://rdfweb.org/2000/01/swipe-ns#method"
rdfs:label="method"
rdfs:comment="The method property, like the HTML forms attribute of the same name, indicates the HTTP method(s) through which a Web service offers an interface. (SOAP/XP/XML-RPC?)">
<rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Literal" />
<rdfs:domain rdf:resource="http://rdfweb.org/2000/01/swipe-ns#SwipeSpec" />
</rdf:Property>

<rdf:Property rdf:about="http://rdfweb.org/2000/01/swipe-ns#macfile"
rdfs:label="macfile"
rdfs:comment='The macfile property (which perhaps belongs in the utility namespace) tells us where (if anywhere) we can find an Apple Macintosh Sherlock plugin for this service.'>
<rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Resource" />
<rdfs:domain rdf:resource="http://rdfweb.org/2000/01/swipe-ns#SwipeSpec" />
</rdf:Property>

<rdf:Property rdf:about="http://rdfweb.org/2000/01/swipe-ns#resultListStart"
rdfs:label="resultListStart"
rdfs:comment='A text string representing the point in a document from which content to be extracted becomes available. The sub-portion of the document identified can be mapped into the RSS notion of a channel.'>
<rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Literal" />
<rdfs:domain rdf:resource="http://rdfweb.org/2000/01/swipe-ns#ParseRules" />
</rdf:Property>

<rdf:Property rdf:about="http://rdfweb.org/2000/01/swipe-ns#resultListEnd"
rdfs:label="resultListEnd"
rdfs:comment='A text string representing the last point in a document from which useful content might be extracted.'>
<rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Literal" />
<rdfs:domain rdf:resource="http://rdfweb.org/2000/01/swipe-ns#ParseRules" />
</rdf:Property>

<rdf:Property rdf:about="http://rdfweb.org/2000/01/swipe-ns#resultItemStart"
rdfs:label="resultItemStart"
rdfs:comment='A text string used for the repeated extraction of RSS items from a larger textual document.'>
<rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Literal" />
<rdfs:domain rdf:resource="http://rdfweb.org/2000/01/swipe-ns#ParseRules" />
</rdf:Property>

<rdf:Property rdf:about="http://rdfweb.org/2000/01/swipe-ns#resultItemEnd"
rdfs:label="resultItemEnd"
rdfs:comment='A text string used for the repeated extraction of RSS items from a larger textual document.'>
<rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Literal" />
<rdfs:domain rdf:resource="http://rdfweb.org/2000/01/swipe-ns#ParseRules" />
</rdf:Property>

<rdf:Property rdf:about="http://rdfweb.org/2000/01/swipe-ns#parseformat"
rdfs:label="parseformat">
<rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Resource" />
<rdfs:domain rdf:resource="http://rdfweb.org/2000/01/swipe-ns#ParseRules" />
</rdf:Property>

<rdf:Property rdf:about="http://rdfweb.org/2000/01/swipe-ns#name"
rdfs:label="name">
<rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Literal" />
<rdfs:domain rdf:resource="http://rdfweb.org/2000/01/swipe-ns#DataItem" />
</rdf:Property>

<rdf:Property rdf:about="http://rdfweb.org/2000/01/swipe-ns#content"
rdfs:label="content">
<rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Literal" />
<rdfs:domain rdf:resource="http://rdfweb.org/2000/01/swipe-ns#Input" />
</rdf:Property>

<rdfs:Class rdf:about="http://rdfweb.org/2000/01/swipe-ns#SwipeSpec"
rdfs:label="SwipeSpec"
rdfs:comment="A SwipeSpec provides a collection of properties describing the expected inputs and likely outputs for some Web-accessible data service." />

<rdfs:Class rdf:about="http://rdfweb.org/2000/01/swipe-ns#BasicSpec"
rdfs:label="BasicSpec"
rdfs:comment='A BasicSpec is a kind of SwipeSpec; the information associated with a BasicSpec can be used to extract RSS-like records from Web data services, adopting a "screen scraping" approach.'>
<rdfs:subClassOf rdf:resource="http://rdfweb.org/2000/01/swipe-ns#SwipeSpec" />
</rdfs:Class>

<rdfs:Class rdf:about="http://rdfweb.org/2000/01/swipe-ns#ParseRules"
rdfs:label="ParseRules" />

<rdfs:Class rdf:about="http://rdfweb.org/2000/01/swipe-ns#DataItem"
rdfs:label="DataItem"
rdfs:comment="DataItem is a super-class for Input and UserInput" />

<rdfs:Class rdf:about="http://rdfweb.org/2000/01/swipe-ns#Input"
rdfs:label="Input"
rdfs:comment="An Input is a pairing of a name and (optionally) some content (plain text) that correspond to the attribute-value pairs typically used in HTML FORM / HTTP CGI interactions.">
<rdfs:subClassOf rdf:resource="http://rdfweb.org/2000/01/swipe-ns#DataItem" />
</rdfs:Class>

<rdfs:Class rdf:about="http://rdfweb.org/2000/01/swipe-ns#UserInput"
rdfs:label="UserInput"
rdfs:comment="An Input whose value is typically supplied by an end-user.">
<rdfs:subClassOf rdf:resource="http://rdfweb.org/2000/01/swipe-ns#DataItem" />
</rdfs:Class>

</rdf:RDF>


More information about the foaf-dev mailing list