ãæ³¨æã ãã®ããã¥ã¡ã³ãã¯ãW3Cã®SPARQL Protocol for RDF W3C Recommendation 15 January 2008ã®å訳ã§ãã
ãã®ããã¥ã¡ã³ãã®æ£å¼çã¯W3Cã®ãµã¤ãä¸ã«ããè±èªçã§ããããã®ããã¥ã¡ã³ãã«ã¯ç¿»è¨³ã«èµ·å ãã誤ãããããã¾ãã誤訳ã誤æ¤ãªã©ã®ãææã¯ã訳è
ã¾ã§ãé¡ãè´ãã¾ãã
First Update: 2008å¹´3æ28æ¥
RDFç¨SPARQLãããã³ã« W3Cå§å 2008å¹´1æ15æ¥ãã®ããã¥ã¡ã³ãã«å¯¾ããæ£èª¤è¡¨ãåç §ãã¦ãã ãããããã¤ãã®è¦ç¯çãªä¿®æ£ãå«ã¾ãã¦ããããããã¾ããã
翻訳çãåç §ãã¦ãã ããã
Copyright © 2006-2007 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark and document use rules apply.
1. ã¯ããã«ãã®ããã¥ã¡ã³ãï¼ãRDFç¨SPARQLãããã³ã«ãã¨èªããç§°ããï¼ã§ã¯ãSPARQLã¯ã¨ãªãã¯ã¨ãªã»ã¯ã©ã¤ã¢ã³ãããã¯ã¨ãªã»ããã»ããµã«ä¼ããææ®µã§ããSPARQLãããã³ã«ã«ã¤ãã¦è¨è¿°ãã¦ãã¾ããSPARQLãããã³ã«ã¯ãRDFç¨ã¯ã¨ãªè¨èªSPARQL [SPARQL]ã¨äºææ§ãããããã«è¨è¨ãã¦ããã¾ããSPARQLãããã³ã«ã次ã®2ã¤ã®æ¹æ³ã§èª¬æãã¾ããã¾ããå ·ä½çãªå®ç¾ãå®è£ ããããã¯ãå¥ã®ãããã³ã«ã¸ã®ãã¤ã³ãã£ã³ã°ã®å¦ä½ã«ããããããæ½è±¡çãªã¤ã³ã¿ã¼ãã§ã¼ã¹ã¨ãã¦ã2çªç®ã«ããã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ã®HTTPããã³SOAPã®ãã¤ã³ãã£ã³ã°ã¨ãã¦ã§ãããã®ããã¥ã¡ã³ãã¯ãé¢é£ããWSDLããã³W3C XMLã¹ãã¼ãã»ããã¥ã¡ã³ãã¨åæ§ã«ãSPARQLã¯ã¨ãªã®ãµã¼ãã¹ã¨ã¯ã©ã¤ã¢ã³ãã®å®è£ ã«èå³ãæã£ã¦ããã½ããã¦ã§ã¢éçºè ã主ã¨ãã¦å¯¾è±¡ã¨ãã¦ãã¾ãã
ããã¥ã¡ã³ãããããªããã°ãªããªãï¼MUSTï¼ããã¦ã¯ãªããªãï¼MUST NOTï¼ããã¹ãã§ããï¼ããå¿ è¦ãããï¼SHOULDï¼ããã¹ãã§ãªãï¼ããå¿ è¦ããªãï¼SHOULD NOTï¼ããããã¨ãã§ããï¼ãã¦ãããï¼MAYï¼ãæ¨å¥¨ãããï¼RECOMMENDEDï¼ã¨ããåèªã使ç¨ãã強調ãããããã¹ãã¨ãã¦åºç¾ããã¨ããRFC 2119 [RFC2119]ã§è¨è¿°ããã¦ããã¨ããã«è§£éãããªããã°ãªãã¾ããã
ãã®ããã¥ã¡ã³ãã«ãWSDLãXMLã¹ãã¼ãã®ã¤ã³ã¹ã¿ã³ã¹ãå«ããä»ã®ããã¥ã¡ã³ãããã®æç²ãå«ã¾ãã¦ããã¨ãã¯ã次ã®ååç©ºéæ¥é è¾ã¨åå空éURIã使ç¨ãã¦ãã¾ãã
æ¥é è¾ åå空éURIst
http://www.w3.org/2005/09/sparql-protocol-types/#
xs
http://www.w3.org/2001/XMLSchema
vbr
http://www.w3.org/2005/sparql-results#
rdf
http://www.w3.org/1999/02/22-rdf-syntax-ns#
whttp
http://www.w3.org/2006/01/wsdl/http
wsoap
http://www.w3.org/2006/01/wsdl/soap
soap
http://www.w3.org/2003/05/soap-envelope
wsdlx
http://www.w3.org/2005/08/wsdl-extensions
tns
http://www.w3.org/2005/08/sparql-protocol-query/#
2. SPARQLãããã³ã«
ãã®ããã¥ã¡ã³ãã«ã¯ã次ã®SPARQLãããã³ã«ã®ä»æ§ãå å«ããã¦ãã¾ãã
SPARQLãããã³ã«ã«ã¯SparqlQuery
ã¨ãã1ã¤ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ãå«ã¾ããããã«ã¯åæ§ã«query
ã¨ãã1ã¤ã®ãªãã¬ã¼ã·ã§ã³ãå«ã¾ãã¦ãã¾ããSPARQLãããã³ã«ã¯ãã¤ã³ã¿ã¼ãã§ã¼ã¹ãåããã©ã«ããããã³ããªãã¬ã¼ã·ã§ã³ãå®è£
ããã¦ã§ãã»ãµã¼ãã¹ã«é¢ãWSDL 2.0 [WSDL2]ã§ãã¾ããHTTPããã³SOAPãã¤ã³ãã£ã³ã°ã«ãã£ã¦ãæ½è±¡çã«è¨è¿°ããã¾ãããã®ããã¥ã¡ã³ãã¯SPARQLãããã³ã«ãè¨è¿°ããããã«WSDL2.0ã使ç¨ãã¾ãããWSDLã©ã¤ãã©ãªã¾ãã¯ããã°ã©ãã³ã°è¨èªãã¬ã¼ã ã¯ã¼ã¯ã®ä½¿ç¨ãå«ããç¹å®ã®å®è£
æ¦ç¥ãå®è£
ã®ä¸é¨ã«ä½¿ç¨ãã義åã¯ãªããã¨ã«æ³¨æãã¦ãã ããã
query
ãªãã¬ã¼ã·ã§ã³
SparqlQuery
ã¯ããããã³ã«ã®å¯ä¸ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ã§ããããã«ã¯query
ã¨ãã1ã¤ã®ãªãã¬ã¼ã·ã§ã³ãå«ã¾ããSPARQLã¯ã¨ãªæååããã³ããªãã·ã§ã³ã¨ãã¦RDFãã¼ã¿ã»ããè¨è¿°ãä¼ããããã«ç¨ãããã¾ãã
query
ãªãã¬ã¼ã·ã§ã³ã¯ãIN-OUTã¡ãã»ã¼ã¸äº¤æãã¿ã¼ã³ [WSDL-Adjuncts]ã¨ãã¦è¨è¿°ããã¾ããIN-OUTã¡ãã»ã¼ã¸äº¤æãã¿ã¼ã³ã®å¶ç´ã¯ã次ã®éãã§ãã
ãã®ãã¿ã¼ã³ã¯ã次ã®ã¨ããããã£ããï¼ãã®é åºã©ããã®ï¼2ã¤ã®ã¡ãã»ã¼ã¸ã§æ§æããã¦ãã¾ãã
ã¡ãã»ã¼ã¸:
{ã¡ãã»ã¼ã¸ã»ã©ãã«}ããINãã§ããã{æ¹åæ§}ããINãã§ããã¤ã³ã¿ã¼ãã§ã¼ã¹ã»ã¡ãã»ã¼ã¸åç §æ§æè¦ç´ ã§ç¤ºããã
ãããã¼ãNããåä¿¡ããã
ã¡ãã»ã¼ã¸:
{ã¡ãã»ã¼ã¸ã»ã©ãã«}ããOUTãã§ããã{æ¹åæ§}ããOUTãã§ããã¤ã³ã¿ã¼ãã§ã¼ã¹ã»ã¡ãã»ã¼ã¸åç §æ§æè¦ç´ ã§ç¤ºããã
ãã¼ãNã«éä¿¡ããã
ãã®ãã¿ã¼ã³ã¯ã2.2.1 ãã©ã«ãã«ããã¡ãã»ã¼ã¸ã®ç½®æè¦åã使ç¨ãã¾ãã
ãã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ã¨ãã®ãªãã¬ã¼ã·ã§ã³ã¯ã次ã®ï¼é¢é£ããåå空é宣è¨ãå«ãprotocol-query.wsdlã®ï¼WSDL 2.0ã®ä¸é¨ã§è¨è¿°ããã¾ãã
<!-- Abstract SparqlQuery Interface --> <interface name="SparqlQuery" styleDefault="http://www.w3.org/2006/01/wsdl/style/iri"> <!-- the Interface Faults --> <fault name="MalformedQuery" element="st:malformed-query"/> <fault name="QueryRequestRefused" element="st:query-request-refused"/> <!-- the Interface Operation --> <operation name="query" pattern="http://www.w3.org/2006/01/wsdl/in-out"> <documentation>The operation is used to convey queries and their results from clients to services and back again.</documentation> <input messageLabel="In" element="st:query-request"/> <output messageLabel="Out" element="st:query-result"/> <!-- the interface faults are out faults --> <outfault ref="tns:MalformedQuery" messageLabel="Out"/> <outfault ref="tns:QueryRequestRefused" messageLabel="Out"/> </operation> </interface>2.1.2
query
Inã¡ãã»ã¼ã¸
æ½è±¡çã«ãSparqlQuery
ã®ã¯ã¨ãªã»ãªãã¬ã¼ã·ã§ã³ã®Inã¡ãã»ã¼ã¸ã®ã³ã³ãã³ãã¯ãXMLã¹ãã¼ãè¤ååï¼complex typeï¼ã®ã¤ã³ã¹ã¿ã³ã¹ã§ãæç²1.0ã§ã¯st:query-request
ã¨å¼ã³ãããã«ã1ã¤ã®SPARQLã¯ã¨ãªæååã¨ã0ã1ã¤ã®RDFãã¼ã¿ã»ããè¨è¿°ã®ã2ã¤ã®é¨åã§æ§æããã¦ãã¾ãã1ã¤ã®query
ã®åã«ãã£ã¦èå¥ãããSPARQLã¯ã¨ãªæååã¯ããã¯ã¨ãªã®çæè¦åã§å§ã¾ããSPARQLææ³ã«ãã£ã¦å®ç¾©ãããè¨èªã®æååãã¨[SPARQL]ã§å®ç¾©ããã¦ãã¾ããRDFãã¼ã¿ã»ããè¨è¿°ã¯ã0ã1ã¤ã®ããã©ã«ãRDFã°ã©ãã§æ§æããã——0以ä¸ã®default-graph-uri
ã®åã«ãã£ã¦èå¥ãããRDFã°ã©ãã®RDFãã¼ã¸ã§æ§æããã——0以ä¸ã®ååä»ãRDFã°ã©ãã«ãã£ã¦ã0以ä¸ã®named-graph-uri
ã®åã«ãã£ã¦èå¥ããã¾ãããããã¯ã[SPARQL]ã®FROM
ã¨FROM NAMED
ãã¼ã¯ã¼ãã«ãããã対å¿ãã¦ãã¾ãã
ãããã®åã¯ãprotocol-types.xsdã®ã次ã®XMLã¹ãã¼ãã®ä¸é¨ã§å®ç¾©ããã¦ãã¾ãã
<xs:element name="query-request"> <xs:complexType> <xs:sequence> <xs:element minOccurs="1" maxOccurs="1" name="query" type="xs:string"> <xs:annotation> <xs:documentation>query is an xs:string constrained by the language definition, http://www.w3.org/TR/rdf-sparql-query/#grammar, as "a sequence of characters in the language defined by the [SPARQL] grammar, starting with the Query production".</xs:documentation> </xs:annotation> </xs:element> <xs:element minOccurs="0" maxOccurs="unbounded" name="default-graph-uri" type="xs:anyURI"/> <xs:element minOccurs="0" maxOccurs="unbounded" name="named-graph-uri" type="xs:anyURI"/> </xs:sequence> </xs:complexType> </xs:element>
æç²1.1 XMLã¹ãã¼ãã®ä¸é¨
RDFãã¼ã¿ã»ããã®æå®RDFãã¼ã¿ã»ããã¯ãFROM
ããã³FROM NAMED
ã®ãã¼ã¯ã¼ããç¨ãã¦[SPARQL]ã¯ã¨ãªã§æå®ãããããã®ããã¥ã¡ã³ãã§è¨è¿°ãã¦ãããããã³ã«ã§æå®ããããã¯ã¨ãªæååã¨ãããã³ã«ã®ä¸¡æ¹ã§æå®ãããã¨ãã§ãã¾ãã
ã¯ã¨ãªã¨ãããã³ã«ã®ä¸¡æ¹ããRDFãã¼ã¿ã»ããï¼ããããåä¸ã®RDFãã¼ã¿ã»ããã§ã¯ãªãï¼ãæå®ããå ´åããããã³ã«ã§æå®ããããã¼ã¿ã»ããã¯ãSparqlQuery
ã®query
ãªãã¬ã¼ã·ã§ã³ã§ä½¿ç¨ãããRDFãã¼ã¿ã»ããã§ãªããã°ãªãã¾ããï¼mustï¼ã
é©åSPARQLãããã³ã«ã»ãµã¼ãã¹ã¯ããããã³ã«ãã¯ã¨ãªã»ãªã¯ã¨ã¹ãã§æå®ãããRDFãã¼ã¿ã»ãããåå¨ããªãå ´åã«SPARQLã¯ã¨ãªã»ãªã¯ã¨ã¹ããå®è¡ããããããã©ã«ãRDFãã¼ã¿ã»ãããæä¾ã§ãã¾ãï¼mayï¼ãé©åSPARQLãããã³ã«ã»ãµã¼ãã¹ã¯ãRDFãã¼ã¿ã»ãããæå®ããªãä»»æã®ã¯ã¨ãªã»ãªã¯ã¨ã¹ãã®å¦çãæå¦ã§ãã¾ãï¼mayï¼ãæå¾ã«ãé©åSPARQLãããã³ã«ã»ãµã¼ãã¹ã¯ãä»»æã®æå®ãããRDFãã¼ã¿ã»ããã«å¯¾ããä»»æã®ã¯ã¨ãªã»ãªã¯ã¨ã¹ãã®å¦çãæå¦ã§ãã¾ãï¼mayï¼ã2.1.4é
ã®query
ãã©ã«ãã»ã¡ãã»ã¼ã¸ãQueryRequestRefused
ãåç
§ãã¦ãã ããã
ã¯ã¨ãªæååã®BASE
ãã¼ã¯ã¼ãã¯ãURIï¼Uniform Resource Identifierï¼: ä¸è¬çæ§æ [RFC3986]ã®5.1.1é
ãã³ã³ãã³ãå
ã«åãè¾¼ã¾ããåºåºURIãã«ããã¨ãããç¸å¯¾IRIã解決ããããã«ç¨ããããåºåºIRIãå®ãã¾ãã5.1.2é
ãã«ãã»ã«åãããã¨ã³ãã£ãã£ã¼ããã®åºåºURIãã¯ãxml:baseæç¤ºåãæã¤SOAPã¨ã³ããã¼ãã®ãããªã«ãã»ã«åãããããã¥ã¡ã³ããããã©ã®ããã«åºåºIRIãæã£ã¦ãããã¨ãã§ããããå®ãã¦ãã¾ããSPARQLãããã³ã«ã¯ã¯ã¨ãªURIãéåç
§ããªãããã5.1.3é
ã¯å½ã¦ã¯ã¾ãã¾ãããæå¾ã«ã5.1.4é
ã®ã¨ãããSPARQLãããã³ã«ã»ãµã¼ãã¹ã¯ãèªèº«ã®åºåºURIãå®ããªããã°ãªãããããã¯ãµã¼ãã¹å¼ã³åºãURLã«ãªããã¾ãï¼mayï¼ã
query
Outã¡ãã»ã¼ã¸
æ½è±¡çã«ãSparqlQuery
ã®query
ãªãã¬ã¼ã·ã§ã³ã®Outã¡ãã»ã¼ã¸ã®å
容ã¯ãXMLã¹ãã¼ãè¤ååã®ã¤ã³ã¹ã¿ã³ã¹ã§ãæç²1.2ã§ã¯query-result
ã¨å¼ã³ã次ã®ããããã§æ§æããã¦ãã¾ãã
query-result
ã®åã¯ãprotocol-types.xsdã®ã次ã®W3C XMLã¹ãã¼ãã®ä¸é¨ã§å®ç¾©ããã¦ãã¾ãã
<xs:element name="query-result"> <xs:annotation> <xs:documentation>The type for serializing query results, either as XML or RDF/XML.</xs:documentation> </xs:annotation> <xs:complexType> <xs:choice> <xs:element maxOccurs="1" ref="vbr:sparql"/> <xs:element maxOccurs="1" ref="rdf:RDF"/> </xs:choice> </xs:complexType> </xs:element>
æç²1.2 XMLã¹ãã¼ãã®ä¸é¨
2.1.4query
ãã©ã«ãã»ã¡ãã»ã¼ã¸
[WSDL2-Adjuncts]ã§ã¯ãã©ã®ããã«ãªãã¬ã¼ã·ã§ã³ããã©ã«ããçºçãããã¡ãã»ã¼ã¸ã対話ãè¡ãã®ããæå®ããããã¤ãã®ãã©ã«ã伿¬è¦åãå®ç¾©ãã¦ãã¾ããquery
ãªãã¬ã¼ã·ã§ã³ã¯ããã©ã«ãã«ããã¡ãã»ã¼ã¸ã®ç½®æè¦åãæ¡ç¨ãã¾ãã
ãã¿ã¼ã³ã®æåã®ã¡ãã»ã¼ã¸ã®å¾ã®ãã®ã¯ã©ããããã©ã«ãã»ã¡ãã»ã¼ã¸ã«ç½®ãæãããã¨ãã§ãï¼mayï¼ãããã¯åä¸ã®æ¹åæ§ãæããªããã°ãªãã¾ããï¼mustï¼ããã©ã«ãã»ã¡ãã»ã¼ã¸ã¯ãæ¡å¼µããã¤ã³ãã£ã³ã°æ¡å¼µã§å¥ã«æå®ãããªãéãããããç½®ãæããã¡ãã»ã¼ã¸ã¨åã対象ãã¼ãã«éãããªããã°ãªãã¾ããï¼mustï¼ããã®ãã¼ãã¸ã®çµè·¯ããªãå ´åã«ã¯ããã©ã«ãã廿£ããªããã°ãªãã¾ããï¼mustï¼ã
ãããã£ã¦ãSparqlQuery
ã¤ã³ã¿ã¼ãã§ã¼ã¹ã«å«ã¾ããquery
ãªãã¬ã¼ã·ã§ã³ã¯ãOutã¡ãã»ã¼ã¸ã®ä»£ããã«ãMalformedQuery
ã¡ãã»ã¼ã¸ã¾ãã¯QueryRequestRefused
ã¡ãã»ã¼ã¸ã®ã©ã¡ãããè¿ããããããããããã¯ä¸¡æ¹ã¨ãprotocol-types.xsdã®æ¬¡ã®XMLã¹ãã¼ãã®ä¸é¨ã§å®ç¾©ããã¾ãã
<xs:element type="xs:string" name="fault-details"> <xs:annotation> <xs:documentation> This element contains human-readable information about the fault returned by the SPARQL query processing service.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="malformed-query"> <xs:complexType> <xs:all><xs:element minOccurs="0" maxOccurs="1" ref="st:fault-details"/></xs:all> </xs:complexType> </xs:element> <xs:element name="query-request-refused"> <xs:complexType> <xs:all><xs:element minOccurs="0" maxOccurs="1" ref="st:fault-details"/></xs:all> </xs:complexType> </xs:element>
æç²1.3 XMLã¹ãã¼ãã®ä¸é¨
MalformedQuerySPARQLææ³ã§å®ãããã¦ããè¨èªã«ããã¦ãquery
ã®åã®å¤ãæ£å½ãªæååã§ãªããã°ãMalformedQuery
ã¾ãã¯QueryRequestRefused
ã®ãã©ã«ãã»ã¡ãã»ã¼ã¸ãè¿ããªããã°ãªãã¾ããï¼mustï¼ããã©ã«ãã«ããã¡ãã»ã¼ã¸ã®ç½®æã«å¾ã£ã¦ãMalformedQuery
ãå«ãWSDLã®ãã©ã«ããè¿ãããå ´åã¯ãOutã¡ãã»ã¼ã¸ãè¿ãã¦ã¯ãªãã¾ããï¼must notï¼ã
MalformedQuery
ã®ãã©ã«ãã»ã¡ãã»ã¼ã¸ãè¿ãããã¨ãã«ã¯ãã¯ã¨ãªå¦çãµã¼ãã¹ã¯ã説æããããã°ä½æ¥ãã¾ãã¯ãæç²1.3ã§å®ç¾©ãã¦ããfault-details
ã®åã«ãã人éã®å©ç¨ã®ããã®ä»ã®è¿½å æ
å ±èª¬æãå«ã¾ãªããã°ãªãã¾ããï¼mustï¼ã
ãµã¼ãã¹ãå¦çãæå¦ãããªã¯ã¨ã¹ããã¯ã©ã¤ã¢ã³ããåºããã¨ãã«ã¯ããã®WSDLãã©ã«ãã»ã¡ãã»ã¼ã¸ãè¿ãã¹ãï¼shouldï¼ã§ããQueryRequestRefused
ã®ãã©ã«ãã»ã¡ãã»ã¼ã¸ã¯ããµã¼ããããã®å¾ã®åããªã¯ã¨ã¹ãï¼è¤æ°ã®ãªã¯ã¨ã¹ããå¯ï¼ãå¦çã§ãããå¦ãã示ãã¾ããããé©åSPARQLãµã¼ãã¹ã¯ã[HTTP]ã®ã»ãã³ãã£ã¯ã¹ãä¸ããããå ´åã«ãå¿
è¦ã«å¿ãã¦ä»ã®HTTPã¹ãã¼ã¿ã¹ã»ã³ã¼ãã¾ãã¯HTTPããããè¿ããªãããã«å¶ç´ãããããã¾ããã
QueryRequestRefused
ã®ãã©ã«ãã»ã¡ãã»ã¼ã¸ãè¿ãããã¨ãã«ã¯ãã¯ã¨ãªå¦çãµã¼ãã¹ã¯ã説æããããã°ä½æ¥ãã¾ãã¯ãæç²1.3ã§å®ç¾©ãã¦ããfault-details
ã®åã«ãã人éã®å©ç¨ã対象ã¨ããä»ã®è¿½å æ
å ±ãå«ã¾ãªããã°ãªãã¾ããï¼mustï¼ã
ããã¾ã§è¨è¿°ãã¦ããSparqlQuery
ã¤ã³ã¿ã¼ãã§ã¼ã¹ã»ãªãã¬ã¼ã·ã§ã³query
ã¯ãæ½è±¡çãªãªãã¬ã¼ã·ã§ã³ã§ãå¼ã³åºãå¯è½ãªãªãã¬ã¼ã·ã§ã³ã«ãªãããã«ã¯ããããã³ã«ã»ãã¤ã³ãã£ã³ã°ãå¿
è¦ã§ãããã®ããã¥ã¡ã³ãã®æ¬¡ã®2ã¤ã®é
ã§ã¯ãHTTPã¨SOAPã®ãã¤ã³ãã£ã³ã°ã«ã¤ãã¦èª¬æãã¾ããé©åSPARQLãããã³ã«ã»ãµã¼ãã¹ã¯ãSparqlQuery
ã¤ã³ã¿ã¼ãã§ã¼ã¹ããµãã¼ãããªããã°ãªããï¼mustï¼ãSPARQLãããã³ã«ã»ãµã¼ãã¹ãHTTPãã¤ã³ãã£ã³ã°ããµãã¼ããã¦ããå ´åãããã¯protocol-query.wsdlã§è¨è¿°ããã¦ããããã«ãã¤ã³ãã£ã³ã°ããµãã¼ãããªããã°ãªãã¾ããï¼mustï¼ãSPARQLãããã³ã«ã»ãµã¼ãã¹ã¯ãä»ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ããµãã¼ããããã¨ãã§ãã¾ãï¼mayï¼ã詳ããæ
å ±ã¯ã2.3é
SOAPãã¤ã³ãã£ã³ã°ãåç
§ãã¦ãã ããã
[WSDL2-Adjuncts]ã§ã¯ãæ½è±¡çãªã¤ã³ã¿ã¼ãã§ã¼ã¹ã»ãªãã¬ã¼ã·ã§ã³ãHTTPã«ãã¤ã³ãã£ã³ã°ããææ®µãå®ç¾©ãã¦ãã¾ããquery
ãªãã¬ã¼ã·ã§ã³ï¼protocol-query.wsdlã®ï¼ã«å¯¾ããHTTPãã¤ã³ãã£ã³ã°ã¯æ¬¡ã®éãã§ãã
<!-- the HTTP GET binding for query operation --> <binding name="queryHttpGet" interface="tns:SparqlQuery" type="http://www.w3.org/2006/01/wsdl/http" whttp:version="1.1"> <fault ref="tns:MalformedQuery" whttp:code="400"/> <fault ref="tns:QueryRequestRefused" whttp:code="500"/> <operation ref="tns:query" wsdlx:safe="true" whttp:method="GET" whttp:faultSerialization="*/*" whttp:inputSerialization="application/x-www-form-urlencoded" whttp:outputSerialization="application/sparql-results+xml, application/rdf+xml, */*" /> </binding> <!-- the HTTP POST binding for query operation --> <binding name="queryHttpPost" interface="tns:SparqlQuery" type="http://www.w3.org/2006/01/wsdl/http" whttp:version="1.1"> <fault ref="tns:MalformedQuery" whttp:code="400"/> <fault ref="tns:QueryRequestRefused" whttp:code="500"/> <operation ref="tns:query" wsdlx:safe="true" whttp:method="POST" whttp:faultSerialization="*/*" whttp:inputSerialization="application/x-www-form-urlencoded, application/xml" whttp:outputSerialization="application/sparql-results+xml, application/rdf+xml, */*" /> </binding>
2ã¤ã®HTTPãã¤ã³ãã£ã³ã°ãqueryHttpGet
ã¨queryHttpPost
ãããã両æ¹ã¨ãSparqlQuery
ã¤ã³ã¿ã¼ãã§ã¼ã¹ã®ãã¤ã³ãã£ã³ã°ã¨ãã¦è¨è¿°ããã¾ãããããã®åãã¤ã³ãã£ã³ã°ã§ã¯ãSparqlQueryã¤ã³ã¿ã¼ãã§ã¼ã¹ã§è¨è¿°ããã¦ããMalformedQuery
ã¨QueryRequestRefused
ã®2ã¤ã®ãã©ã«ãã¯ãããããHTTPã¹ãã¼ã¿ã¹ã»ã³ã¼ãã®400 Bad Request
ã¨500 Internal Server Error
ã«ãã¤ã³ãããã¦ãã¾ã [HTTP]ã
URLã§ã³ã¼ãåãããã¯ã¨ãªãå®éçãªéçãè¶
ããå ´åãé¤ãã¦ãqueryHttpGet
ãã¤ã³ãã£ã³ã°ãç¨ããã¹ãã§ï¼shouldï¼ããã®éçãè¶
ããå ´åã«ã¯queryHttpPost
ãã¤ã³ãã£ã³ã°ãç¨ããã¹ãã§ãï¼shouldï¼ã
ã·ãªã¢ã«åå¶ç´ã«é¢ããåèæ
å ±ã¨ãã¦ã®æ³¨ãqueryHttpGet
ããã³queryHttpPost
ãã¤ã³ãã£ã³ã°ã®åºåã®ã·ãªã¢ã«åã¯ãæ§ã
ãªã¿ã¤ãã®RDFã°ã©ãã®ã·ãªã¢ã«åãåæ ããããã«æå³çã«å¶ç´ä¸è¶³ã«ãªã£ã¦ãã¾ããqueryHttpGet
ããã³queryHttpPost
ã®ãã©ã«ãã®ã·ãªã¢ã«åããæå³çã«å¶ç´ä¸è¶³ã«ãªã£ã¦ãã¾ããé©åSPARQLãããã³ã«ã»ãµã¼ãã¹ã¯ãå¥ã®WSDLã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ã¨ãã¤ã³ãã£ã³ã°ã«ç°ãªãå¶ç´ãæä¾ã§ãã¾ãã
query
ãªãã¬ã¼ã·ã§ã³ã®ãã®ãã¤ã³ãã£ã³ã°ã¯ã[HTTP]ã®GET
ããæ¬¡ã®ã·ãªã¢ã«åã¿ã¤ãã®å¶ç´ã§ç¨ãã¾ããwhttp:faultSerialization
ã®å¤ã¯ã*/*
ã§ãã2çªç®ã«ãwhttp:inputSerialization
ã®å¤ã¯ãUTF-8ã§ã¨ã³ã³ã¼ãã£ã³ã°ããapplication/x-www-form-urlencoded
ã§ããããã¦ã3çªç®ã«ãwhttp:outputSerialization
ã¯ãUTF-8ã§ã¨ã³ã³ã¼ãã£ã³ã°ããapplication/sparql-results+xml
ãUTF-8ã§ã¨ã³ã³ã¼ãã£ã³ã°ããapplication/rdf+xml
ãããã³ã*/*
ã§ãã
query
ãªãã¬ã¼ã·ã§ã³ã®ãã®ãã¤ã³ãã£ã³ã°ã¯ã[HTTP]ã®POST
ããæ¬¡ã®ã·ãªã¢ã«åã¿ã¤ãã®å¶ç´ã§ç¨ãã¾ããwhttp:faultSerialization
ã®å¤ã¯ã*/*
ã§ãã2çªç®ã«ãwhttp:inputSerialization
ã®å¤ã¯ãUTF-8ã§ã¨ã³ã³ã¼ãã£ã³ã°ããapplication/x-www-form-urlencoded
ãããã³ãUTF-8ã§ã¨ã³ã³ã¼ãã£ã³ã°ããapplication/xml
ã§ããããã¦ã3çªç®ã«ãwhttp:outputSerialization
ã¯ãUTF-8ã§ã¨ã³ã³ã¼ãã£ã³ã°ããapplication/sparql-results+xml
ãUTF-8ã§ã¨ã³ã³ã¼ãã£ã³ã°ããapplication/rdf+xml
ãããã³ã*/*
ã§ãã
ä¸è¨ã®æ½è±¡çãªHTTPãã¬ã¼ã¹ã®ä¾ã§ã¯ãããã¤ãã®ç°ãªãã·ããªãªã®ä¸ã§query
ãªãã¬ã¼ã·ã§ã³ã®å¼ã³åºãã«ã¤ãã¦èª¬æãã¾ãããããã®ãã¬ã¼ã¹ã®ä¾ã¯ãå®å
¨ãªHTTPãã¬ã¼ã¹ããæ¬¡ã®3ã¤ã®æ¹æ³ã§æ½åºãã¦ãã¾ãã(1)åä¾ã§ã¯ãæååãEncodedQueryãã¯ãåä¾ã®æåã®ãããã¯ã§ç¤ºããSPARQLã¯ã¨ãªãURLã¨ã³ã³ã¼ãããæåååçã表ãã¾ãã(2)ã¯ã¨ãªçµæãå«ããã¬ã¹ãã³ã¹æ¬æã®é¨åã®ã¿ã表示ãã¦ãã¾ãã(3)default-graph-uri
ã¨named-graph-uri
ã®URIå¤ãURLã¨ã³ã³ã¼ãããã¦ãã¾ããã
次ã®SPARQLã¯ã¨ãª
PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?book ?who WHERE { ?book dc:creator ?who }
ã¯ã次ã®HTTPãã¬ã¼ã¹ã§ç¤ºãã¦ããã¨ãããSPARQLã¯ã¨ãªã®ãµã¼ãã¹ï¼http://www.example/sparql/ï¼ã«ä¼ãããã¾ãã
GET /sparql/?query=EncodedQuery HTTP/1.1 Host: www.example User-agent: my-sparql-client/0.1
ãµã¼ãã¹ããæä¾ãããRDFãã¼ã¿ã»ããã«å¯¾ãããã®ã¯ã¨ãªï¼ãã®SPARQLã¯ã¨ãªã®ãµã¼ãã¹ã«ãã£ã¦å®è¡ãããï¼ã¯ã次ã®ã¯ã¨ãªçµæãè¿ãã¾ãã
HTTP/1.1 200 OK Date: Fri, 06 May 2005 20:55:12 GMT Server: Apache/1.3.29 (Unix) PHP/4.3.4 DAV/1.0.3 Connection: close Content-Type: application/sparql-results+xml <?xml version="1.0"?> <sparql xmlns="http://www.w3.org/2005/sparql-results#"> <head> <variable name="book"/> <variable name="who"/> </head> <results distinct="false" ordered="false"> <result> <binding name="book"><uri>http://www.example/book/book5</uri></binding> <binding name="who"><bnode>r29392923r2922</bnode></binding> </result> ... <result> <binding name="book"><uri>http://www.example/book/book6</uri></binding> <binding name="who"><bnode>r8484882r49593</bnode></binding> </result> </results> </sparql>2.2.1.2 SELECTã¨ã·ã³ãã«ãªRDFãã¼ã¿ã»ãã
次ã®SPARQLã¯ã¨ãª
PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?book ?who WHERE { ?book dc:creator ?who }
ã¯ã次ã®HTTPãã¬ã¼ã¹ã§ç¤ºãã¦ããã¨ãããSPARQLã¯ã¨ãªã®ãµã¼ãã¹ï¼http://www.other.example/sparql/ï¼ã«ä¼ãããã¾ãã
GET /sparql/?query=EncodedQuery&default-graph-uri=http://www.other.example/books HTTP/1.1 Host: www.other.example User-agent: my-sparql-client/0.1
å½è©²SPARQLã¯ã¨ãªã®ãµã¼ãã¹ã«ãã£ã¦å®è¡ãããããã®ã¯ã¨ãª——default-graph-uri
ãã©ã¡ã¼ã¿ï¼http://www.other.example/booksï¼ã®å¤ã§èå¥ãããRDFãã¼ã¿ã»ããã«å¯¾ãã——ã¯ã次ã®ã¯ã¨ãªçµæãè¿ãã¾ãã
HTTP/1.1 200 OK Date: Fri, 06 May 2005 20:55:12 GMT Server: Apache/1.3.29 (Unix) PHP/4.3.4 DAV/1.0.3 Connection: close Content-Type: application/sparql-results+xml <?xml version="1.0"?> <sparql xmlns="http://www.w3.org/2005/sparql-results#"> <head> <variable name="book"/> <variable name="who"/> </head> ... <results distinct="false" ordered="false"> <result> <binding name="book"><uri>http://www.example/book/book2</uri></binding> <binding name="who"><bnode>r1115396427r1133</bnode></binding> </result> <result> <binding name="book"><uri>http://www.example/book/book3</uri></binding> <binding name="who"><bnode>r1115396427r1133</bnode></binding> </result> <result> <binding name="book"><uri>http://www.example/book/book1</uri></binding> <binding name="who"><literal>J.K. Rowling</literal></binding> </result> </results> </sparql>2.2.1.3 CONSTRUCTã¨ã·ã³ãã«ãªRDFãã¼ã¿ã»ããããã³HTTPå 容交æ¸
次ã®SPARQLã¯ã¨ãª
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX myfoaf: <http://www.example/jose/foaf.rdf#> CONSTRUCT { myfoaf:jose foaf:depiction <http://www.example/jose/jose.jpg>. myfoaf:jose foaf:schoolHomepage <http://www.edu.example/>. ?s ?p ?o.} WHERE { ?s ?p ?o. myfoaf:jose foaf:nick "Jo". FILTER ( ! (?s = myfoaf:kendall && ?p = foaf:knows && ?o = myfoaf:edd ) && ! ( ?s = myfoaf:julia && ?p = foaf:mbox && ?o = <mailto:julia@mail.example> ) && ! ( ?s = myfoaf:julia && ?p = rdf:type && ?o = foaf:Person)) }
ã¯ã次ã®HTTPãã¬ã¼ã¹ã§ç¤ºãã¦ããã¨ãããSPARQLã¯ã¨ãªã®ãµã¼ãã¹ï¼http://www.example/sparql/ï¼ã«ä¼ãããã¾ãã
GET /sparql/?query=EncodedQuery&default-graph-uri=http://www.example/jose-foaf.rdf HTTP/1.1 Host: www.example User-agent: sparql-client/0.1 Accept: text/turtle, application/rdf+xml
ããã¨ã次ã®ã¬ã¹ãã³ã¹ãå¾ããã¾ãã
HTTP/1.1 200 OK Date: Fri, 06 May 2005 20:55:11 GMT Server: Apache/1.3.29 (Unix) Connection: close Content-Type: text/turtle @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>. @prefix foaf: <http://xmlns.com/foaf/0.1/>. @prefix myfoaf: <http://www.example/jose/foaf.rdf#>. myfoaf:jose foaf:name "Jose Jimeñez"; foaf:depiction <http://www.example/jose/jose.jpg>; foaf:nick "Jo"; ... foaf:schoolHomepage <http://www.edu.example/>; foaf:workplaceHomepage <http://www.corp.example/>; foaf:homepage <http://www.example/jose/>; foaf:knows myfoaf:juan; rdf:type foaf:Person. myfoaf:juan foaf:mbox <mailto:juan@mail.example>; rdf:type foaf:Person.
注æ: ãã®ã¡ãã£ã¢ã»ã¿ã¤ãtext/turtleã®ç»é²ã«çæãã¾ãããããã®ææ¸ã®å ¬è¡¨æç¹ã§ã¯å®äºãã¦ãã¾ãããTurtleè¨èªã®æçµçã«ç»é²ãããã¡ãã£ã¢ã»ã¿ã¤ãã«é¢ãã¦ã¯ãhttp://www.w3.org/TeamSubmission/turtleãåç §ãã¦ãã ããã
2.2.1.4 ASKã¨ã·ã³ãã«ãªRDFãã¼ã¿ã»ããæ¬¡ã®SPARQLã¯ã¨ãª
PREFIX dc: <http://purl.org/dc/elements/1.1/> ASK WHERE { ?book dc:creator "J.K. Rowling"}
ã¯ã次ã®HTTPãã¬ã¼ã¹ã§ç¤ºãã¦ããã¨ãããSPARQLã¯ã¨ãªã®ãµã¼ãã¹ï¼http://www.example/sparql/ï¼ã«ä¼ãããã¾ãã
GET /sparql/?query=EncodedQuery&default-graph-uri=http://www.example/books HTTP/1.1 Host: www.example User-agent: sparql-client/0.1
ããã¨ã次ã®ã¬ã¹ãã³ã¹ãå¾ããã¾ãã
HTTP/1.1 200 OK Date: Fri, 06 May 2005 20:48:25 GMT Server: Apache/1.3.29 (Unix) PHP/4.3.4 DAV/1.0.3 Connection: close Content-Type: application/sparql-results+xml <?xml version="1.0"?> <sparql xmlns="http://www.w3.org/2005/sparql-results#"> <head></head> <boolean>true</boolean> </sparql>2.2.1.5 DESCRIBEã¨ã·ã³ãã«ãªRDFãã¼ã¿ã»ãã
次ã®SPARQLã¯ã¨ãª
PREFIX books: <http://www.example/book/> DESCRIBE books:book6
ã¯ã次ã§ç¤ºãã¦ããã¨ãããSPARQLã¯ã¨ãªã®ãµã¼ãã¹ï¼http://www.example/sparql/ï¼ã«ä¼ãããã¾ãã
GET /sparql/?query=EncodedQuery&default-graph-uri=http://www.example/books HTTP/1.1 Host: www.example User-agent: sparql-client/0.1
ããã¨ã次ã®ã¬ã¹ãã³ã¹ãå¾ããã¾ãã
HTTP/1.1 200 OK Date: Wed, 03 Aug 2005 12:48:25 GMT Server: Apache/1.3.29 (Unix) PHP/4.3.4 DAV/1.0.3 Connection: close Content-Type: application/rdf+xml <?xml version="1.0"?> <rdf:RDF ... xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:books="http://www.example/book/" xmlns:dc="http://purl.org/dc/elements/1.1/" <rdf:Description rdf:about="http://www.example/book/book6"> <dc:title>Example Book #6 </dc:title> </rdf:Description> </rdf:RDF>2.2.1.6 SELECTã¨è¤åçãªRDFãã¼ã¿ã»ãã
次ã®SPARQLã¯ã¨ãª
PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?who ?g ?mbox WHERE { ?g dc:publisher ?who . GRAPH ?g { ?x foaf:mbox ?mbox } }
ã¯ã次ã§ç¤ºãã¦ããã¨ããï¼èªã¿ãããããã«æ¹è¡ä»ãã§ï¼ãSPARQLã¯ã¨ãªã®ãµã¼ãã¹ï¼http://www.example/sparql/ï¼ã«ä¼ãããã¾ãã
GET /sparql/?query=EncodedQuery&default-graph-uri=http://www.example/publishers &default-graph-uri=http://www.example/morepublishers&named-graph-uri=http://your.example/foaf-alice &named-graph-uri=http://www.example/foaf-bob&named-graph-uri=http://www.example/foaf-susan &named-graph-uri=http://this.example/john/foaf Host: www.example User-agent: sparql-client/0.1
ããã¨ã次ã®ã¬ã¹ãã³ã¹ãå¾ããã¾ãã
HTTP/1.1 200 OK Date: Wed, 03 Aug 2005 12:48:25 GMT Server: Apache/1.3.29 (Unix) PHP/4.3.4 DAV/1.0.3 Connection: close Content-Type: application/sparql-results+xml <?xml version="1.0"?> <sparql xmlns="http://www.w3.org/2005/sparql-results#"> <head> <variable name="who"/> <variable name="g"/> <variable name="mbox"/> </head> ... <results ordered="false" distinct="false"> <result> <binding name="who"> <literal>Alice</literal> </binding> <binding name="g"> <uri>http://your.example/foaf-alice</uri> </binding> <binding name="mbox"> <uri>mailto:alice@example.org</uri> </binding> </result> <result> <binding name="who"> <literal>Bob</literal> </binding> <binding name="g"> <uri>http://www.example/foaf-bob</uri> </binding> <binding name="mbox"> <uri>mailto:bob@work.example</uri> </binding> </result> <result> <binding name="who"> <literal>Susan</literal> </binding> <binding name="g"> <uri>http://www.example/foaf-susan</uri> </binding> <binding name="mbox"> <uri>mailto:susan@work.example</uri> </binding> </result> <result> <binding name="who"> <literal>John</literal> </binding> <binding name="g"> <uri>http://this.example/john/foaf</uri> </binding> <binding name="mbox"> <uri>mailto:john@home.example</uri> </binding> </result> </results> </sparql>2.2.1.7 SELECTã¨ã¯ã¨ãªã®ã¿ã®RDFãã¼ã¿ã»ãã
次ã®SPARQLã¯ã¨ãª
PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?who ?g ?mbox FROM <http://www.example/publishers> FROM NAMED <http://www.example/alice> FROM NAMED <http://www.example/bob> WHERE { ?g dc:publisher ?who . GRAPH ?g { ?x foaf:mbox ?mbox } }
ã¯ã次ã®HTTPãã¬ã¼ã¹ã§ç¤ºãã¦ããã¨ãããSPARQLã¯ã¨ãªã®ãµã¼ãã¹ï¼http://www.example/sparql/ï¼ã«ä¼ãããã¾ãã
GET /sparql/?query=EncodedQuery HTTP/1.1 Host: www.example User-agent: sparql-client/0.1
ããã¨ã次ã®ã¬ã¹ãã³ã¹ãå¾ããã¾ãã
HTTP/1.1 200 OK Date: Wed, 03 Aug 2005 12:48:25 GMT Server: Apache/1.3.29 (Unix) PHP/4.3.4 DAV/1.0.3 Connection: close Content-Type: application/sparql-results+xml <?xml version="1.0"?> <sparql xmlns="http://www.w3.org/2005/sparql-results#"> ... <head> <variable name="who"/> <variable name="g"/> <variable name="mbox"/> </head> <results ordered="false" distinct="false"> <result> <binding name="who"> <literal>Bob Hacker</literal> </binding> <binding name="g"> <uri>http://www.example/bob</uri> </binding> <binding name="mbox"> <uri>mailto:bob@oldcorp.example</uri> </binding> </result> <result> <binding name="who"> <literal>Alice Hacker</literal> </binding> <binding name="g"> <uri>http://www.example/alice</uri> </binding> <binding name="mbox"> <uri>mailto:alice@work.example</uri> </binding> </result> </results> </sparql>2.2.1.8 SELECTã¨ææ§ãªRDFãã¼ã¿ã»ãã
次ã®SPARQLã¯ã¨ãª
PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?who ?g ?mbox FROM <http://www.example/publishers> FROM NAMED <http://www.example/john> FROM NAMED <http://www.example/susan> WHERE { ?g dc:publisher ?who . GRAPH ?g { ?x foaf:mbox ?mbox } }
ã¯ã次ã®HTTPãã¬ã¼ã¹ã§ç¤ºãã¦ããã¨ãããSPARQLã¯ã¨ãªã®ãµã¼ãã¹ï¼http://www.example/sparql/ï¼ã«ä¼ãããã¾ãã
GET /sparql/?query=EncodedQuery&default-graph-uri=http://www.example/morepublishers &named-graph-uri=http://www.example/bob&named-graph-uri=http://www.example/alice HTTP/1.1 Host: www.example User-agent: sparql-client/0.1
ãã®ãããã³ã«ã»ãªãã¬ã¼ã·ã§ã³ã«ã¯ææ§ãªRDFãã¼ã¿ã»ãããå«ã¾ãã¦ãã¾ããã¯ã¨ãªã§æå®ããã¦ãããã¼ã¿ã»ããã¯ããããã³ã«ã§æå®ããããã®ï¼default-graph-uri
ã¨named-graph-uri
ã®ãã©ã¡ã¼ã¿ã«ããï¼ã¨ã¯ç°ãªãã¾ããé©åSPARQLãããã³ã«ã»ãµã¼ãã¹ã¯ããããã³ã«ã§æå®ããã¦ããRDFãã¼ã¿ã»ããã«ã¯ã¨ãªãå®è¡ãããã¨ã§ããã®ææ§ãã解決ããªããã°ãªãã¾ããã
HTTP/1.1 200 OK Date: Wed, 03 Aug 2005 12:48:25 GMT Server: Apache/1.3.29 (Unix) PHP/4.3.4 DAV/1.0.3 Connection: close Content-Type: application/sparql-results+xml <?xml version="1.0"?> <sparql xmlns="http://www.w3.org/2005/sparql-results#"> <head> <variable name="who"/> <variable name="g"/> <variable name="mbox"/> </head> <results ordered="false" distinct="false"> <result> <binding name="who"> <literal>Bob Hacker</literal> </binding> <binding name="g"> <uri>http://www.example/bob</uri> </binding> <binding name="mbox"> <uri>mailto:bob@oldcorp.example</uri> </binding> </result> <result> <binding name="who"> <literal>Alice Hacker</literal> </binding> <binding name="g"> <uri>http://www.example/alice</uri> </binding> <binding name="mbox"> <uri>mailto:alice@work.example</uri> </binding> </result> </results> </sparql>2.2.1.9 SELECTã¨ä¸æ£ãªå½¢å¼ã®ã¯ã¨ãªã®ãã©ã«ã
æ¬¡ã®æ§æçã«ä¸æ£ãªSPARQLã¯ã¨ãª
PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?name WHERE { ?x foaf:name ?name ORDER BY ?name }
ã¯ã次ã®HTTPãã¬ã¼ã¹ã§ç¤ºãã¦ããã¨ãããSPARQLã¯ã¨ãªã®ãµã¼ãã¹ï¼http://www.example/sparql/ï¼ã«ä¼ãããã¾ãã
GET /sparql/?query=EncodedQuery&default-graph-uri=http://www.example/morepublishers HTTP/1.1 Host: www.example User-agent: sparql-client/0.1
ããã§ç¤ºãã¬ã¹ãã³ã¹——2.1 SparqlQueryã«ããã¨ãããOutã¡ãã»ã¼ã¸ãç½®ãæããMalformedQuery
ãã©ã«ã——ãä¼´ãã¾ãã
HTTP/1.1 400 Bad Request Date: Wed, 03 Aug 2005 12:48:25 GMT Server: Apache/1.3.29 (Unix) PHP/4.3.4 DAV/1.0.3 Connection: close Content-Type: text/plain; charset=UTF-8 4:syntax error, unexpected ORDER, expecting '}'2.2.1.10 SELECTã¨ã¯ã¨ãªã»ãªã¯ã¨ã¹ãæå¦ã®ãã©ã«ã
次ã®SPARQLã¯ã¨ãª
PREFIX bio: <http://bio.example/schema/#> SELECT ?valence FROM <http://another.example/protein-db.rdf> WHERE { ?x bio:protein ?valence } ORDER BY ?valence
ã¯ã次ã®HTTPãã¬ã¼ã¹ã§ç¤ºãã¦ããã¨ãããSPARQLã¯ã¨ãªã®ãµã¼ãã¹ï¼http://www.example/sparql/ï¼ã«ä¼ãããã¾ãã
GET /sparql/?query=EncodedQuery&default-graph-uri=http://another.example/protein-db.rdf HTTP/1.1 Host: www.example User-agent: sparql-client/0.1
ããã§ç¤ºãã¬ã¹ãã³ã¹——2.1 SparqlQueryã«ããã¨ãããOutã¡ãã»ã¼ã¸ãç½®ãæãããQueryRequestRefused
ãã©ã«ã——ãä¼´ãã¾ãã
HTTP/1.1 500 Internal Server Error Date: Wed, 03 Aug 2005 12:48:25 GMT Server: Apache/1.3.29 (Unix) PHP/4.3.4 DAV/1.0.3 Connection: close Content-Type: text/html; charset=UTF-8 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>SPARQL Processing Service: Query Request Refused</title> </head> <body> <p> Query Request Refused: your request could not be processed because <code>http://another.example/protein-db.rdf</code> could not be retrieved within the time alloted.</p> </body> </html>2.2.1.11 POSTãã¤ã³ãã£ã³ã°ãç¨ããé常ã«é·ãSELECTã¯ã¨ãª
ä¸é¨ã®SPARQLã¯ã¨ãªï¼æãããã·ã¹ãã ã«ããçæãããï¼ã¯ã2.2 HTTPãã¤ã³ãã£ã³ã°ã§è¨è¿°ãã¦ããHTTP GETãã¤ã³ãã£ã³ã°ã§ç¢ºå®ã«ä¼ãããã¨ãã§ããé·ããè¶ ãã¦ããããããã¾ããããã®å ´åã¯ã2.2é ã§è¨è¿°ãã¦ããPOSTãã¤ã³ãã£ã³ã°ã使ç¨ã§ãã¾ããæ¬¡ã®SPARQLã¯ã¨ãª
PREFIX : <http://www.w3.org/2002/12/cal/icaltzd#> PREFIX Chi: <http://www.w3.org/2002/12/cal/test/Chiefs.ics#> PREFIX New: <http://www.w3.org/2002/12/cal/tzd/America/New_York#> PREFIX XML: <http://www.w3.org/2001/XMLSchema#> SELECT ?summary WHERE { { Chi:D603E2AC-C1C9-11D6-9446-003065F198AC a :Vevent; :dtend "2002-09-08T16:00:00"^^New:tz; :dtstamp "2002-09-06T03:09:27Z"^^XML:dateTime; :dtstart "2002-09-08T13:00:00"^^New:tz; :summary ?summary; :uid "D603E2AC-C1C9-11D6-9446-003065F198AC" . } UNION { Chi:D603E90B-C1C9-11D6-9446-003065F198AC a :Vevent; :dtend "2002-09-15T16:00:00"^^New:tz; :dtstamp "2002-09-06T03:10:19Z"^^XML:dateTime; :dtstart "2002-09-15T13:00:00"^^New:tz; :summary ?summary; :uid "D603E90B-C1C9-11D6-9446-003065F198AC" . } UNION { Chi:D603ED6E-C1C9-11D6-9446-003065F198AC a :Vevent; :dtend "2002-09-22T16:00:00"^^New:tz; :dtstamp "2002-09-06T03:11:05Z"^^XML:dateTime; :dtstart "2002-09-22T13:00:00"^^New:tz; :summary ?summary; :uid "D603ED6E-C1C9-11D6-9446-003065F198AC" . } UNION { Chi:D603F18C-C1C9-11D6-9446-003065F198AC a :Vevent; :dtend "2002-09-29T16:00:00"^^New:tz; :dtstamp "2002-09-06T03:15:46Z"^^XML:dateTime; :dtstart "2002-09-29T13:00:00"^^New:tz; :summary ?summary; :uid "D603F18C-C1C9-11D6-9446-003065F198AC" . } UNION { Chi:D603F5B7-C1C9-11D6-9446-003065F198AC a :Vevent; :dtend "2002-11-04"^^XML:date; :dtstamp "2002-09-06T03:12:53Z"^^XML:dateTime; :dtstart "2002-11-03"^^XML:date; :summary ?summary; :uid "D603F5B7-C1C9-11D6-9446-003065F198AC" . } UNION { Chi:D603F9D7-C1C9-11D6-9446-003065F198AC a :Vevent; :dtend "2002-11-10T20:15:00"^^New:tz; :dtstamp "2002-09-06T03:14:12Z"^^XML:dateTime; :dtstart "2002-11-10T17:15:00"^^New:tz; :summary ?summary; :uid "D603F9D7-C1C9-11D6-9446-003065F198AC" . } UNION { Chi:D604022C-C1C9-11D6-9446-003065F198AC a :Vevent; :dtend "2002-11-17T17:00:00"^^New:tz; :dtstamp "2002-09-06T03:14:51Z"^^XML:dateTime; :dtstart "2002-11-17T14:00:00"^^New:tz; :summary ?summary; :uid "D604022C-C1C9-11D6-9446-003065F198AC" . } UNION { Chi:D604065C-C1C9-11D6-9446-003065F198AC a :Vevent; :dtend "2002-10-06T19:05:00"^^New:tz; :dtstamp "2002-09-06T03:16:54Z"^^XML:dateTime; :dtstart "2002-10-06T16:05:00"^^New:tz; :summary ?summary; :uid "D604065C-C1C9-11D6-9446-003065F198AC" . } UNION { Chi:D6040A7E-C1C9-11D6-9446-003065F198AC a :Vevent; :dtend "2002-10-13T19:15:00"^^New:tz; :dtstamp "2002-09-06T03:17:51Z"^^XML:dateTime; :dtstart "2002-10-13T16:15:00"^^New:tz; :summary ?summary; :uid "D6040A7E-C1C9-11D6-9446-003065F198AC" . } UNION { Chi:D6040E96-C1C9-11D6-9446-003065F198AC a :Vevent; :dtend "2002-10-20T16:00:00"^^New:tz; :dtstamp "2002-09-06T03:18:32Z"^^XML:dateTime; :dtstart "2002-10-20T13:00:00"^^New:tz; :summary ?summary; :uid "D6040E96-C1C9-11D6-9446-003065F198AC" . } UNION { Chi:D6041270-C1C9-11D6-9446-003065F198AC a :Vevent; :dtend "2002-10-27T17:00:00"^^New:tz; :dtstamp "2002-09-06T03:19:15Z"^^XML:dateTime; :dtstart "2002-10-27T14:00:00"^^New:tz; :summary ?summary; :uid "D6041270-C1C9-11D6-9446-003065F198AC" . } UNION { Chi:D6041673-C1C9-11D6-9446-003065F198AC a :Vevent; :dtend "2002-11-24T20:05:00"^^New:tz; :dtstamp "2002-09-06T03:22:09Z"^^XML:dateTime; :dtstart "2002-11-24T17:05:00"^^New:tz; :summary ?summary; :uid "D6041673-C1C9-11D6-9446-003065F198AC" . } UNION { Chi:D6041A73-C1C9-11D6-9446-003065F198AC a :Vevent; :dtend "2002-12-01T17:00:00"^^New:tz; :dtstamp "2002-09-06T03:22:52Z"^^XML:dateTime; :dtstart "2002-12-01T14:00:00"^^New:tz; :summary ?summary; :uid "D6041A73-C1C9-11D6-9446-003065F198AC" . } UNION { Chi:D60421EF-C1C9-11D6-9446-003065F198AC a :Vevent; :dtend "2002-12-08T17:00:00"^^New:tz; :dtstamp "2002-09-06T03:24:04Z"^^XML:dateTime; :dtstart "2002-12-08T14:00:00"^^New:tz; :summary ?summary; :uid "D60421EF-C1C9-11D6-9446-003065F198AC" . } UNION { Chi:D6042660-C1C9-11D6-9446-003065F198AC a :Vevent; :dtend "2002-12-15T20:05:00"^^New:tz; :dtstamp "2002-09-06T03:25:03Z"^^XML:dateTime; :dtstart "2002-12-15T17:05:00"^^New:tz; :summary ?summary; :uid "D6042660-C1C9-11D6-9446-003065F198AC" . } UNION { Chi:D6042A93-C1C9-11D6-9446-003065F198AC a :Vevent; :dtend "2002-12-22T17:00:00"^^New:tz; :dtstamp "2002-09-06T03:25:47Z"^^XML:dateTime; :dtstart "2002-12-22T14:00:00"^^New:tz; :summary ?summary; :uid "D6042A93-C1C9-11D6-9446-003065F198AC" . } UNION { Chi:D6042EDF-C1C9-11D6-9446-003065F198AC a :Vevent; :dtend "2002-12-28T21:00:00"^^New:tz; :dtstamp "2002-09-06T03:26:51Z"^^XML:dateTime; :dtstart "2002-12-28T18:00:00"^^New:tz; :summary ?summary; :uid "D6042EDF-C1C9-11D6-9446-003065F198AC" . } }
ã¯ã次ã®HTTPãã¬ã¼ã¹ã§ç¤ºãã¦ããã¨ãããSPARQLã¯ã¨ãªã®ãµã¼ãã¹ï¼http://www.example/sparql/ï¼ã«ä¼ãããã¾ãã
POST /sparql/ HTTP/1.1 Host: www.example User-agent: sparql-client/0.1 Content-Type: application/x-www-form-urlencoded Content-Length: 9461 query=EncodedQuery&default-graph-uri=http://another.example/calendar.rdf
ããã¨ã次ã®ã¬ã¹ãã³ã¹ãå¾ããã¾ãã
HTTP/1.1 200 OK Date: Wed, 03 Aug 2005 12:48:25 GMT Server: Apache/1.3.29 (Unix) PHP/4.3.4 DAV/1.0.3 Connection: close Content-Type: application/sparql-results+xml <?xml version="1.0"?> <sparql xmlns="http://www.w3.org/2005/sparql-results#"> <head> <variable name="summary"/> </head> <results ordered="false" distinct="false"> <result> <binding name="summary"> <literal>Chiefs vs. Cleveland @ Cleveland Stadium</literal> </binding> </result> <result> <binding name="summary"> <literal>Chiefs vs. Jacksonville @ Arrowhead Stadium</literal> </binding> </result> <result> <binding name="summary"> <literal>Chiefs vs. New England @ Gillette Stadium</literal> </binding> </result> ... <result> <binding name="summary"> <literal>Chiefs vs. Miami @ Arrowhead Stadium</literal> </binding> </result> <result> <binding name="summary"> <literal>BYE</literal> </binding> </result> <result> <binding name="summary"> <literal>Chiefs vs. San Francisco @ 49ers Stadium at Candlestick Point</literal> </binding> </result> <result> <binding name="summary"> <literal>Chiefs vs. Buffalo @ Arrowhead Stadium</literal> </binding> </result> <result> <binding name="summary"> <literal>Chiefs vs. NY Jets @ Giants Stadium</literal> </binding> </result> <result> <binding name="summary"> <literal>Chiefs vs. San Diego @ Qualcomm Stadium</literal> </binding> </result> <result> <binding name="summary"> <literal>Chiefs vs. Denver @ Arrowhead Stadium</literal> </binding> </result> <result> <binding name="summary"> <literal>Chiefs vs. Oakland @ Arrowhead Stadium</literal> </binding> </result> <result> <binding name="summary"> <literal>Chiefs vs. Seattle @ Seahawks Stadium</literal> </binding> </result> <result> <binding name="summary"> <literal>Chiefs vs. Arizona @ Arrowhead Stadium</literal> </binding> </result> <result> <binding name="summary"> <literal>Chiefs vs. St. Louis @ Arrowhead Stadium</literal> </binding> </result> <result> <binding name="summary"> <literal>Chiefs vs. Denver @ INVESCO Field at Mile High</literal> </binding> </result> <result> <binding name="summary"> <literal>Chiefs vs. San Diego @ Arrowhead Stadium</literal> </binding> </result> <result> <binding name="summary"> <literal>Chiefs vs. Oakland @ Network Associates Coliseum</literal> </binding> </result> </results> </sparql>2.2.1.12 SELECTã¨å½éå
SPARQLã¯ã¨ãªã¯ãå½éåããæåãæåéåãå«ããã¨ãã§ãã¾ããæ¬¡ã®SPARQLã¯ã¨ãª
PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX é£: <http://www.w3.org/2001/sw/DataAccess/tests/data/i18n/kanji.ttl#> SELECT ?name ?food WHERE { [ foaf:name ?name ; é£:é£ã¹ã ?food ] . }
ã¯ã次ã®HTTPãã¬ã¼ã¹ã§ç¤ºãã¦ããã¨ãããSPARQLã¯ã¨ãªã®ãµã¼ãã¹ï¼http://www.example/sparql/ï¼ã«ä¼ãããã¾ãã
GET /sparql/?query=EncodedQuery Host: www.example User-agent: sparql-client/0.1
HTTP/1.1 200 OK Date: Wed, 03 Aug 2005 12:48:25 GMT Server: Apache/1.3.29 (Unix) Connection: close Content-Type: application/sparql-results+xml <?xml version="1.0"?> <sparql xmlns="http://www.w3.org/2005/sparql-results#"> ... </sparql>2.2.1.13 SELECTã¨queryHttpPostãã¤ã³ãã£ã³ã°ããã³XMLå ¥å
å°æ¥ã®ãã¼ã¸ã§ã³ã§ã¯ãSPARQLã¯ã¨ãªã¯XMLã¨ãã¦ã·ãªã¢ã«åãããHTTP POST
ã«ãã£ã¦SPARQLã¯ã¨ãªã®ãµã¼ãã¹ã«ä¼ããããå¯è½æ§ãããã¾ããæ¬¡ã®SPARQLã¯ã¨ãª
<?xml version="1.0"?> <rdf-query xmlns="http://example.org/SparqlX/"> <select><variable name="book"/><variable name="who"/></select> <query-pattern> <triple-pattern> <subject><variable name="book"/></subject> <predicate><uri>http://purl.org/dc/elements/1.1/creator</uri></predicate> <object><variable name="who"/></object> </triple-pattern> </query-pattern> </rdf-query>
ã¯ã次ã®HTTPãã¬ã¼ã¹ã§ç¤ºãã¦ããã¨ãããSPARQLã¯ã¨ãªã®ãµã¼ãã¹ï¼http://www.example/sparql/ï¼ã«ä¼ãããã¾ãã
POST /sparql/ HTTP/1.1 Host: www.example User-agent: my-sparql-client/0.1 Content-type: application/xml <?xml version="1.0"?> <rdf-query xmlns="http://example.org/SparqlX/"> <select><variable name="book"/><variable name="who"/></select> <query-pattern> <triple-pattern> <subject><variable name="book"/></subject> <predicate><uri>http://purl.org/dc/elements/1.1/creator</uri></predicate> <object><variable name="who"/></object> </triple-pattern> </query-pattern> </rdf-query>
ãµã¼ãã¹ããæä¾ãããRDFãã¼ã¿ã»ããã«å¯¾ãããã®ã¯ã¨ãªï¼ãã®SPARQLã¯ã¨ãªã®ãµã¼ãã¹ã«ãã£ã¦å®è¡ãããï¼ã¯ã次ã®ã¯ã¨ãªçµæãè¿ãã¾ãã
HTTP/1.1 200 OK Date: Fri, 06 May 2005 20:55:12 GMT Server: Apache/1.3.29 (Unix) PHP/4.3.4 DAV/1.0.3 Connection: close Content-Type: application/sparql-results+xml <?xml version="1.0"?> <sparql xmlns="http://www.w3.org/2005/sparql-results#"> <head> <variable name="book"/> <variable name="who"/> </head> <results distinct="false" ordered="false"> <result> <binding name="book"><uri>http://www.example/book/book5</uri></binding> <binding name="who"><bnode>r29392923r2922</bnode></binding> </result> ... <result> <binding name="book"><uri>http://www.example/book/book6</uri></binding> <binding name="who"><bnode>r8484882r49593</bnode></binding> </result> </results> </sparql>2.3 SOAPãã¤ã³ãã£ã³ã°
[WSDL2-Adjuncts]ã§ã¯ãæ½è±¡çãªã¤ã³ã¿ã¼ãã§ã¼ã¹ã»ãªãã¬ã¼ã·ã§ã³ãSOAPã«ãã¤ã³ãã£ã³ã°ããææ®µãå®ç¾©ãã¦ãã¾ããquery
ãªãã¬ã¼ã·ã§ã³ï¼protocol-query.wsdlã®ï¼ã«å¯¾ããSOAPãã¤ã³ãã£ã³ã°ã¯ä»¥ä¸æ¬¡ã®éãã§ãã
<binding name="querySoap" interface="SparqlQuery" type="http://www.w3.org/2006/01/wsdl/soap" wsoap:version="1.2" wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP"> <fault ref="tns:MalformedQuery" wsoap:code="soap:Sender" /> <fault ref="tns:QueryRequestRefused" wsoap:code="soap:Sender" /> <operation ref="tns:query" wsoap:mep="http://www.w3.org/2003/05/soap/mep/request-response" /> </binding>
SparqlQuery
ã®query
ãªãã¬ã¼ã·ã§ã³ã®SOAPãã¤ã³ãã£ã³ã°ã®ååã¯querySoap
ã§ãSOAPãèå¥ããURIã«è¨å®ããã¦ããtype
屿§ã®å¤ãçç±ã§SOAPãã¤ã³ãã£ã³ã°ã¨ãªã£ã¦ãã¾ããSOAPã®ãã¼ã¸ã§ã³ã¯1.2
ã§ãããã®SOAPãã¤ã³ãã£ã³ã°ã«ç¨ããããåºæ¬çãªãããã³ã«ã¯ãwsoap:protocol
屿§ã®URIå¤ã§æ±ºã¾ããHTTPã§ããSPARQLãããã³ã«ãµã¼ãã¹ããhttp://www.w3.org/2003/05/soap/bindings/HTTP
ã«è¨å®ããã{http://www.w3.org/2006/01/wsdl/soap, protocol}
屿§ã®å¤ãæã¤SOAPãã¤ã³ãã£ã³ã°ããµãã¼ããã¦ããå ´åãããã¯protocol-query.wsdlã§è¿°ã¹ã¦ããããã«ãã¤ã³ãã£ã³ã°ããµãã¼ãããªããã°ãªãã¾ããï¼mustï¼ãHTTP以å¤ã®è»¢éãããã³ã«ã«è¨å®ãããwsoap:protocol
ã®å¤ãæã¤SOAPãã¤ã³ãã£ã³ã°ã¯ããã®ããã¥ã¡ã³ãã§ã¯èª¬æãã¾ããã
2ã¤ã®fault
è¦ç´ ã¯ãSparqlQuery
ã¤ã³ã¿ã¼ãã§ã¼ã¹ã§å®ç¾©ããããã©ã«ãã»ã¡ãã»ã¼ã¸ãåç
§ãã¾ãã
æå¾ã«ãoperation
è¦ç´ ã¯ãä¸è¨ã®æç²1.0ã§ä»¥åã«è¿°ã¹ãSparqlQuery
ã¤ã³ã¿ã¼ãã§ã¼ã¹ã®query
ãªãã¬ã¼ã·ã§ã³ãåç
§ãã¾ããSOAPãã¤ã³ãã£ã³ã°ã¯ããªãã¬ã¼ã·ã§ã³ãåºæ¬çãªä¼éãããã³ã«ã¨ãã¦HTTPã使ç¨ãã¦ããã¨è¿°ã¹ããããwsoap:mep
屿§ã®å¤ã¯ãã©ã®HTTPã¡ã½ããã使ç¨ãããããæ±ºå®ãã¾ãããã®ãªãã¬ã¼ã·ã§ã³ã¯ãhttp://www.w3.org/2003/05/soap/mep/request-response
ã®SOAPã¡ãã»ã¼ã¸äº¤æãã¿ã¼ã³ãã£ã¦å®è£
ããã¦ããã¨è¿°ã¹ããã¦ããã[SOAP12]ã®7.4é
ããµãã¼ãããã¦ããæ©è½ãã«å¾ããããã¯HTTP POST
ã¡ã½ããã«ãã¤ã³ãã£ã³ã°ããã¦ãã¾ãã
POST /services/sparql-query HTTP/1.1 Content-Type: application/soap+xml Accept: application/soap+xml, multipart/related, text/* User-Agent: Axis/1.2.1 Host: www.example SOAPAction: "" Content-Length: 438 <?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <query-request xmlns="http://www.w3.org/2005/09/sparql-protocol-types/#"> <query>SELECT ?z {?x ?y ?z . FILTER regex(?z, 'Harry')}</query> </query-request> </soapenv:Body> </soapenv:Envelope>
HTTP/1.1 200 OK Content-Type: application/soap+xml <?xml version="1.0" encoding="utf-8"?> <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <query-result xmlns="http://www.w3.org/2005/09/sparql-protocol-types/#"> <ns1:sparql xmlns:ns1="http://www.w3.org/2005/sparql-results#"> <ns1:head> <ns1:variable name="z"/> </ns1:head> <ns1:results distinct="false" ordered="false"> <ns1:result> <ns1:binding name="z"> <ns1:literal>Harry Potter and the Chamber of Secrets</ns1:literal> </ns1:binding> </ns1:result> ... <ns1:result> <ns1:binding name="z"> <ns1:literal>Harry Potter and the Half-Blood Prince</ns1:literal> </ns1:binding> </ns1:result> <ns1:result> <ns1:binding name="z"> <ns1:literal>Harry Potter and the Goblet of Fire</ns1:literal> </ns1:binding> </ns1:result> <ns1:result> <ns1:binding name="z"> <ns1:literal>Harry Potter and the Philosopher's Stone</ns1:literal> </ns1:binding> </ns1:result> <ns1:result> <ns1:binding name="z"> <ns1:literal>Harry Potter and the Order of the Phoenix</ns1:literal> </ns1:binding> </ns1:result> <ns1:result> <ns1:binding name="z"> <ns1:literal>Harry Potter and the Prisoner Of Azkaban</ns1:literal> </ns1:binding> </ns1:result> </ns1:results> </ns1:sparql> </query-result> </soapenv:Body> </soapenv:Envelope>3. æ¹éã«é¢ããçæç¹ 3.1 ã»ãã¥ãªãã£
SPARQLãããã³ã«ã»ãµã¼ãã¹ã«å¯¾ããDoSæ»æï¼denial-of-service attackï¼ã®åå ã¨ãªãå¯è½æ§ãå°ãªãã¨ã2ã¤ãããã¾ããã¾ãæåã«ãå¶ç´ãä¸è¶³ãã¦ããã¯ã¨ãªã¯ãé常ã«å¤ãã®çµæãããããå¯è½æ§ãããããããããå¦çããããã¾ã¨ããããè¿ãããããããã«å¤§ããªã³ã³ãã¥ã¼ã¿è³æºã®æ¶è²»ãå¿ è¦ã¨ããããããã¾ãããå¥ã®ããããåå ã¯ãé常ã«è¤é㪗—æ å ±æºã®å¤§ãããæ¤ç´¢ãã¹ãè³æºã®æ°ãã¾ãã¯ããµã¤ãºã¨æ°ã®çµã¿åããã®ããããã®ããã§——RDFãã¼ã¿ã»ããè¨è¿°ãå«ãã¯ã¨ãªã§ããµã¼ãã¹ã¯ã帯åå¹ ãCPUãã¾ãã¯è£å©è¨æ¶è£ ç½®ãå«ãè³æºã®å¤§ããªæ¶è²»ãªãã«ã¯ããã®è¨è¿°ãã¾ã¨ããããªãããããã¾ããããã®ãããªæ¶è²»ããäºå®ä¸ãDoSæ»æãå¼ãèµ·ããå ´åããããã¾ããSPARQLãããã³ã«ã»ãµã¼ãã¹ã¯ãæ¤ç´¢ããè³æºãã¾ãã¯ãå¤é¨è³æºãæ¤ç´¢ããå²åã«å¶éã課ããã¨ãã§ãã¾ãï¼mayï¼ãSPARQLã¯ã¨ãªå¦çãµã¼ãã¹ã«ã¯ãä»ã«ãDoSæ»æã®åå ãããããããã¾ããã
SPARQLãããã³ã«ã»ãµã¼ãã¹ã¯ãã¯ã©ã¤ã¢ã³ãã®ä»£ããã«ä»ã®å ãµã¼ãã«HTTPãªã¯ã¨ã¹ããè¡ãããããä»ã®ãµã¤ãããµã¼ãã¹ã«å¯¾ããæ»æã®é²è·¯ã¨ãã¦ä½¿ç¨ãããããããã¾ããããããã£ã¦ãSPARQLãããã³ã«ã»ãµã¼ãã¹ããäºå®ä¸ããµã¼ãã»ãã¼ãã£ã¼ã»ã¯ã©ã¤ã¢ã³ãã®ãããã·ã¨ãã¦åä½ãããã¨ããããã¾ãããã®ãããªãµã¼ãã¹ã¯ãæ¤ç´¢ããè³æºãã¾ãã¯ãå¤é¨è³æºãæ¤ç´¢ã§ããå²åã«å¶éã課ããã¨ãã§ãã¾ãï¼mayï¼ãSPARQLãããã³ã«ã»ãµã¼ãã¹ã¯ããµã¼ãã»ãã¼ãã£ã¼ã®å ãµã¼ãããµã¼ãã¹ã«é¢ããã¯ã©ã¤ã¢ã³ãã®ãªã¯ã¨ã¹ãã®ãã¬ã¼ã¹ã容æã«ãããããªæ¹æ³ã§ããã®ãã°ãåããã¨ãã§ãã¾ãï¼mayï¼ã
SPARQLãããã³ã«ã»ãµã¼ãã¹ã¯ãããããä»ã®è²»ç¨ã®ãããï¼ããã§ãªããã°å±éºãªï¼ã¯ã¨ãªãæ¤åºããããæéã¾ãã¯ã¡ã¢ãªã®é度ãã¯ã¨ãªã«èª²ãããDoSæ»æã«å¯¾ããå½è©²ãµã¼ãã¹ã®ï¼ã¾ããä»ã®ãµã¼ãã¹ã®ï¼èå¼±æ§ãæ¸å°ãããããã«ä»ã®å¶éã課ããã鏿ã§ãã¾ãï¼mayï¼ããããã¯ããã®ãããªã¯ã¨ãªã»ãªã¯ã¨ã¹ãã®å¦çãæå¦ãããã¨ãã§ãã¾ãï¼mayï¼ã
ç°ãªãIRIãåãå¤è¦³ãæã£ã¦ããããããã¾ãããç°ãªãã¹ã¯ãªããã®æåããåãã«è¦ããããããã¾ããï¼ããªã«æåã®ãоãã¯ã©ãã³æåã®ãoãã¨åãã«è¦ããããããã¾ããï¼ãçµåæåãå¾ç¶ããæåã¯ãå¥ã®æåã¨åãè¦è¦è¡¨ç¾ãæã£ã¦ããããããã¾ããï¼çµåã¢ãã¥ã¼ãã»ã¢ã¯ã»ã³ããå¾ç¶ããã©ãã³å°æåEã¯ãã¢ãã¥ã¼ãä»ãã©ãã³å°æåEã¨åãè¦è¦ç表ç¾ãæã£ã¦ãã¾ãï¼ãSPARQLã®ã¦ã¼ã¶ã¯ã注æãã¦ãã¼ã¿ä¸ã®IRIã«ãããããIRIãæã¤ã¯ã¨ãªãæ§ç¯ããªããã°ãªãã¾ãããé¡ä¼¼ãã¦ããæåã®ãããã³ã°ã«é¢ãã詳細ã¯ãUnicodeã»ãã¥ãªãã£ã«é¢ããçæç¹ [UNISEC]ããã³IRIï¼Internationalized Resource Identifiersï¼ [RFC3987]ã®8é ã«ããã¾ãã
4. é©åæ§RDFç¨SPARQLãããã³ã«ï¼ãã®ããã¥ã¡ã³ãï¼ã®åé¨ã®ã¹ãã¼ã¿ã¹ã¯æ¬¡ã®éãã§ãã
ããã«ãprotocol-query.wsdlã¨protocol-types.xsdã¯ã両æ¹ã¨ãè¦ç¯çã§ãã
é©åSPARQLãããã³ã«ã»ãµã¼ãã¹ã¯ã
SparqlQuery
ã¤ã³ã¿ã¼ãã§ã¼ã¹ãå®è£
ããªããã°ãªãã¾ããï¼mustï¼ãSparqlQuery
ã¤ã³ã¿ã¼ãã§ã¼ã¹ã®query
ãªãã¬ã¼ã·ã§ã³ã®HTTPã¨SOAPã®ä¸¡æ¹ã®ãã¤ã³ãã£ã³ã°ãå®è£
ã§ãã¾ãï¼mayï¼ãquery
ã®HTTPã¾ãã¯SOAPã®ãã¤ã³ãã£ã³ã°ãå®è£
ããªããã°ãªãã¾ããï¼mustï¼ãquery
ãªãã¬ã¼ã·ã§ã³ã®ãã¤ã³ãã£ã³ã°ãå®è£
ã§ãã¾ãï¼mayï¼ãããã¦ãDAWGãç¹ã«Bijan ParsiaãBryan ThompsonãAndy SeaborneãSteve HarrisãEric Prud'hommeauxãYoshio FUKUSHIGEãHoward KatzãDirk-Willem van GulikãDan Connollyãããã³Lee Feigenbaumã«æè¬ãã¾ãããã®å¯å¤§ãªæ´å©ã¨ãµãã¼ãã«å¯¾ããElias Torresã«ç¹ã«æè¬ãã¾ããã¾ããç§ã®UMDã®ååã§ããJim HendlerãRon AlfordãAmy AlfordãYarden KatzãChris Testaãããã³Mindlab Semantic Web Undergraduate Socialã®ã¡ã³ãã¼ã«ãæè¬ãã¾ããç§ã®NASAã®ååã§ããå人ã§ãããAndy Schainã«ç¹ã«æè¬ãã¾ããJacek KopeckyãMorten FrederiksenãMark BakerãJan AlgermissenãDanny AyersãBernd SimonãGraham KlyneãArjohn KampmanãTim Berners-LeeãDan BrickleyãPatrick SticklerãKarl DubostãJonathan MarshãLeigh DoddsãDavid WoodãReto KrummenacherãThomas RoesslerãDanny WeitznerãPaul DowneyãHugo HaasãRichard Newmanã«ãæè¬ãã¾ãã
夿´å±¥æ´2007å¹´11æã®å§åæ¡ä»¥å¾ã1ã¤ã®å¤æ´ããããtext/turtle
ã®ã¡ãã£ã¢ã»ã¿ã¤ããç¨ããããã«CONSTRUCTã¨ã·ã³ãã«ãªRDFã®ä¾ãæ´æ°ããã¡ãã£ã¢ã»ã¿ã¤ãã®ç»é²ãé²è¡ä¸ã§ãããã¨ã注è¨ããã
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4