我试图从Python中的etrade api(sandbox)获取一个oauth请求令牌:
import requests
from oauthlib.oauth1 import Client
consumer_key = 'foo' # actual key used
consumer_secret = 'bar' # actual secret used
request_url = 'https://etwssandbox.etrade.com/oauth/sandbox/request_token'
client = Client(consumer_key, client_secret = consumer_secret)
uri, headers, body = client.sign(request_url)
add_params = ', realm="", oauth_token= "", oauth_callback="oob"'
headers['Authorization'] += add_params
r = requests.get(url = uri, headers = headers)
print(r.text) # abbreviated resp: " . . . .auth_problem=consumer_key_rejected,oauth_problem_advice=The oauth_consumer_key foo can be used only in SANDBOX environment . . .
Run Code Online (Sandbox Code Playgroud)
生成的标题是:
{'Authorization': 'OAuth oauth_nonce="99985873301258063061424248905", oauth_timestamp="1424248905", …Run Code Online (Sandbox Code Playgroud) 我有这个 rdf 文件:
<!DOCTYPE rdf:RDF [
<!ENTITY db "http://dbpedia.org/ontology/" >
<!ENTITY owl "http://www.w3.org/2002/07/owl#" >
<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
<!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
<!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >]>
<rdf:RDF xmlns="http://dbpedia.org/ontology/"
xml:base="http://dbpedia.org/ontology/"
xmlns:db="http://dbpedia.org/ontology/"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<owl:ObjectProperty rdf:about="&db;actingHeadteacher">
<rdfs:label xml:lang="el">?????????? ????????</rdfs:label>
<rdfs:label xml:lang="en">acting headteacher</rdfs:label>
</owl:ObjectProperty>
</rdf:RDF>
Run Code Online (Sandbox Code Playgroud)
并希望通过 lang 值过滤 Literal 对象。例如:
from rdflib import Graph
from rdflib.namespace import RDFS
filetype = util.guess_format(rdf_file)
g = Graph()
g.parse(rdf_file, format = filetype)
for s,p,o in g.triples((None, RDFS.label, None)):
print(repr(o)) # rdflib.term.Literal('acting headteacher', lang='en')
# rdflib.term.Literal('?????????? …Run Code Online (Sandbox Code Playgroud)