<gss@ncgr.org>
,
Damian Gessler <ddg@ncgr.org>
<lstein@cshl.edu>
@prefix acmepubs: <http://www.acmepubs.com/> .
@prefix acmeterms: <http://www.acmepubs.com/terms/> .
@prefix pubs: <http://www.pubs.org/terms/> .
@prefix go: <http://www.go.org/terms/> .
@prefix sgd: <http://www.sgd.org/terms/> .
@prefix moby: <http://www.semanticmoby.org/ontologies/core/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
acmepubs:citation-search
a moby:Provider, pubs:CitationSearch ;
moby:name "AcmePubs Citation Search" ;
moby:oneLineDescription "Industry standard citation search" ;
moby:operatesOn [
a rdf:Bag ;
rdf:_1 [
a moby:Graph ;
moby:hasMapping [
a moby:Subject, go:GeneSymbol ;
acmeterms:geneSymbol _:bnode1 ;
moby:mapsTo [
a moby:Object, sgd:LiteratureGuide ;
acmeterms:literatureGuideURI _:bnode2
]
]
]
] .
This graph asserts that the URI http://www.acmepubs.com/citation-search
represents a Provider
, which is also an instance of the class defined
at http://www.pubs.org/terms/CitationSearch
. This provider operates
on an RDF Bag
, the first element of which is a Graph
. This
graph node has a mapping headed by a Subject
node, which is also a
GeneSymbol
; this node has a geneSymbol
property whose
value is the blank node _:bnode1
. The gene symbol node maps (via a
mapsTo
property) to a node that is an Object
as well
as a LiteratureGuide
. Finally, this literature guide node has a
literatureGuideURI
property, whose value is the blank node
_:bnode2
.
Subject
properties with concrete resources or literals.
The provider should in turn modify the graph by adding statements to
represent the results of the service invocation and stream it back
in RDF/XML as the response to the request.Provider
,
Subject
, and Object
nodes match keywords in
the keyword query and returns an HTML page showing the results. For
each matching provider URI, it retrieves the provider description
graph from the RDF-based discovery server and uses the graph to
display a summary of the provider – its name, description,
where to find more information, etc. It also provides a link, with
an appropriate query string, to the invocation broker on the Semantic
MOBY site. Briefly stated, when the invocation broker is asked to
invoke a URI, it retrieves the graph at that URI. If the graph
requires no inputs, it is POSTed immediately to the URI and the
results are streamed back to the
client. If the graph does require inputs, then if the graph contains
a moby:inputURI
property, the client is redirected
to that URI; if the graph has no such property, then a generic HTML
form is presented for the user to edit and submit a serialized RDF/XML
graph. The invocation broker is still a work in progress.
http://foo.bar#baz
) vs.
"slash URI" notation (a URI that adds an additional level with a
slash rather than a fragment identifier, e.g.
http://foo.bar/baz
). Several pages [14] on the W3C
Semantic Web Wiki are devoted to this subject. Because Semantic
MOBY associates a resource with a machine readable definition at
its URI, and needs to frequently retrieve such resources, it
stipulates that ontology providers and service providers expose
their graphs using slash URI notation.
moby-dev
mailing list for helpful
discussions. This work was funded by NSF grant 0213512.