我有一个名为Foo的类,它有一个内部类Inner.Inner类引用了外部类的字段.
public class Foo
{
int foo = 2;
public class Inner
{
Foo f;
public Inner(Foo f)
{
f=f;
}
public override String ToString()
{
return "Inner[foo="+f.foo+"]" ;
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的计划.
public class Program
{
public static void Main(string[] args)
{
Foo foo=new Foo();
Foo.Inner inner=new Foo.Inner(foo);
Console.WriteLine(inner.ToString());
}
}
Run Code Online (Sandbox Code Playgroud)
编译它没有问题,但是当我运行它时失败了.它给了我一个例外
未处理的异常:System.NullReferenceException:未将对象引用设置为对象的实例.在Foo.Inner.ToString()
这里发生了什么?
我有这样的本体论
<rdf:Description rdf:about="http://www.semanticweb.org/li/ontologies/159702/fcd#W21">
<prop:dm rdf:datatype="http://www.w3.org/2001/XMLSchema#double">99.87</prop:dm>
<prop:den rdf:datatype="http://www.w3.org/2001/XMLSchema#double">0.86</prop:den>
<prop:p rdf:datatype="http://www.w3.org/2001/XMLSchema#double">20.0</prop:p>
<prop:glus rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1.1</prop:glus>
<prop:k rdf:datatype="http://www.w3.org/2001/XMLSchema#double">300.0</prop:k>
<rdf:type rdf:resource="http://www.semanticweb.org/li/ontologies/159702/fcd#Food"/>
<prop:enerc_kcal rdf:datatype="http://www.w3.org/2001/XMLSchema#double">398.24</prop:enerc_kcal>
<rdf>
Run Code Online (Sandbox Code Playgroud)
基本上它描述了一个人(W21)有数据属性断言(dm,den,p,glus,k和enerc_kcal).
如何返回个人使用sparql的所有数据属性.我建立的查询只返回一堆"NamedIndividual"
PREFIX my: <http://www.semanticweb.org/li/ontologies/159702/fcd#>
SELECT ?x
WHERE { my:W21 rdf:type ?x}
Run Code Online (Sandbox Code Playgroud)
对此有何帮助?