ec-geolink / design

Design information about the EarthCube Geolink project.
8 stars 1 forks source link

How to use Identifier, IdenifierScheme, and IdentifierValue #89

Closed sparkji closed 8 years ago

sparkji commented 8 years ago

These are triples we created for a R2R cruise identifier. http://data.rvdata.us/id/cruise/HX203 glbase:hasIdentifier :cruiseHX203 . :cruiseHX203 rdf:type glbase:Identifier . :cruiseHX203 glbase:hasIdentifierScheme http://purl.org/spar/datacite/doi . :cruiseHX203 glbase:hasIdentifierValue "10.7284/901886" .

But, “IdentifierScheme” is Object Property in glbase, should we create triples like below rather than list above:

http://data.rvdata.us/id/cruise/HX203 glbase:hasIdentifier :cruiseHX203 . :cruiseHX203 rdf:type glbase:Identifier . :cruiseHX203 glbase:hasIdentifierScheme cruiseHX203Identifier . :cruiseHX203 glbase:hasIdentifierValue "10.7284/901886" . cruiseHX203Identifier rdf:type glbase:IdentifierScheme . cruiseHX203Identifier owl:sameAs http://purl.org/spar/datacite/doi .

amoeba commented 8 years ago

I think your first example is fine. So long as the subject of your triple:

_:cruiseHX203 glbase:hasIdentifierScheme http://purl.org/spar/datacite/doi .

is a URI and not an RDF literal. Then glbase:hasIdentifierScheme being an Object Property is fine. Am I understanding your question correctly?

A side note: We talked about what to put in the hasIdentifierValue triple as a subject and I think we agreed to prefix things like DOIs with doi: so your glbase:hasIdentifierValue triple would have a subject of "doi:10.7284/901886". See https://github.com/ec-geolink/design/blob/master/data/dataone/canonical-identifiers.md.

sparkji commented 8 years ago

It make sense. I just have a little confuse on ObjectProperty and DataProperty. My understanding was ObjectProperty must company with an instance of a specific class matching with the range of ObjectProperty. It is wrong, right?

Thanks for your explanation!

phitzler commented 8 years ago

Yes,

ObjectProperties have individuals (class instances) as fillers (i.e., in the object position of the triple)

While DataProperties have datatype values (e.g. "xyz"^^xsd:string) as fillers (in the object position of the triple)

It's somewhat confusing that the "object" in ObjectProperty has a different meaning than "object" as in an RDF triple. The description logic people call them "abstract" and call the DataProperties "concrete", which is a bit less ambiguous but didn't make it into the standard documents.

Pascal.

-----Original Message----- From: Peng [mailto:notifications@github.com] Sent: Tuesday, March 8, 2016 11:33 AM To: ec-geolink/design design@noreply.github.com Subject: Re: [design] How to use Identifier, IdenifierScheme, and IdentifierValue (#89)

It make sense. I just have a little confuse on ObjectProperty and DataProperty. My understanding was ObjectProperty must company with an instance of a specific class matching with the range of ObjectProperty. It is wrong, right?

Thanks for your explanation!

— Reply to this email directly or view it on GitHub https://github.com/ec- geolink/design/issues/89#issuecomment-193851782 . https://github.com/notifications/beacon/AJNbInmcWfRcfN2NR_CjAOXH9J8 HTY7hks5praTKgaJpZM4Hr4VC.gif

amoeba commented 8 years ago

Oops! I wrote out my reply above too hastily, "So long as the subject of your triple:" should have read "So long as the object of your triple:". Doesn't look like I confused anything but my apologies.

@sparkji can we close this issue or do you have any other questions? Go ahead and close if you're all set.

Thanks!

kjano commented 8 years ago

IMHO, the names are not confusing. They just go back to a programmer's perspective in which we distinguish between objects (such as a buildings) and data types such as integers for their height. The term 'object' in RDF triples simply (and informally) refers to the position of a resource in a statement. Such an RDF object can be a subject of some other triple or a literal. In other words, semantics is a all about context and thus the term 'object' has different meanings in the realms of programming/modeling and linguistics.

Cheers, Jano

On 03/08/2016 09:14 AM, phitzler wrote:

Yes,

ObjectProperties have individuals (class instances) as fillers (i.e., in the object position of the triple)

While DataProperties have datatype values (e.g. "xyz"^^xsd:string) as fillers (in the object position of the triple)

It's somewhat confusing that the "object" in ObjectProperty has a different meaning than "object" as in an RDF triple. The description logic people call them "abstract" and call the DataProperties "concrete", which is a bit less ambiguous but didn't make it into the standard documents.

Pascal.

-----Original Message----- From: Peng [mailto:notifications@github.com] Sent: Tuesday, March 8, 2016 11:33 AM To: ec-geolink/design design@noreply.github.com Subject: Re: [design] How to use Identifier, IdenifierScheme, and IdentifierValue (#89)

It make sense. I just have a little confuse on ObjectProperty and DataProperty. My understanding was ObjectProperty must company with an instance of a specific class matching with the range of ObjectProperty. It is wrong, right?

Thanks for your explanation!

— Reply to this email directly or view it on GitHub https://github.com/ec- geolink/design/issues/89#issuecomment-193851782 . https://github.com/notifications/beacon/AJNbInmcWfRcfN2NR_CjAOXH9J8 HTY7hks5praTKgaJpZM4Hr4VC.gif

— Reply to this email directly or view it on GitHub https://github.com/ec-geolink/design/issues/89#issuecomment-193874249.

Krzysztof Janowicz

Geography Department, University of California, Santa Barbara 4830 Ellison Hall, Santa Barbara, CA 93106-4060

Email: jano@geog.ucsb.edu Webpage: http://geog.ucsb.edu/~jano/ Semantic Web Journal: http://www.semantic-web-journal.net