-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
URL policy about MAS and BASE #98
Comments
if we can replace The use of MAS URL is just that we do not need to a lookup table for creating the URL. ENTSO-E does have some power by defining the URL for the return RDF data will be very difficult. However, we (ENTSO-E) have required the domain:
We have also decided to use https rather than http. What is not clear is if ENTSO-E will host this or it is hosted by individual entity. Most likely this would be a transition where some advance TSO is hosting their own. We can then replace it with their URL or we redirect. |
I guess, this is another good discussion point.
|
I thought we already agreed to use
|
Answering considerations that @Sveino raised in #94 (comment):
But there's no such semantics in RDF (in fact you can't create a node in RDF, you create only triples).
We'll use the same instance URNs in XML and JSON, right?
Ok, but you need to change the MAS in the specific files.
The base determines instance node URLs. The same PSR should have the same URL, regardless in how many models or profiles it appears.
I dislike two things here:
I dislike two things here:
urn:uuid:99ae9f41-0a91-4d21-a483-7398c160da96 a md:FullModel; ## right
## this URL is "wrong" and the pseudo self-reference is useless:
dcterms:references <http://model4powersystem.eu/Statnett-EQCO/urn:uuid:99ae9f41-0a91-4d21-a483- 7398c160da96> |
We are not starting to have very much the same dialog on multiple issues. I do not know how to explain the transition of CIM syntax update. Let me try with this diagram:
The current header information md:Model is not sufficient for the future. Rather then develop our own we would like to reuse DCAT. We are there for missing information in the current CIM XML based on IEC 61970-552:2016. This lead us back to the strategy decision in #116 The comment regarding urn:uuid was related to "_". In CIM JSON-LD we will most like support resolvable and non-resolvable. For non-resolvable we are just using The use of https://model4powersystem.eu/Statnett/ , https://energy.referencedata.eu/Statnett/ or https://statnett.model4powersystem.eu/ is a bit depending on how we can deal with re-direct and access rights- I did not see that we need to make that decision now. However, in regards to JSON-LD instance data specification we need to understand This should not necessary be a topic. How the combination of resolve and non-resolvable will work. Remember that we might not be able to have all TSO ready at the same time. Is this a possible approached: {
"@context": {
"base": "https://energy.referencedata.eu/Model/Statnett-EQOP/",
"dcterms": "http://purl.org/dc/terms/"
},
"@graph": [
{
"@id": "urn:uuid:99ae9f41-0a91-4d21-a483-7398c160da96",
"dcterms:identifier": "99ae9f41-0a91-4d21-a483-7398c160da96",
"dcterms:description": "Example description of a non-resolvable resource",
"dcterms:resolvableURL": {
"@id": "https://energy.referencedata.eu/Model/Statnett-EQOP/urn:uuid:99ae9f41-0a91-4d21-a483-7398c160da96"
}
}
]
} For CIM XML conversion I am in principle OK if we use BASE=MAS or urn:uuid. But the current MAS is not particularly good....
|
As discussed, I think it should be like this: {
"@context": {
"base": "https://energy.referencedata.eu/Statnett/",
"dcterms": "http://purl.org/dc/terms/"
},
"@graph": [
{
"@id": "99ae9f41-0a91-4d21-a483-7398c160da96", // URL resolved against BASE
"dcterms:identifier": "99ae9f41-0a91-4d21-a483-7398c160da96", // string not URL!
"dcterms:description": "Example description of a resolvable resource"
}
]
}
|
I’d like to add to the discussion with some points regarding the use of Context and Issue with NamespacesIn CIM XML (IEC 61970-552), the specification does not define an
While these solutions aim to address compatibility issues with RDF/XML readers like Apache Jena, they introduce a significant problem: the same Impact on Interoperability and QueriesThis lack of consistency results in different SPARQL query results for the same logical object across systems. For example, an
These discrepancies undermine the interoperability CIM XML is meant to facilitate, especially when transitioning between profiles or versions like CGMES 2.4.15 and CGMES 3.0.0. The Case for
|
@arne-bdt What you are raising is definitely a problem that has different layers! The general goal is that all elements in CIM (metadata, instance data and profile definition) are all resolvable. In addition, we can use urn:uuid for instance data that does not support to be resolvable. We are testing out how this can be done in this repository for upcoming version of CIMJSON-LD (new standard that might become IEC 61970-553) for instance data, next edition of IEC 61970-501 (Ed2) for metadata (CIM metamodel). There is an updated version of IEC 61970-552:2016 (ED2). This version was intended to reflect how this was used in CGMES (IEC 61970-600-1/2), but ended up not being a good version so IEC 61970-600-1/2 is deviating about from this standard. The plan is to publish IEC 61970-552 (ED3) that will be inline with CIMJSON-LD in regards to namespace. You can find more information on this in this repo, but this is work in progress. RDF-Syntax User Guide v1.1.0 Talks about general discrepancy between CIM and the updated RDF Syntax standards, Metadata and Document Header Data Exchange Specification v2.4.0 The direction of support DCAT as metadata for dataset. Regional Coordination Process Data Exchange Specification (RCP DES) 2.3.1 In the version note you will find the new namespace that are used in the CGMES Network Code (NC) extension. The plan is that CIM18 will follow the same pattern. |
Note: a search for label:urlpolicy here finds 13 issues.
That is indeed a big problem. It's issue #87 and fixed in https://github.com/Sveino/Inst4CIM-KG/tree/develop/rdf-improved#fix-resource-urls
These are not suitable values for
Indeed!
Yes, but there is a way to fix this problem without resorting to non-resolvable solutions. The CIM/CGMES community is still largely "document-oriented": it thinks of CIM XML files. |
@Sveino @VladimirAlexiev So, has it been decided that In our work, we’ve moved away from treating CIM/XML as files and instead treat it as RDF, primarily using Apache Jena. We ensure stable
If the full instance URI depends on Looking forward to hearing your thoughts on this! |
Hi @arne-bdt ! Formally speaking, the mRID is the pure UUID (or EIC) without the namespace. @Sveino , @arne-bdt , @griddigit-ci , @tviegut
I also posted #144 that muses whether a global resolver is possible for electrical data. |
Hi @VladimirAlexiev, Thanks for your response. I see your point, but I’m concerned that relying on a fixed MAS as a stable base for all URIs may be problematic for several reasons:
Considering these points, introducing an optional property—like |
I think figuring out instance URLs, Models as named graphs, and how instances could be served, is an important topic.
Problem
Instances use relative URLs. but don't specify a BASE, which leads to "random" URLs depending on tool used.
BASE=MAS
One way is to set BASE based on the MAS. Eg (in turtle):
Causes instance URL
<http://www.Statnett.no/IGM/Nordic44_CGM#e2f56599-a78e-494f-8db3-c0b0bdab1d70>
But there are questions (leading to what you may call a URL Policy):
http://www.Statnett.no
will return RDF data? Maybe usedata.statnett.no
or similarhttp
nothttps
? Your sysadmins may not be happy.#
we preclude a client from requesting a single resource (semantic URL). Now consider that the model may have 1M resources and 1B triples...BASE=MAS=model
Maybe the model URN and the MAS should be the same? Don't they represent one and the same thing, namely that set of triples?
After consideration, that is not the case:
Use URNs for Instances
Another way is to reformat instance URIs to be
urn:uuid:
just like the model URN.The text was updated successfully, but these errors were encountered: