Monday, April 15, 2013

Business_Process_Modeling_BPMN

Resource Description Framework (RDF)

N3(N-triple)Validator

N3 EXAMPLES

Java Program that can read write N3

reference 

TERMS:

OWL: Web Ontology Languages 


RDF: RESOURCE DESCRIPTION FRAMEWORK 

example of RDF:


The fundamental concepts of RDF are: 
resources
properties
statements 

Tutorial to RDF
http://www.rdfabout.com/quickintro.xpd
Tutorial to N3
http://www.w3.org/2000/10/swap/Primer
http://eulersharp.sourceforge.net/2004/02swap/RDFEngine/inferencing.htm
http://infomesh.net/2002/notation3/


Graphical Representations


http://www.infowebml.ws/rdf-owl/graphical-representations.htm#member

N3 Example:
 RDF triples

A student record in a database has the following fields: 
- name 
- major 
- student identity number 
- GPA 
- Advisor 

Model this database using RDF triples, by defining the classes and properties. Use the N3 notation. Give the triples for one example student record. 


:student rdf:type rdfs:Class.    //rdf:type  //student是 Class
:name rdf:type rdf:Property.  //name 是 Property
:major rdf:type rdf:Property.
:sin rdf:type rdf:Property.
:gpa rdf:type rdf:Property.
:advisor rdf:type rdf:Property.


:name rdfs:domain :student.  //Property - name 属于 student (Class student 拥有Property - name)
:major rdfs:domain :student.
:sin rdfs:domain :student.
:gap rdfs:domain :student.
:advisor rdfs:domain rdf:student.

student1 rdf:type :student.     //student1 是 student (instance)
student1 :name "Joe Smith".
student1 :major "Computer Science".
student1 :sin 12345678.
student1 :gpa 3.5.
student1 :advisor faculty17.


The property which tells you what type something is is rdf:type which can be abbreviated to N3 to just a. So we can define a class of person
:Person a rdfs:Class.



Define the following using OWL statements: 
1. A student has exactly one advisor. 
2. A student is uniquely identified by their SIN. 
3. Define the set of honor students as the set of all students whose GPA is 4.0. This is a very strong notion of honor student, but it greatly simplifies the question for you.


1. :advisor rdf:type owl:functionalProperty.
2. :sin rdf:type owl:inverseFunctionalProperty.
3. :honorStudent owl:equivalentClass
      [ a owl:Restriction ;
owl:onProperty :gpa ;
owl:hasValue .40 ]

rdf:domain v.s. rdf:range
There is an example here: http://www.w3.org/2000/10/swap/Primer


The property which tells you what type something is is rdf:type which can be abbreviated to N3 to just a. So we can define a class of person
:Person a rdfs:Class.
In the same document, we could introduce an actual person
:Pat a :Person.
Classes just tell you about the thing which is in them. An object can be in many classes. There doesn't have to be any hierarchical relationship -- think of Person, AnimateObject, Animal, TallPerson, Friend, and so on. If there is a relationship between two classes you can state it - check out the properties (of classes) in the RDF Schema and OWL vocabularies.
:Woman a rdfs:Class; rdfs:subClassOf :Person .
A property is something which is used to declare a relationship between two things.
:sister a rdf:Property.
Sometimes when a relationship exists between two things, you immediately know something about them, which you can express as a class. When the subject of any property must be in a class, that class is a domain of the property. When the object must be in a class, that class is called the range of a property. A property can have many domains and ranges, but typically one specifies one.
:sister rdfs:domain :Person; 
        rdfs:range :Woman.
Note the class identifiers start with capitals and properties with lower case letters. This is not a rule, but it is a good convention to stick to. Note also that because the domain of rdfs:range and rdfs:domain themselves is rdf:Property, it follows that :sister is a rdf:Property without it being stated explicitly.

rdfs:domain vs rdfs:range
Example 
"When the subject of any property must be in a class, that class is a domain of the property. When the object must be in a class, that class is called the range of a property."
http://workingontologist.org/Examples/Chapter3/shakespeare.n3
a Person linvedIn a Place

bio:livedIn
      a       owl:ObjectProperty ;
      rdfs:domain lit:Person ;//subject
      rdfs:label "lived in"^^xsd:string ;
      rdfs:range lit:Place . //object



No comments:

Post a Comment