मैं उल्लू फ़ाइल में अजगर के साथ डेटा पूछने की कोशिश कर रहा हूं जिसे मैंने उल्लू पुस्तकालय का उपयोग करके बनाया है। लेकिन मुझे निम्न त्रुटि मिलती है। क्या कारण होगा?

कोड संरचना और प्राप्त त्रुटि इस प्रकार है।

from owlready2 import *
from urllib.request import urlopen
from rdflib.graph import Graph

onto = default_world.get_ontology("http://muratkilinc.com/ontologies/izmir.owl").load()

graph = default_world.as_rdflib_graph()
r = list(graph.query_owlready("""
    PREFIX uni:<http://muratkilinc.com/ontologies/izmir.owl>
    SELECT ?adi ?soyadi ?yas
    WHERE
    {
        ?turistler uni:yas ?yas.
        ?turistler uni:adi ?adi.
        ?turistler uni:soyadi ?soyadi.
        FILTER(?yas > 35).

    }"""))

results = default_world.as_rdflib_graph().query_owlready(r)
results = list(results)
print(results)

त्रुटि:

* Owlready2 * Warning: optimized Cython parser module 'owlready2_optimized' is not available, 
defaulting to slower Python implementation
Traceback (most recent call last):
  File "c:/Users/BAUM-PC/Desktop/izmir/sparql.py", line 21, in <module>
    results = list(results)
  File "C:\Users\BAUM-PC\AppData\Local\Programs\Python\Python37-32\lib\site- 
packages\owlready2\rdflib_store.py", line 261, in query_owlready
  File "C:\Users\BAUM-PC\AppData\Local\Programs\Python\Python37-32\lib\site- 
packages\rdflib\graph.py", line 1089, in query
    query_object, initBindings, initNs, **kwargs))
  File "C:\Users\BAUM-PC\AppData\Local\Programs\Python\Python37-32\lib\site- 
packages\rdflib\plugins\sparql\processor.py", line 74, in query
    parsetree = parseQuery(strOrQuery)
  File "C:\Users\BAUM-PC\AppData\Local\Programs\Python\Python37-32\lib\site- 
packages\rdflib\plugins\sparql\parser.py", line 1057, in parseQuery
    q = expandUnicodeEscapes(q)
  File "C:\Users\BAUM-PC\AppData\Local\Programs\Python\Python37-32\lib\site- 
packages\rdflib\plugins\sparql\parser.py", line 1048, in expandUnicodeEscapes
    return expandUnicodeEscapes_re.sub(expand, q)
TypeError: expected string or bytes-like object
0
Murat Kılınç 8 पद 2019, 23:07

1 उत्तर

सबसे बढ़िया उत्तर

आपको दूसरी क्वेरी को छोड़ना होगा और त्रुटि संदेश छोड़ दिया जाएगा

from owlready2 import *
from rdflib.graph import Graph

onto = default_world.get_ontology("http://muratkilinc.com/ontologies/izmir.owl").load()

graph = default_world.as_rdflib_graph()

r = list(graph.query_owlready("""
    PREFIX uni:<http://muratkilinc.com/ontologies/izmir.owl>
    SELECT ?adi ?soyadi ?yas
    WHERE
    {
        ?turistler uni:yas ?yas.
        ?turistler uni:adi ?adi.
        ?turistler uni:soyadi ?soyadi.
        FILTER(?yas > 35).
    }"""))

print(list(r))

यह खाली सूची देता है - इसलिए यह त्रुटि संदेश के बिना काम करता है।

खाली सूची अलग समस्या है - क्वेरी के साथ, कोड के साथ नहीं - इसलिए आपको नया प्रश्न पूछना चाहिए।

1
furas 9 पद 2019, 01:33