我想使用一个短前缀在rdflib中指定一个名称空间,但是遇到了麻烦。我认为答案必须非常简单。这是有问题的代码:
g = rdflib.parse("some_rdf.rdf")
rdf=rdflib.Namespace("http://www.w3.org/1999/02/22-rdf-syntax-ns#")
print "Name Spaces:"
for ns in g.namespaces():
    print ns
print "Matching Triples"
print "length of type full uri",len([i for i in g.triples((None,rdflib.term.URIRef('http://www.w3.org/1999/02/22-rdf-syntax-ns#type'),None))])
print "length of type truncated uri",len([i for i in g.triples((None,rdflib.term.URIRef('rdf:type'),None))])
print "length of type , using namespace",len([i for i in g.triples((None,rdf.type,None))])
输出为:
Name Spaces:
('xml', rdflib.term.URIRef('http://www.w3.org/XML/1998/namespace'))
(u'foaf', rdflib.term.URIRef('http://xmlns.com/foaf/0.1/'))
(u'z', rdflib.term.URIRef('http://www.zotero.org/namespaces/export#'))
('rdfs', rdflib.term.URIRef('http://www.w3.org/2000/01/rdf-schema#'))
(u'bib', rdflib.term.URIRef('http://purl.org/net/biblio#'))
(u'dc', rdflib.term.URIRef('http://purl.org/dc/elements/1.1/'))
(u'prism', rdflib.term.URIRef('http://prismstandard.org/namespaces/1.2/basic/'))
('rdf', rdflib.term.URIRef('http://www.w3.org/1999/02/22-rdf-syntax-ns#'))
(u'dcterms', rdflib.term.URIRef('http://purl.org/dc/terms/'))
Matching Triples
length of type full uri 132
length of type …访问rdf列表成员的最佳方法是什么?我正在使用rdflib(python),但在普通的SPARQL中给出的答案也可以(这种类型的答案可以通过rdfextras,一个rdflib帮助程序库使用).
我正在尝试访问由Zotero生成的rdf中的特定期刊文章的作者(为简洁起见,已删除了一些字段):
<rdf:RDF
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns:z="http://www.zotero.org/namespaces/export#"
 xmlns:dcterms="http://purl.org/dc/terms/"
 xmlns:bib="http://purl.org/net/biblio#"
 xmlns:foaf="http://xmlns.com/foaf/0.1/"
 xmlns:dc="http://purl.org/dc/elements/1.1/"
 xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/"
 xmlns:link="http://purl.org/rss/1.0/modules/link/">
    <bib:Article rdf:about="http://www.ncbi.nlm.nih.gov/pubmed/18273724">
        <z:itemType>journalArticle</z:itemType>
        <dcterms:isPartOf rdf:resource="urn:issn:0954-6634"/>
        <bib:authors>
            <rdf:Seq>
                <rdf:li>
                    <foaf:Person>
                        <foaf:surname>Lee</foaf:surname>
                        <foaf:givenname>Hyoun Seung</foaf:givenname>
                    </foaf:Person>
                </rdf:li>
                <rdf:li>
                    <foaf:Person>
                        <foaf:surname>Lee</foaf:surname>
                        <foaf:givenname>Jong Hee</foaf:givenname>
                    </foaf:Person>
                </rdf:li>
                <rdf:li>
                    <foaf:Person>
                        <foaf:surname>Ahn</foaf:surname>
                        <foaf:givenname>Gun Young</foaf:givenname>
                    </foaf:Person>
                </rdf:li>
                <rdf:li>
                    <foaf:Person>
                        <foaf:surname>Lee</foaf:surname>
                        <foaf:givenname>Dong Hun</foaf:givenname>
                    </foaf:Person>
                </rdf:li>
                <rdf:li>
                    <foaf:Person>
                        <foaf:surname>Shin</foaf:surname>
                        <foaf:givenname>Jung Won</foaf:givenname>
                    </foaf:Person>
                </rdf:li>
                <rdf:li>
                    <foaf:Person>
                        <foaf:surname>Kim</foaf:surname>
                        <foaf:givenname>Dong Hyun</foaf:givenname>
                    </foaf:Person>
                </rdf:li>
                <rdf:li>
                    <foaf:Person>
                        <foaf:surname>Chung</foaf:surname>
                        <foaf:givenname>Jin Ho</foaf:givenname>
                    </foaf:Person>
                </rdf:li>
            </rdf:Seq>
        </bib:authors>
        <dc:title>Fractional photothermolysis for the treatment of acne scars: a report of …在Android上使用OpenGL ES后,是否需要采取任何特定的清理操作来清理,或者一切都自动完成?
我一直在通过Protege查看和玩OWL,我想知道我是否正确理解了"工作流程"和它的想法(从头开始构建数据库:
我想知道其他人在做什么以及他们如何处理这类问题.
另外我有一个具体的问题:
似乎猫头鹰推理器仅用于确定本体的子类超类关系.但就数据而言,如何查询子类 - SPARQL中的超类关系.例如,如果我的三重商店定义(pizzaID1是-a marghareta)并且我在SPARQL中查询素食比萨,我如何确保返回pizzaID1.
我认为答案与生成"全图"有关,其中每个关系都是明确说明的.sparql在查询三重存储时是否进行任何自动推理,或者是否正在生成这样一个完整的图形?
是否有一种简洁的Java导入方式,它等同于以下语句:
import static android.view.View.GONE;
import static android.view.View.INVISIBLE; 
import static android.view.View.VISIBLE;
我知道这件事:
import android.view.View.*;
但我希望能够控制我导入的内容,而不仅仅是导入View命名空间中的所有内容.
答案:答案是否定的.
为什么这一系列的clojure命令返回false而不是true?声明1"C"和2"(引用C)"的结果有什么区别?
; SLIME 2009-03-04
user> ('A 'B 'C)
C
user> (last '('A 'B 'C))
(quote C)
user> (= ('A 'B 'C) (last '('A 'B 'C)))
false
这个问题有点类似于clojure的语法引用是如何工作的?
是否有一个emacs函数可以消除区域中的所有缩进(即在第一个非空白字符之前的所有空格)?
如果没有,我应该在我的.emacs中添加哪些代码片段来完成此操作?
我使用asdf定义了一个常见的lisp包,它使用了parenscript和clsql.
但是这些软件包在函数GET-TIME周围存在命名冲突.加载模块后,我可以在提示符下手动解决冲突(代码可能不准确):
Select a symbol to be made accessible in package MY_PACKAGE:
   1. PS-JS-SYMBOLS:GET-TIME
   2. CLSQL-SYS:GET-TIME
我选择选项1.
修改项目的最佳方法是什么,以便自动解决此冲突?
我是否修改.asd文件或project.lisp文件?
我认为答案可能与:shadowing-import-from有关,但我并不真正理解该文档页面上给出的示例.