|
From: Tomasz P. <tom...@gm...> - 2014-07-03 14:22:25
|
In RDF this is a relation like any other. You state exactly what you
described, that a resource is of a given type. And you declare that
statement with a triple like any other fact about your resources.
You use the predicate rdf:type [1]. There is a handy class called
VDS.RDF.Parsing.RdfSpecsHelper, which contains the correct Uri of the
rdf namespace.
On Thu, Jul 3, 2014 at 4:03 PM, son...@gm...
<son...@gm...> wrote:
> Thank you so much Tom!
>
> there only just one question left:
> Since the target system need to know the class type, i.e.,
> ==> MyClass01Id is a MyClass01
> How can I express this in dotnetrdf?
>
>
> ________________________________
> son...@gm...
>
> From: Tomasz Pluskiewicz
> Date: 2014-07-01 21:53
> To: dotNetRDF Developer Discussion and Feature Request
> Subject: Re: [dotNetRDF-Develop] Writing <rdf:about> as RDF/XML format
> On Tue, Jul 1, 2014 at 12:23 PM, son...@gm...
> <son...@gm...> wrote:
>> Thank you Tom!
>>
>> You are right, basically what I am trying to do is converting following
>> class:
>> -------------------------------------
>> class MyClass01 {
>> public string Property01 {get; set;}
>> public MyClass02 myClass02 {get; set;}
>> }
>> //the instance of class has its own unique id
>>
>
> I strongly suggest that you think in terms of triples or graphs and
> not their serializaitions. So given an instance of MyClass01 you could
> have the following data
>
> <MyClass01Id> <hasProperty01> "the value of this property".
> <MyClass01Id> <hasMyClass02> <MyClass02Id> .
>
> This is all you need. These two triples would be stored the way you
> used in the earlier email (remember to use proper URIs). I know
> nothing about MyClass02 at this point, just the hypothetical id. It
> would add further similar triples
>
> Notice how this notation (NTriples/Turtle) removes any unnecessary
> syntactic clutter and leaves only the subjects, predicates and
> objects.
>
>>
>> -------------------------------------
>> to this kind of text
>> -------------------------------------
>> <rdf:RDF xmlns:rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns#
>> xmlns:KB="http://protege.stanford.edu/kb#">
>> <KB:MyClass01 rdf:about="that unique id">
>> <hasProperty01 >the value of this property</hasProperty01>
>> <MyClass02 rdf:about="the unique id">
>> //MyClass02's content
>> </MyClass02>
>> </KB:EndToEndBlueprintRoot>
>> </rdf:RDF>
>> -------------------------------------
>>
>
> You must keep in mind that with RDF/XML there are multiple ways to
> write the same document. It means that the structure can change, while
> the actual data doesn't.
>
>>
>> Also I have to use this kind of format because it is the input of another
>> system I have to use...
>>
>
> In memory you keep the data (triples) and dotNetRDF helps you save it
> in one of the RDF formats. If the other system requires that you use
> RDF/XML, that's fine but you could save it as Turtle or Notation3.
>
>>
>> Thank you again!
>>
>> ________________________________
>> son...@gm...
>>
>> From: Tomasz Pluskiewicz
>> Date: 2014-07-01 10:13
>> To: dotNetRDF Developer Discussion and Feature Request
>> Subject: Re: [dotNetRDF-Develop] Writing <rdf:about> as RDF/XML format
>> On Tue, Jul 1, 2014 at 7:44 AM, son...@gm...
>> <son...@gm...> wrote:
>>> Hi, all
>>>
>>> I am trying to write a RDF/XML like follows:
>>> -------------------------------------------------------
>>> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
>>> xmlns:KB="http://protege.stanford.edu/kb#">
>>> <KB:EndToEndBlueprintRoot
>>> rdf:about="http://protege.stanford.edu/kb#DemoRootImagineID001">
>>> xxxxx
>>> </KB:EndToEndBlueprintRoot>
>>> </rdf:RDF>
>>> -------------------------------------------------------
>>>
>>
>> First of all this document is not a valid RDF/XML.
>>
>>> Here is my code
>>> -------------------------------------------------------
>>> INode s = g.CreateUriNode("kb:"+"EndToEndBlueprintRoot");
>>> INode p = g.CreateUriNode("rdf:about");
>>> INode o = g.CreateUriNode("kb:"+"DemoRootImagineID001");
>>>
>>> g.Assert(new Triple(s,p,o));
>>>
>>> RdfXmlWriter rxw = new RdfXmlWriter();
>>> string res = VDS.RDF.Writing.StringWriter.Write(g, rxw);
>>> -------------------------------------------------------
>>>
>>
>> Secondly, the rdf:about is just a RDF/XML syntax feature and not a
>> predicate. It denotes that part of an RDF/XML document is grouped with
>> a common subject. Please read [1].
>>
>> You should think in terms of triples, which define a relation
>> (predicate) between two objects (subjects and objects). That is much
>> like in natural language.
>>
>>>
>>> But only got this
>>> -------------------------------------------------------
>>> <rdf:RDF xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
>>> xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns="http://example.org/"
>>> xmlns:a="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
>>> xmlns:kb="http://protege.stanford.edu/kb#"
>>> xmlns:ns0="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
>>> xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
>>> <rdf:Description rdf:about="&kb;EndToEndBlueprintRoot">
>>> xxx
>>> <ns3:about xmlns:ns3="http://protege.stanford.edu/system#"
>>> rdf:resource="&kb;DemoRootImagineID001" />
>>> </rdf:Description>
>>> </rdf:RDF>
>>> -------------------------------------------------------
>>>
>>> Is my usage correct? or how can I output the format that I want?
>>> What is the appropriate writing of "rdf:about"?
>>>
>>
>> You probably mean kb:DemoRootImagineID001 as you subject, that is the
>> thing you want to describe in your document. Is that right?
>>
>> Please describe what kind of data you want your document to contain.
>>
>>>
>>> Any suggestion will be appreciated!
>>>
>>> ________________________________
>>> son...@gm...
>>>
>>
>> Regards,
>> Tom
>>
>> [1]
>>
>> http://stackoverflow.com/questions/7118326/differences-between-rdfresource-rdfabout-and-rdfid
>>
>>
>> ------------------------------------------------------------------------------
>> Open source business process management suite built on Java and Eclipse
>> Turn processes into business applications with Bonita BPM Community
>> Edition
>> Quickly connect people, data, and systems into organized workflows
>> Winner of BOSSIE, CODIE, OW2 and Gartner awards
>> http://p.sf.net/sfu/Bonitasoft
>> _______________________________________________
>> dotNetRDF-develop mailing list
>> dot...@li...
>> https://lists.sourceforge.net/lists/listinfo/dotnetrdf-develop
>>
>>
>> ------------------------------------------------------------------------------
>> Open source business process management suite built on Java and Eclipse
>> Turn processes into business applications with Bonita BPM Community
>> Edition
>> Quickly connect people, data, and systems into organized workflows
>> Winner of BOSSIE, CODIE, OW2 and Gartner awards
>> http://p.sf.net/sfu/Bonitasoft
>> _______________________________________________
>> dotNetRDF-develop mailing list
>> dot...@li...
>> https://lists.sourceforge.net/lists/listinfo/dotnetrdf-develop
>>
>
> ------------------------------------------------------------------------------
> Open source business process management suite built on Java and Eclipse
> Turn processes into business applications with Bonita BPM Community Edition
> Quickly connect people, data, and systems into organized workflows
> Winner of BOSSIE, CODIE, OW2 and Gartner awards
> http://p.sf.net/sfu/Bonitasoft
> _______________________________________________
> dotNetRDF-develop mailing list
> dot...@li...
> https://lists.sourceforge.net/lists/listinfo/dotnetrdf-develop
>
> ------------------------------------------------------------------------------
> Open source business process management suite built on Java and Eclipse
> Turn processes into business applications with Bonita BPM Community Edition
> Quickly connect people, data, and systems into organized workflows
> Winner of BOSSIE, CODIE, OW2 and Gartner awards
> http://p.sf.net/sfu/Bonitasoft
> _______________________________________________
> dotNetRDF-develop mailing list
> dot...@li...
> https://lists.sourceforge.net/lists/listinfo/dotnetrdf-develop
>
|