N3(N-triple)Validator
N3 EXAMPLES
A Java Program that can read write N3
reference
TERMS:
OWL: Web Ontology Languages
RDF: RESOURCE DESCRIPTION
FRAMEWORK
example of RDF:
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.
The property which tells you what type something is is
a Person linvedIn a Place
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/
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.
– 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 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.
: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.
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.n3a 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