I came recently over an example of a modeling of a DatatypeProperty. Firstly, the definitions of the properties themselves:

  rdf:type owl:Class ;
  rdfs:subClassOf owl:Thing .

  rdf:type owl:DatatypeProperty ;
  rdfs:domain efoaf:interest ;
  rdfs:range xsd:duration .

  rdf:type owl:DatatypeProperty ;
  rdfs:domain efoaf:interest ;
  rdfs:range xsd:dateTime .

So there is class called efoaf:interest, which is related to the properties efoaf:lasting_time_interval and efoaf:interest_value_updatetime. Both of them are of the type owl:DatatypeProperty. Secondly, the modeling from the example:

efoaf:lasting_time_interval [
    rdf:value "P9Y"^^xsd:duration ;
    efoaf:interest_value_updatetime "2010-01-17T05:30:00+08:00"^^xsd:dateTime
] ;

From my point of view this is a wrong modeling. However, it forces a bit my point of view, to model DatatypeProperties as inbuilt ObjectProperties, which would make such modeling more or less possible (here the domain of efoaf:interest_value_updatatime must probably be changed to xsd:duration).

What do you think about this modeling?

asked 11 Aug '10, 09:17

zazi's gravatar image

accept rate: 13%

The example doesn't make sense as it stands. You declare both properties as having domain efoaf:interest but you are applying updatetime to the value of interval instead of to the interest.

It's not clear from the description what you are trying to achieve. One guess is that you want to have a resource (e.g. a blank node) represent a literal value so that you can attach some other attributes to the literal. If so then that is possible in OWL full but not this way (since rdf:value has no semantics). You can play tricks such as:

eg:Alice eg:age  [ owl:sameAs 42 ] .

Which does allow you to add other properties to the object-as-literal such as:

eg:Alice eg:age  [ owl:sameAs 42; a xsd:integer ] .

But it's not much use because you can't use this pattern to express the sort things you might want such as a validity interval or a unit-of-measure (years).

permanent link

answered 11 Aug '10, 13:20

Dave%20Reynolds's gravatar image

Dave Reynolds
accept rate: 46%

  1. It wasn't me, who wrote the code. I just transformed the RDF/XML from http://wiki.larkc.eu/e-foaf:interest to Turtle/N3 ;) (with updated properties)
  2. I thought that I could apply owl:sameAs only to OWL Individuals, so is your code really valid? It would be fine, if this is the case. That means then that I can also append further properties to that "object-as-literal", or?
  3. My work around was simply a reification of the property. I included parts of the e-foaf specification in a weighted interests vocabulary extension (http://purl.org/ontology/wi/weightedinterests.n3)
(11 Aug '10, 16:56) zazi zazi's gravatar image

The use case is more or less to attach to more or less every statement a timestamp, so that changes can be tracked after timestamp etc.

(11 Aug '10, 16:58) zazi zazi's gravatar image

My example is not valid in OWL DL but in OWL Full an individual (i.e. an instance of owl:Thing) can denote any thing in the domain of discourse including a literal.

However, that doesn't let you talk about statements but about the literal value itself, this is not a solution to representing timestamps. For that use reification, some embedded time representation or named graphs.

(12 Aug '10, 08:28) Dave Reynolds Dave%20Reynolds's gravatar image

Okay, so my solution seems more or less fine ;) However, I think that common provenance mechanism will be better solution, e.g. by using named graphs. Btw, I also remodeled the example from the efoaf specification with my weighted interests vocabulary extesion, see http://smiy.svn.sourceforge.net/viewvc/smiy/weightedinterests/branches/weightedinterests_v03/examples/N3/wi_-_scientific_research_interests_example.n3

(12 Aug '10, 10:07) zazi zazi's gravatar image

I tried to remodel my current proposal, which uses object-oriented context reification, now with help of Named Graphs. However, I'm unsure if my intended use is currently really possible. Therefore, I uploaded the scientific research interests example, which is modeled with help of the current draft of the Weighted Interests Vocabulary, and the remodeling proposal that uses Named Graphs.
So are reflecting both examples the same semantics, or is the a difference? And which modeling style is "more elegant" here (Object-oriented Context vs. Named Graphs)?

permanent link

answered 25 Aug '10, 10:01

zazi's gravatar image

accept rate: 13%

M. Schneider from http://www.semanticoverflow.com/questions/1315/the-semantics-of-named-graphs:"The RDF(S) semantic conditions have not been specified with named graphs in mind,but only for the original syntax of RDF.They therefore only interact with the triples in the toplevel graph.The triples within a named graph would be invisible to these semantic conditions.It would be necessary to extend the semantics specification of RDF(S) so that triples within named graphs also come in touch with the semantic conditions."That means,the named graph approach wouldn't reflect the same semantic,or?

(01 Sep '10, 17:44) zazi zazi's gravatar image
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:


question asked: 11 Aug '10, 09:17

question was seen: 1,883 times

last updated: 25 Aug '10, 10:01